1.Python变量
①、Python中的变量赋值不需要类型声明
②、变量在使用前必须赋值,变量在赋值时才会被真正创建
③、每个变量在内存中创建,包含标识符、名称和数据信息
④、变量可以通过赋值指向不同类型的对象
name = 'Coder_LW'
age = 22
height = 1.80
name,age,height = 'Coder_LW',23,1.80
print(name,age,height)
# 删除对象的引用
del name
del age,height
# NameError: name 'name' is not defined
print('name')
2.Python标准数据类型
①、Number(数字):支持int、float、bool、complex(复数),其Python 2.x还有long类型
②、String(字符串)
③、List(列表)
④、Tuple(元组):与swift不同的是Python元组是不可变列表,无法修改
⑤、Sets(集合):同Object-C中的NSSet,无序不重复序列
⑥、Dictionary(字典)
# print(type(xxx))
a,b,c,d = 100,1.88,True,6+6j
print(type(a))
print(type(b))
print(type(c))
print(type(d))
e = 'Hello Python'
f = ['H','e','l','l','o']
g = ('P','y','t','h','o','n')
h = {'C','O','D','E','R','R'}
i = {1:'Hello',2:'Python'}
print(type(e))
print(type(f))
print(type(g))
print(type(h))
print(type(i))
# <class 'int'>
# <class 'float'>
# <class 'bool'>
# 复数表示多数的变化形式或多数形式的词,可以用a + bj,或者complex(a,b)表示,其中a和b是实数。
# <class 'complex'>
# Python字符串不能被修改,可以通过方法replace(old,new)进行修改,但其实是重新赋值。
# <class 'str'>
# <class 'list'>
# 与Swift元组不同的是Python中元组的元素不可修改。
# <class 'tuple'>
# 同Object-C中的NSSet,无序不重复序列,其会自动去重;可以用{}或set()标识,但创建时只能用set()。
# <class 'set'>
# <class 'dict'>
3、关于type(x)和isinstance(x,class)
注:同OC中isMemberOfClass和isKindOfClass两个方法的含义
①、type()不会认为子类是一种父类类型。
②、isinstance()会认为子类是一种父类类型
4、关于Python中 [头下标:尾下标] 索引的问题
①、Python中有两种索引方式 :
从左到右索引值以头下标 0 开始
从右到左索引值以尾下标 -1 开始
x x x x x x
从左到右 0 1 2 3 4 5
从右到左 -6 -5 -4 -3 -2 -1
②、Python支持索引的数据类型:
String、 List、Tuple、Sets、 Dictionary
1> 以 [头下标:尾下标] <从右到左> 索引的数据,是右开区间,即不包含 尾下标 所对应的数据
2> String中 \ 转义特殊字符,而在String前加上r标识不想让转义符\发生作用
3> 上述数据都可使用 + 连接符和 * 重复运算符
5、Sets集合可以进行集合运算
x = set('Hello Python')
y = set('Coder LW')
print(x - y) # a和b的差集
print(x | y) # a和b的并集
print(x & y) # a和b的交集
print(x ^ y) # a和b中不同时存在的元素
6、Python数据类型转换
# 转化为字符串
print(str(666))
# 字符串转float
print(float('1.82'))
# 字符串转int
print(int('666'))
# 创建一个复数
print(complex(6))
# 将一个整数转化为字符:根据ASCII码转化,相当于C语言的%c输出
print(chr(97))
# 将一个字符转换为一个整型:相当于C语言的%d输出
print(ord('A'))
# 将一个整数转换一个十六进制/八进制字符串
print(hex(97))
print(oct(97))
jsonStr = "{1:'this', 2:'is', 3:'dictionary', 4:'4'}"
result = {1:'this', 2:'is', 3:'dictionary', 4:'4'}
# 将表达式字符串转换成对象,Json解析
print(eval(jsonStr))
# 将其对象转换成表达式字符串,相当于Object-C的Description方法
print(repr(result))
# 将序列 s 转换为一个元组
tuple(s)
# 将序列 s 转换为一个列表
list(s)
# 转换为可变集合
set(s)
# 转为不可变集合:输出frozenset({'Coder', 23})
frozenset(['Coder',23])
# 创建一个字典。d 必须是一个序列 (key,value)元组。
dict(d)