python是一种动态语言类型。变量的类型可以随时变化。
数字 | 1234,3.14,3+4j |
字符串 | ‘swf'’,"I'm student","'python'" |
列表 | [1,2,3],['1','b',['c',2]] |
字典 | {1:'food',2:'taste',3:'import'} |
元组 | (2,-5,6) |
文件 | f=open('data.txt','r') |
集合 | set('abc'),{'a','b','c'} |
布尔型 | True,False |
空类型 | None |
变成单元类型 | 函数(使用def定义) 类(使用class定义) |
对象类型 | 示例 |
>>> x=3 >>> 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=(1,2,3) >>> print(x) (1, 2, 3) >>> x[1]=5 Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> x[1]=5 TypeError: 'tuple' object does not support item assignment
python采用的是基于值的内存管理方式。在python中修改变量值的操作,并不是修改了变量的值,而是修改了变量指向的内存地址。这是因为Python解释器首先读取变量x原来的值,操作之后将结果存放于新的内存中,最后将变量x指向该结果的内存空间。
>>> x=3 >>> id(x) 1427874976 >>> y=3 >>> id(y) 1427874976 >>> y=5 >>> id(y) 1427875040 >>> id(x) 1427874976
python具有自动内存管理功能,会跟踪所有的值,并自动删除不再有变量指向的值,所以程序员一般情况下不需要太多考虑内存管理的问题。尽管如此,显式使用del命令删除不需要的值或显式关闭不再需要访问的内存是一个好的习惯。
变量名的定义:
和c++差不多。
其中有一条要注意,变量名区分尹文字幕的大小写,Student和student是不同的变量。
1.数字
>>> 3*(2+5)/3.0 7.0 >>> import math >>> math.sqrt(3**2+4**2) 5.0
python数值类型——
整数:十进制整数(0,-1,9,123);十六进制整数(使用十六个数字0123456789abcdef来表示,如0x10,0xfa,0xabcdef);八进制整数(01234567来表示,如0o35);二进制整数(0b101,0b110)
浮点数:也叫小数,.3 ,15.0 ,0.37 ,-11.2 ,2e2 ,15e-2 都是河大的浮点数。
复数:和数学形式完全一致,由实部和虚部组成,并且使用j或J来表示虚部。
>>> a=3+4j >>> b=5+6j >>> c=a+b >>> c (8+10j) >>> c.real #查看复数实部 8.0 >>> c.imag #查看复数虚部 10.0 >>> a.conjugate() #返回共轭复数 (3-4j) >>> a*b #复数乘法 (-9+38j) >>> a/b #复数除法 (0.6393442622950819+0.03278688524590165j)