python科学计算生态-001-对象和变量
1.1 对象
1.1.1 对象的三个特征
身份、类型、值
1.1.2 类型
可以用type()方法来判断类型,用isinstance()方法来判断验证类型
#type()方法
type(3) #int
type("aaa") #str
type(1.0) #float
#type()方法返回的值的类型是type类型-->所以我们可以得知type也是一种类型
type(type(1.0)) #tpye
#还可以调用type()中的_name_,得到一个字符串
type(1.0).__name__ #'float'
type(type(1.0).__name__) #str
#instance()方法
# 可以给一个类型进行判断,也可以多个类型,当然,只要有一个类型匹配就可以得到true
isinstance(1.0, float) # True
isinstance(1.0,(int, str, float)) # True
1.1.3 值
一些比较方法
3==3 3.14<=10 'a' =='a' #显而易见都是true
3<5>4 # true 从左至右两两比较即可
'wee' > 'sssaf' #flase 字典序以此比较,并不会先判断长短
1.1.4 身份(id)
关于id()和is
关于is
a和b是 : 数字和字符串,a is b为True
a和b 是 : tuple,list,dict或set型,a is b为False。
a1 = 1 # a和b为数值类型
b1 = 1
print (a1 is b1) # True
print id(a1) # 6322312
print id(b1) # 6322312
a1 = 'he' # a和b为字符串
b1 = 'he'
print (a1 is b1) # True
print id(a1) # 39398256
print id(b1) # 39398256
a1 = (1, 2, 3) # a和b为元组类型
b1 = (1, 2, 3)
print (a1 is b1) # False
print id(a1) # 30421640
print id(b1) # 38361848
a1 = [1, 2, 3] # a1和b1为list类型
b1 = [1, 2, 3]
print (a1 is b1) # False
print id(a1) # 40606472
print id(b1) # 40606664
a1 = {
'name': 'hi', 'age': 11} # a1和b1为dict类型
b1 = {
'name': 'hi', 'age': 11}
print (a1 is b1) # False
print id(a1) # 32277368
print id(b1) # 40944232
a1 = set([1, 2, 3]) # a和b为set类型
b1 = set([1, 2, 3])
print (a1 is b1) # False
print id(a1) # 40142888
print id(b1) # 40301960
# 范围:从-5~256的整数 都是true
a = 1
b = 1
a is b #true
c = 10000
d = 10000
a is b #false
foo1 = foo2 = 4.3
foo1 is foo2 #true
1.2 变量
注意:
变量,仅仅是一个名字。
赋值操作并不会实际复制值,它只是为数据对象取个相关的名字。
变量的一些赋值方法
# 直接赋值
pai = 1.341
# 增量赋值
i += 1
# 多重赋值
a = b = c = 1
# 多元赋值,很有用,用起来效率很高,括号是可选的,但保留可以增强代码可读性
(x, y, z) = (1, 2, 'a string')
x, y, z = 1, 2, 'a string'
(x, y) = (y, x) # 对换值,不用再借助中间变量啦
变量名的命名规则
1)只能包含以下字符:小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下滑线(_)
2)不允许以数字开头。
3)Python中以下划线开头的名字有特殊的含义。
builtins
进入解释器时,builtins模块会被自动导入,这个模块中包含一些保留的名字集合, 如 open , input 等,一般情况下,你定义的标识符最好不要和它们冲突。
你可以用dir(builtins)
方法来查看