基本类型变量的内存模型
变量之间直接赋值,只会让变量引用同一块内存空间的内容,如果直接把新值赋给已有的变量,就会使用已有的变量引用新开辟内存的值,由Python解释器的内存优化而来.
a = 10
b = a
print id(a), id(b) #140447331668528 140447331668528
a = 12
print id(a), id(b) #140447331668480 140447331668528
tip:
id(变量名)
用来获取变量所引用值的内存地址.
Python基本类型间转化
利用类型(变量名)
需要显示地类型转换
a = '10'
a = int(a) # 10
b = 10.5
b = int(b) # 10
tip: 利用
type(变量名)
可以获取变量的真实类型.
Python运算符
-
<>
与!=
的作用都是用来表示不等于 - 位运算中, & 表示只有全为1才会为1; | 表示只要有1就为1; ^表示只有两个不同才为1; ~表示每一位都取反
- 逻辑运算中, and 表示都为true才会为true; or表示只要有一个为true就为true.
用户交互
需要用户输入内容,使用raw_input
函数,输入的内容自动转为字符串,根据需求再次进行类型转换.
a = raw_input("intput a integer: ")
intput a integer: 11111
print a # '11111'
列表
- Python列表中的索引不包括后者,只到索引的前一个元素位置.
- Python列表的索引-1表示末尾元素
a = [1,2,3,4,5,6]
a[1:3] #[2, 3]
a[1:-1] #[2, 3, 4, 5]
字典
- 使用
has_key(keyName)
判断是否存在key,或者直接使用get(keyName)
若key不存在则返回None. - 遍历字典使用
item()
,利用for-in
for (key, value) in data.items() :
print key, value
"""
region China
age 23
name simon
"""