9.13学习内容

一 变量值具备三个特征:
1. id: 变量值的唯一编号,内存地址不同id则不同,内存地址一样,值一定相同
2. type:类型
3. value

x = 10

y = 5

print((id)x,(id)y) #两个id不同

x=y=5 #id相同,值相同

print(tpye(x)) 

 

二: is与==
is身份运算:比较的是id是否相等
==判断值是否相等

x =10 

y = 5

print(x is y,x == y)#False False

x=y=10

print(x is y,x == y)#True True

 

三 常量
OldBoy = 18

 

一 数字类型:

int  整型  浮点型float  字符串类型str

 

二 列表list:

X=['a','g','b',['c','d','e','4',['aaa','bbb','333']]]

a,b,c=索引012.提取里面的数值直接print(X[0]) print(X[1]) print(X[2])

代表取出数值 a,g,b

提取第二个列表里的数值需要先索引到第二个列表第一个索引的数值比如print(X[3][0]) print(X[3][1]) print(X[3][2]) print(X[3][3])

代表去除数值c,d,e,4

取出第三个列表里的数值要获取到到第二个列表里的第一个索引数和第三个列表里的第一个索引数

比如print(X[3][4][0])  print(X[3][4][1])  print(X[3][4][2])

代表取出的数值aaa,bbb,333

 

三 字典dict: 记录多个key:value值,

 有存放用户信息的列表如下,分别存放用户的名字、年龄、公司信息
userinfo={
'name':'egon',
'age':18,
'company_info':{
'cname':'oldboy',
'addr':{
'country':'China',
'city':'Shanghai',
}
}

}
#要求取出该用户公司所在的城市
print(userinfo['company_info']['addr']['city'])

 

四: 布尔类型bool: True/False,用来标识条件是否成立
 age=18

 print(age > 30) #False
 print(age < 30) #True    

 所有类型的值都自带布尔值: 当数据类型的值为0,None,空时,布尔值为False,除此以外都为True
 print(bool(0))
 print(bool(None))
 print(bool(''))
 print(bool([]))
 print(bool({}))

 

五%s可以收任意类型的值, %d只能接收整型

 print('my name is my age is ',name,age)
 print('my name is ',name,'my age is ',age)

 print('my name is %s my age is %s' %(name,age))
 print('my name is %s my age is %d' %('egon',18))
 print('my name is %s my age is %d' %('egon','18')) #报错 

 

 算术运算

 print(10 + 1.1)
 print(10 / 3) # 有整数部分有余数部分
 print(10 // 3) # 去掉小数部分
 print(10 % 3) #取余
 print(2 ** 3)

 比较运算

比较运算只能在同类型之间进行,其中int与float同属于数字类型
 print(10 > 3.1)
 print(10 >= 10)

 

八 赋值运算
#8.1 增量赋值
age=18
age=age + 1
age+=1 # age=age+1
print(age)
x=10
x%=3 #x=x%3
print(x)


8.2 链式赋值
 x=10
 y=x
 print(x is y)
 a=b=c=d=e=111
 print(a is b is c is d is e)

 

8.3 交叉赋值
 x=10
 y=20

 temp=x
 x=y
 y=temp

 x,y=y,x
 print(x,y)

 

8.4 解压赋值
nums=[1,2,3,4,5]
 a=nums[0]
 b=nums[1]
 c=nums[2]
 d=nums[3]
 e=nums[4]
 a,b,c,d,e=nums
 print(a,b,c,d,e)

 a,b,c,_,_=nums #_=5
 print(a,b,c)
 print(_)

 a,b,*_=nums #
 print(a,b)

 

九逻辑运算:and,or,not
and:连接左右两个条件,两个条件必须都成立,最后结果才为True,一旦左边条件为假则最终结果就为假,没有必要再去计算右面条件的值
print(1 > 2 and 3 > 1)
or:连接左右两个条件,两个条件但凡有一个成立,结果就为True,一旦左边条件为True则最终结果就为True,没有必要再去计算右面条件的值,
一旦左边条件为False,还需要去计算右面条件的值,如果为True,最终也True
not:取反
print(not 1 > 2 or 3 > 1)
print(not 1 > 2)
print((True and (False or True)) or (False and True))

 

posted @ 2018-09-13 19:06  涛仔··  阅读(90)  评论(0编辑  收藏  举报