python科学计算生态-001-对象和变量

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)方法来查看

猜你喜欢

转载自blog.csdn.net/qq_42906486/article/details/104989934