python中的变量
变量赋值:变量赋值不需要声明类型,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
多个变量赋值:a=b=c=1 a,b,c 值都为1
为多个对象指定多个变量 a, b, c = 1, 2, "john" a 值为1 , b值为2 , c 值为 "john"
数据类型:python中有5种数据类型 Numbers数字,String字符串,List列表,Tuple元组,Dictionary字典 数字数据类是不可改变的数据类型,改变数字数据类型会分配一个新的对象。
数字类型有4种:int ,long ,float ,complex(复数,实部和虚部都是浮点型)
总结:数据类型 分为数字型和非数字型。
数字型包括整型,长整型,浮点型,复数型;
非数字型包括字符串,列表,元组和字典 ;
非数字型的共同点:都可以使用切片、链接(+)、重复(*)、取值(a[])等相关运算;
非数字型的不同点:
列表 可以直接赋值,元组不可以赋值,字典按照 dict[k]=v 的方式赋值。
删除:可以使用del 删除对象的引用。语法 del var1[,var2[,var3[....,varN]]]]
var1 = 1 当指定值为number时,number对象就被创建
var2 = 10
del var 删除单个对象的引用
del var_a, var_b 删除多个对象的引用
字符串:有两种取值顺序 从左往右索引从0开始,最大范围是字符串长度-1
从右往左索引从-1开始,最大范围是字符串开头
字符串的截取:变量[头下标:尾下标] 下标为空表示取到头或尾
str = 'ilovepython' s[1:5]的结果是love。 含头不含尾
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次 Hello World!Hello World!
print str + "TEST" # 输出连接的字符串 Hello World!TEST
加号(+)是字符串连接运算符,星号(*)是重复操作。
列表:使用最频繁的数据类型,列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中可以包含 字符,数字,字符串,列表(即嵌套)
列表的截取:方法和字符串截取一样。 变量[头下标:尾下标] 下标为空表示取到头或尾
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表 ['runoob', 786, 2.23, 'john', 70.2]
print list[0] # 输出列表的第一个元素 runoob
print list[1:3] # 输出第二个至第三个的元素 [786, 2.23]
print list[2:] # 输出从第三个开始至列表末尾的所有元素 [2.23, 'john', 70.2]
print tinylist * 2 # 输出列表两次 [123, 'john', 123, 'john']
print list + tinylist # 打印组合的列表 ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
元组:元组类似于列表,用()标识,内部元素用逗号 , 隔开,但元组不能二次赋值,相当于只读列表
元组的截取:方法和字符串、列表方法一样。 变量[头下标:尾下标] 下标为空表示取到头或尾
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组 ('runoob', 786, 2.23, 'john', 70.2)
print tuple[0] # 输出元组的第一个元素 runoob
print tuple[1:3] # 输出第二个至第三个的元素 (786, 2.23)
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素 (2.23, 'john', 70.2)
print tinytuple * 2 # 输出元组两次 (123, 'john', 123, 'john')
print tuple + tinytuple # 打印组合的元组 ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
列表允许更新,元组不允许更新: tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元组中是非法应用
list[2] = 1000 # 列表中是合法应用
字典:除列表以为最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者区别:字典当中的元素通过键来存取,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'} 或者 tinydict = {'name': 'john','code':6734, 2: 'sales'} 或者 dict = {1:'this', 2:'is', 3:'dictionary', 4:4}
print dict['one'] # 输出键为'one' 的值 This is one
print dict[2] # 输出键为 2 的值 This is two
print tinydict # 输出完整的字典 {'dept': 'sales', 'code': 6734, 'name': 'john'}
print tinydict.keys() # 输出所有键 ['dept', 'code', 'name']
print tinydict.values() # 输出所有值 ['sales', 6734, 'john']
数据类型的转换:只需将数据类型作为函数名即可。
python中所有数据类型都是类,可以通过 type( ) 来查看数据类型 如 n=1 type(n)
或者 isinstance来判断 如 a = 111
isinstance(a, int)
返回 True
区别: type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
class A:
... pass
...
>>> class B(A):
... pass
...
>>> isinstance(A(), A)
True
>>> type(A()) == A
False
>>> isinstance(B(), A)
True
>>> type(B()) == A
False