• python征程3.0(python对象)


    1.python使用对象模型来存储数据。构造任何类型的值都是一个对象。”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本。

    python对象都拥有三个特性:(1)身份、(2)类型、(3)值、

    (1)身份:每个对象都有一个唯一的身份来标识自己。可以使用内建函数 id()得到。

    (2)类型:对象的类型,决定了该对象可以保存的类型值。

    (3)值:对象表示的数据项。

    2.标准类型。

    数字(分为几个子类型,中有三个是整形)

    Integer (整形)

    Boolean(布尔型)

    long Integer (长整型)

    complex number(复数型)

    string (字符串)

    list (列表)

    dictionary (字典)

    tuple (元组)

    3.其他内建类型。

    类型对象和type()类型对象。

    注:None没有什么可用的属性,他的布尔值总是false。

    4.内部类型。

    代码

    跟踪记录

    切片

    省略

    5.代码对象。

    (1)帧对象。

    帧对象包含python解释器在运行时所需要的所有信息。

    (2)跟踪记录对象。

    当代码出错,python会直接直接引发异常,并退出。

    6.标准类型操作符。

    (1)对象值比较。

    >>>print([3,4]==[4,3])
    False
    >>>print([3,4]==[3,4])
    True

    我们会从注意到比较操作是针对对象的值进行的,也就是比较的是对象的值,而不是对象本身。

    (2)对象身份比较。

    作为对值比较的补充,Python也支持对像本身的比较。对象可以被赋值到另一个变量(通过引用)。

    因为每个变量都指向同一个(共享的)数据对象,只要任何一个引用发生改变,该对象的其他引用也会随即发生改变。

    例1:foo1和foo2指向相同的对象。

    foo1=foo2=4.3

    从值的角度看,这条语句只是一个多重赋值,将4.3这个值赋给了foo1和foo2这两个变量。

    不过他还有另一层含义。事实是一个值为4.3的数字对象被创建,然后这个对象的引用被赋值给foo1和foo2,结果就是foo1和foo2指向同一个对象。

    例2:foo1和foo2指向相同的对象

    foo1=4.3

    foo2=foo1

    例3:foo1和foo2指向不同的对象。

    foo1=4.3

    foo2=1.3+3.0

    注意:整型对象和字符串对象是不可变对象,所以python会高效的缓存他们。

    >>>a=1,b=1
    >>>id(a)
    8402824
    >>>id(b)
    8402824
    >>>
    >>>c=1.0
    >>>id(c)
    8651220
    >>>d=1.0
    >>>id(d)
    8651204

     7.布尔类型。

    布尔逻辑操作符and,or,和not都是python关键字。

    >>>x,y=3.1415926,-1024
    >>>x<5.0
    True
    >>>not(x<5.0)
    False
    >>>(x<5.0) or (x>2.71828)
    True
    >>>(x<5.0) and (y>2.71828)
    False
    >>>not (x is y)
    True

    8.标准类型内建函数。

    (1)type():接受一个对象作为它的参数,并返回它的类型。(返回值是一个类型对象)

    >>>type(4)
    <type,'int'>
    >>>
    >>>type("hello world")
    <type,'string'>
    >>>
    >>>type(type(4))
    <type,'type'>

    (2)cmp():用以比较两个对象,obj1和obj2。如果obj1<obj2则返回一个负整型。若obj1>obj2则返回一个正整形。若obj1=obj2则返回0。他的行为非常类似于c语言中的strcmp()函数,比较在对象之间进行,不管对象是不是用户自定义的对象。

    >>>a,b=-4,12
    >>>cmp(a,b)
    -1
    >>>cmp(b,a)
    1
    >>>b=-4
    >>>cmp(a,b)
    0
  • 相关阅读:
    通用测试用例(二)
    loadrunner基础学习笔记八-分析场景
    loadrunner基础学习笔记七-面向目标场景
    Detect the Virus ZOJ
    考研路茫茫——单词情结 HDU
    DNA Sequence POJ
    病毒侵袭持续中 HDU
    病毒侵袭 HDU
    Keywords Search HDU
    codeforces 949B :A Leapfrog in the Array 找规律
  • 原文地址:https://www.cnblogs.com/yjds/p/5888511.html
Copyright © 2020-2023  润新知