Python基础(2)--对象类型金沙官网线上

Python 数字

Python使用对象模型来存储数据。构造任何类型的值都是一个对象

  int 整型  是正或负整数  2

所有的Python对象都拥有三个特性:身份、类型、值

  long 长整型  整数最后是一个大写或小写的L   2L

身份:

  float  浮点型 由整数部分和小数部分组成   2.0

每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址

  complex 复数 

类型:

 

对象的类型决定了该对象可以保存什么类型的值,可以进行怎样的操作,以及遵循什么样的规则,可以使用内建函数type()查看Python对象的类型:

小结 

>>> type([1,2])
<type 'list'>
>>> type(24)
<type 'int'>
>>> type({1,2,3})
<type 'set'>
>>> type('a string')
<type 'str'>

  1、用内建函数 type 可查看数据类型

type()返回的是对象而不是简单的字符串。

1 >>> type(2)
2 <type 'int'>
3 >>> type(2L)
4 <type 'long'>
5 >>> type(2.0)
6 <type 'float'>
7

值:对象表示的数据项

  2、使用dir(__builtins__)查看更多的内建函数 (builtins前后有两个下划线)

以上的三个特性在对象创建的时候就被赋值,除此之外,其他两个特性都是只读的

1 >>> dir(__builtins__)
2 ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']

标准类型/基础数据类型:

  3、使用help()   help(type)查看type内建函数的具体内容

数字、整型、布尔型、长整形、浮点型、复数型、字符串、列表、元组、字典

 1 >>> help(type)
 2 Help on class type in module __builtin__:
 3 
 4 class type(object)
 5  |  type(object) -> the object's type
 6  |  type(name, bases, dict) -> a new type
 7  |
 8  |  Methods defined here:
 9  |
10  |  __call__(...)
11  |      x.__call__(...) <==> x(...)
12  |
13  |  __delattr__(...)
14  |      x.__delattr__('name') <==> del x.name
15  |
16  |  __eq__(...)
17  |      x.__eq__(y) <==> x==y
18  |
19  |  __ge__(...)
20  |      x.__ge__(y) <==> x>=y
21  |
22  |  __getattribute__(...)
23  |      x.__getattribute__('name') <==> x.name
24  |
25  |  __gt__(...)
26  |      x.__gt__(y) <==> x>y
27  |
28  |  __hash__(...)
29  |      x.__hash__() <==> hash(x)
30  |
31  |  __init__(...)
32  |      x.__init__(...) initializes x; see help(type(x)) for signature
33  |
34  |  __instancecheck__(...)
35  |      __instancecheck__() -> bool
36  |      check if an object is an instance
37  |
38  |  __le__(...)
39  |      x.__le__(y) <==> x<=y

其他内建类型:

  4、id() 内建函数查看对象的id编号   

类型、Null对象(None)、文件、集合/固定集合、函数/方法、模块、类

    判断是不是同一对象需要判断id返回的编号是否相同

None,Python的Null对象

1 >>> id(2)
2 42753392L
3 >>> id(3)
4 42753368L

Python有一个特殊的类型,称为Null对象或者NoneType,只有一个值:None,它不支持任何运算也没有任何内建的方法,类似于C语言的void,None类型的值

 

和C中的Null值非常相似

Python 变量

None没有什么有用的属性,它的布尔值总是False

 什么是变量

布尔值

  变量是存储在内存中的值,创建一个变量意味着在内存中开辟一个空间。

所有标准对象均可以用于布尔测试,同类型的对象之间可以比较大小。每一个对象天生具有布尔True或false值

  变量无类型,对象有类型

空对象、值为0的任意数字或Null对象None的布尔值都是False

  变量命名  a  a_b  大写T_A 为全局变量 

下列对象的布尔值都是False:

1 、简单的运算

  • None
  • False(布尔类型)
  • 所有的值为0的数
  • 0(整型)
  • (浮点型)
  • 0L(长整型)
  • 0.0+0.0j(复数)
  • “”(空字符串)
  • [](空列表)
  • ()(空元组)
  • 金沙官网线上,{}(空字典)
 1 >>> a =10
 2 >>> b = 2
 3 >>> c = 4
 4 >>> a / b
 5 5
 6 >>> a / b + c
 7 9
 8 >>> a * b
 9 20

 值不是上面列出来的任何值的对象的布尔值都是True

2、大整数相乘问题

标准类型运算符:

  Python 将自动把数据转换为长整数

比较运算符用来判断同类型对象是否相等,所有的内建类型均支持比较运算,比较运算返回布尔值True或False

1 >>> 1233333333333322222222222*6666666666666666666
2 8222222222222148147325924444444451851851852L
>>> 2==2
True
>>> 2.34<=3.44
True
>>> 'abc'=='xyz'
False
>>> 'xyz'>'abc'
True
>>> 'xyz'<'abc'
False
>>> [3,'abc']==['abc',3]
False
>>> [3,'abc']==[3,'abc']
True

 

多个比较操作可以在同一行上进行,求值顺序为从左到右.例如:

本文由金沙官网线上发布于编程,转载请注明出处:Python基础(2)--对象类型金沙官网线上

您可能还会对下面的文章感兴趣: