Python内置对象

8 篇文章 0 订阅
1 篇文章 0 订阅

Python内置对象

对象是python语言中最基本的概念之一,在python中处理的一切都是对象,除了整数、实数、复数、字符串、列表、元组、字典、集合,还有 zipmapenumeratefilter等对象,函数和类也是对象 。

表1: Python的常用内置对象

对 象 类 型类型名称示例简要说明
数字int, float, complex1234, 3.14, 1.3e5, 3+4j数字大小没有限制,内置支持复数及其 运算
字符串strstr 'swfu', "I'm student", '''Python ''', r'abc', R'bcd'使用单引号、双引号、三引号作为定界 符,以字母r或R引导的表示原始字符串
字节串bytesb’hello world’以字母b引导,可以使用单引号、双引 号、三引号作为定界符
列 表list[1, 2, 3],['a', 'b', ['c', 2]]所有元素放在一对方括号中,元素之间 使用逗号分隔,其中的元素可以是任意 类型
字 典dict{1:'food' ,2:'taste', 3:'import'}所有元素放在一对大括号中,元素之间 使用逗号分隔,元素形式为“键:值”
元 组tuple(2, -5, 6), (3,)不可变,所有元素放在一对圆括号中, 元素之间使用逗号分隔,如果元组中只 有一个元素的话,后面的逗号不能省略
集 合setfrozenset {'a', 'b', 'c'}所有元素放在一对大括号中,元素之间 使用逗号分隔,元素不允许重复;另外, set是可变的,而frozenset是不可变的
布 尔 型boolTrue, False逻辑值,关系运算符、成员测试运算 符、同一性测试运算符组成的表达式的 值一般为TrueFalse
空 类 型NoneTypeNone空值
异 常Exception、 ValueError、 TypeError……Python内置大量异常类,分别对应不同 类型的异常
文 件f = open('data.dat', 'rb')openPython内置函数,使用指定的 模式打开文件,返回文件对象
其 他 可 迭 代 对 象生成器对象、range对象、 zip对象、enumerate对象、map对象、filter对象 等具有惰性求值的特点
编程单元函数(使用def定义) 类 (使用class定义) 模块 (类型为module类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象

Python常量与变量

常量,一般是指不需要改变也不能改变的字面值,变量的值是可以变化的。

Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。

需要注意以下问题。

  1. 变量名必须以字母或下画线开头但以下画线 开头的变量在Python中有特殊含义,请参考第6章内容。
  2. 变量名中不能有空格或标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问等)。
  3. 不能使用关键字作为变量名,Python关键字的介绍请见2.3节。要注意的是,直着Python版本的变 化,关键字列表可能会有所变化。
  4. 不建议使用系统内置的模块名、类型名或函数名以及已导人的模块名及其成员作为变量名,这会 改变其类型和含义,甚至会导致其他代码无法正常执行。可以通过dir(_ _ builtins_ _ )查看所有 内置对象名称。
  5. 变量名对英文字母的大小写敏感,例如student和Student是不同的变量
>>> x = 4
>>> print(type(x))
<class 'int'>
>>> x = 'Hello world.'
>>> print(type(x))                 #查看变量类型
<class 'str'>
>>> x = [1,2,3]
>>> print(type(x))
<class 'list'>
>>> isinstance(3, int)             #测试对象是否是某个类型的实例
True
>>> isinstance('Hello world', str)
True
>>> x = 3
>>> x
3

在Python中,允许多个变量指向同一个值 。

x = 3 y = 3 x += 6内存变化如下:

  1. 赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量并指向这个内存地址。
  2. Python采用的是基于值的内存管理方式,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。 Python中的变量并不直接存储值,而是存储了值的内存地址或者引用,这也是变量类型随时可以改变的原因。
  3. Python具有自动内存管理功能,对于没有任何变量指向的值,Python自动将其删除。Python会跟踪所有的值,并自动删除不再有变量指向的值。尽管如此,显式使用 del 命令删除不需要的值或显式关闭不再需要访问的资源,仍是一个好的习惯,同时也是一个优秀程序员的基本素养之一。

数字

数字是不可变对象,可以表示任意大小的数字。

>>> 999*99   #想乘
98901
>>> 999**99 		#幂运算,等价于内置函数pow()
905697844958667709741956562802753100901389806139609538815019658231017504097064752403846139892968390554024852396172082441213697329994395340901282449426848216146865935961454742677324005498146550510264840271813301125214581059267630055862747172378231729576039278689152963667155086263379780844149098999
>>> 0.3+0.2
0.5
>>> 0.5-0.2
0.3
 0.4-0.1				#实数相减,结果稍有偏差
0.30000000000000004

整数、浮点数

Python中的**整数**类型可以分为

* 十进制整数如,0-19123
* 十六进制整数,需要16个数字0123456789、a、b、c、d、e、f来表示整数,必须以`0x`开头,如`0x10`、`0xfa`、`0xabcdef`
* 八进制整数,只需要8个数字01234567来表示整数,必须以`0o`开头,如`0o35`、`0o11`
* 二进制整数,只需要2个数字01来表示整数,必须以`0b`开头如,`0b101`、`0b100`

**浮点数**又称小数

`15.2, 0.31, 3.14, -11.2`

Python 3.6.x开始支持在数字中间位置使用单个下划线作为分隔来提高数字的可读性,类似于数学上使用逗号作为千位分隔符。 

​```python 3.6.x 支持在数字中间位置使用单个下划线作为分隔来提高数字的可读性```
>>> 1_000_000
1000000
>>> 1_2_3_4
1234
>>> 3.14159_26535_89793_83246
3.14159265358979383246

分数

>>> from fractions import Fraction
>>> x = Fraction(3,5)
>>> y = Fraction(3,7)
>>> x
Fraction(3, 5)
>>> y
Fraction(3, 7)
>>> x.numerator  # 查看分子
3
>>> y.denominator  # 查看分母
7

高精度实数

>>> from fractions import Decimal
>>> 1/9
0.1111111111111111
>>> 1/3
0.3333333333333333
>>> Decimal(1/3)
Decimal('0.333333333333333314829616256247390992939472198486328125')
>>> Decimal(1/3) + Decimal(1/7)
Decimal('0.4761904761904761640423089375')
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值