变量从字面意思能够理解成:是变化的量。java
name = “hello world” #定义一个字符变量,name 是变量名 “hello world”是变量值 age =15 # 定义一个整形变量 name,age = “alex”,12 # 两个变量 out=[] #定义一个空列表变量
变量的做用: 用来保存数据,方便后面要使用。python
变量的组成分为如下三个部分:api
1 var = 1 2 print (var) 3 var = "abc" 3 print (var)
注:这里的var = xxxx不叫变量赋值,而叫变量绑定,python维护了一个符号表(变量名)以及符合对应的值,这个对应关系就叫作绑定,一个符号能够绑定任意类型的值。app
咱们给变量指定值的过程叫作赋值。ide
name1 = "SuperMan" name2 = name1 name1 = "BatMan" print(name1,name2) # 这里输出的name1和name2的内容分别是什么?
实现过程:函数
程序是运行在内存中的,咱们执行 name1=“SuperMan”时,这是在内存中开辟了一块空间,并将这块空间的内存地址赋值给name1; 在执行name2=name1的时候,将name1中的内存复制给name2,也就是说,name2中的内存地址也是存储“SuperMan”的内存空间的内存地址; 在执行name1= “BatMan”,此时在内存中另外在开辟一块空间存储“BatMan”,将存储“BatMan”的内存空间的地址赋值给name1,。因此在最后执行 print(name1,name2)的时候,就会出现你看到的结果。 spa
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
区分大小写
关键字不能声明为变量名blog
from keyword import kwlist
print(kwlist)排序
约定俗成的一些规则: 变量名称应该有意义、不要用中文作变量名、不要使用拼音索引
bool型变量一共两个值,true与false
1 #下面的输入所有返回False。 2 print(bool(None)) 3 print(bool(())) 4 print(bool([])) 5 print(bool({})) 6 print(bool("")) 7 print(bool(0)) 8 9 #虽然这些值在条件运算中会当作False,可是自己不等于False。 10 print(True and "") 11 print(not "") 12 print(False == "") 13 print(False == 0) #0除外,bool类型的内部表示就是int类型。
1 print(0 < 1 < 10) 2 print(0 < 1 and 1 < 10) 3 print(not(0 > 1 > 10)) 4 print(not(0 > 1 or 1 > 10))3、整型(int)
表示人的年龄、各类号码、级别
age = # age=( #打印变量age数据类型 print(a)
1 45301008482 <class 'int'>3 18
加减乘除、逻辑判断(大于、小于)
4、浮点型(float)表示身高、体重、薪资
1 salary = 2.1 # salary=float(2.1)2 print(id(salary))3 print(type(salary))4 print(salary)
1 45692406562 <class 'float'>3 2.1
加减乘除、逻辑判断(大于、小于)
5、字符串(str)str1="hello word"
字符串string:单引号‘’与双引号“”无区别,特别注意字符串中也含有单引号就要使用双引号进行定义。
a="Let's go"
若是特别长的字符串换行时,须要加“\”符号.特别长的字符串也可使用三引号‘’‘ ’‘’
str1= word! str2= and you?
字符串拼接共有三种方式:+符号,join函数和格式化拼接。
a="123" b='abc' c=a+b
123abc
此方法占内存,效率低,不推荐使用。
a= b= d= d= d=.join([a,b]) # 拼接字符串
1 print "% 10s" % "----" 2 3 print ''' 4 %(title)s 5 %(body)s 6 ''' % {"title": "标题", "body": "内容"}
print("%s的年龄是%s岁"%'小明',10) #小明的年龄是10岁
count:统计元素个数
1 st="hello kitty"2 print(st.count('l')) # 2
1 st="hello kitty" 2 print(st.capitallze()) # Hello Kitty
1 st="hello kitty" 2 print(st.center(20,"-")) #----hello kitty-----
st====,age=)) #hello kitty buqin :,:.isnumeric()) #.isidentifier()) #.islower()) #.islower()) #.isupper()) #.isspace()) #.ljust(,)) #My Title++++++++++++.rjust(,)) #++++++++++++.lstrip()) # 删除字符串左侧的空格等制表符或指定的字符6、列表(list)
在[]内用逗号分隔开任意类型的值。
1 list1 = 'read'2 list2 = [list1, 'bike', 10]3 print(id(hobby_list))4 print(type(hobby_list))5 print(hobby_list)
1 45586059602 <class 'list'>3 ['read', 'bike', 10]
a=["元素1","元素2","元素3","元素4","元素5","元素6"] print(a[0]) #元素1 读取第一个元素 print(a[1:3]) #元素2,元素3 读取第二个到第三个元素 print(a[2:]) #元素3 元素4 元素5 元素6 从第三个元素取到最后 print(a[2:-1]) #元素3 元素4 元素5 取从第三个到倒数第二个 print(a[2::-1]) # 元素3', '元素2', '元素1' a[star,end,step] step步长有方向print(a[2:0:-1]) #'元素3', '元素2'
a=[[[1,2,3],4],66,7] print(a[0][0][1]) #2
name = [, , x = name[ y = name[ z = print(f) 6 x, _, z = name #默认舍去中间_数据
x:nick, y:ege, z:javan
a=["元素1","元素2","元素3","元素4","元素5","元素6"] print(a.count("元素7")) #0print("元素7" in a) #False
a=[2,5,6,34,8] type(a) is tist #True
a=["元素1","元素2","元素3","元素4","元素5","元素6"] a.count("元素2") #1 a列表中元素2出现的次数 count计算某元素出现次数
a=["a","b","c","d"] print(a.index("b")) #1 读取b在a的位置,若列表中含有两个以上的b元素,只能读取第一个b元素的位置
a=["元素1","元素2","元素3","元素4","元素5","元素6"] a.reverse() print(a) #['元素6', '元素5', '元素4', '元素3', '元素2', '元素1']
a=[2,5,6,34,8] a.sort() #至关于a.sort(reverse=False),从小到大顺序 print(a) #[2, 5, 6, 8, 34] b=sorted(a) #从小到大顺序与a.sort()同样 a=[2,5,6,34,8] a.sort(reverse=True) #从大到小顺序 print(a) #[34, 8, 6, 5, 2]
a=["元素1","元素2","元素3","元素4","元素5","元素6"] a.append("abc") #默认插入到最后一个位置 print(a) #"元素1","元素2","元素3","元素4","元素5","元素6","abc" a.insert(1,"插入1") # 插入到任何一个位置 #print(a) #"元素1","插入1","元素2","元素3","元素4","元素5","元素6","abc"
extend
a=[1,2,3] b=[4,5,6] a.extend(b) #将列表b融合到a中,不改变b内容 print(a) #[1,2,3,4,5,6] print(b) #[4,5,6]
a=["元素1","元素2","元素3","元素4","元素5","元素6"] a[2]="修改3" print(a) #['元素1', '元素2', '修改2', '元素4', '元素5', '元素6'] a[1:3]=["修改2","修改3"] #若赋值列表中少一个元素,则会删除该位置元素 print(a) #['元素1', '修改2', '修改3', '元素4', '元素5', '元素6']
a=["元素1","元素2","元素3","元素4","元素5","元素6"]
a.remove("元素1") #只能删除对应内容
a.remove(a[1]) #删除a[1]对应内容
a.pop(1) #删除列表对应1处的内容,并返回该删除元素的值,若不指定则删除最后一个
del a[0] #直接删除所选内容
del a #删除列表
不可变的元祖,有人称为只读列表
1 print (1, 2) #元祖以小括号形式声明。 2 print (1,) #一个元素的元祖。
与列表相比,元组没法修改,只能读取,读取与列表同样。
当元组中只有一个元素时,建议在第一个元素后面加“,”,如a=(1,)
8、字典(dict)在python中,使用{}定义字典,字典中键-值对用冒号间隔,表现形式为{key:value,key2:value}
1 user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}
字典为python中惟一一种映射关系,其内容是无序的。
字典中键是惟一的,只能是不可变类型数据(整型,字符串,元组),值不是惟一的,能够是元组、列表、字符串、字典等等
user_info = {'name': 'joy', 'age': 19,'friden':{'name':'Ari','like':[‘draw’,‘write’]}}}
字典取值方式再也不依赖于索引,而是依赖于key,经过[key]便可获取key对应的value值。
user_info = {'name': 'joy', 'age': 19,'friend':{'name':'Ari','like':[‘draw’,‘write’]}}} print(user_info['name']) #joy print(user_info['friend']['like'][0]) #draw
user_info = {'name': 'nick', 'gender': 'male', 'age': 19}} user_info.clear() #{}
user_info = {'name': 'nick', 'gender': 'male', 'age': 19}} del user_info[] #{ : , : }} del user_info #删除整个字典
user_info = {'name': 'nick', 'gender': 'male', 'age': 19}} ret=user_info.pop(name) #{ 'gender': 'male', 'age': 19}},返回删除值
user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}
1 dic6=dict.fromkeys(["host1","host2","host3"],["test1","test2"])2 print(dic6) #{"host1":["test1","test2"],"host2":["test1","test2"],"host3":["test1","test2"]}
#注:如此定义字典,当修改字典中某一键对应的值时,其余键也会随之改变。如:dic6["host3"][1]="text3"
1 user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}2 print(sorted(user_info)) #按键排序3 print(sorted(user_info.items())) #同上4 print(sorted(user_info.values())) #将值进行排序
1 dict1 ={'姓名':‘小光’,'年龄':20}2 dict2 ={'成绩':'优良'}3 print(dict1.update(dict2)) #{'姓名':‘小光’,'年龄':20,'成绩':'优良'}
回忆列表遍历:for i in 列表,字典与之相似。
1 user_info = {'name': 'nick', 'gender': 'male', 'age': 19}}2 3 for i in user_info:4 print(i) #返回为字典键值5 print(user_info[i]) #遍历全部键和值
1 for i,v in user_info.item():2 print(i,v) #遍历全部键和值,中间有转换,效率没有上一种高