推荐书籍
三体
百年孤独
硅谷钢铁侠
1、变量
1.1.变量的作用
- 重复调用
- 存储数据的容器[内存存储]
1.2.变量定义的规则
1、变量名只能包含字符串、数字、_;
2、变量名不能以数字开头;
3、不要使用一些关键字做为变量名;(如:while,for,continue,break,if,else.........);
1.3.变量的赋值
变量名 = 变量值[变量名,'str',int等]
name = 'sunny'
print (name) #3.0x
同时赋值:
name,password = 'sunny','123456'
扩展常量一般表示方法(python中没有常量一说,只能区分)
一般用全大写来表示
NAME = 'sunny'
2、PYC
2.1 .pyc
是字节码,python可以读懂的语言
2.2 python的运行过程
1.执行hello.py2.编译成hello.pyc3.python将hello.pyc编译成机器语言4.python将机器语言转换成hello.pyc5.将执行结果返回
3、字符串str
字符串的一些常用方法:

#定义一个变量,变量值为字符串
name = 'rain,sunny,wind' print(name.capitalize()) #Rain,sunny,wind print(name.center(30,"*")) #*******rain,sunny,wind******** print(name.count('i')) # 2 (统计这个变量中出现多少次i) print(name.encode()) # b'rain,sunny,wind' print(name.find('i')) #2 (查找i,并返回i对应的下标(索引) ) print(name.endswith('d')) #True print(name.index('s')) #返回s对应的下标(索引) print(name[2:]) #in,sunny,wind print(name[::2]) #ri,un,id (步长)
4、list列表
#定义一个列表
lists = ['rain','sunny','wind','ray']
lists.insert(1,'sun') #['rain', 'sun', 'sunny', 'wind', 'ray'] lists.insert(0,'moon') #['moon', 'rain', 'sun', 'sunny', 'wind', 'ray'] lists.append('moon',) #['moon','rain', 'sun', 'sunny', 'wind', 'ray', 'moon'] print(lists.count('moon')) # 2 print(lists.reverse()) #None print(lists.sort()) #None print(lists.index('sunny')) # 5
lists1 = ['2','3','4'] lists.extend(lists1) #['moon', 'moon', 'rain', 'ray', 'sun', 'sunny', 'wind', '2', '3', '4'] print(lists.pop()) # 4 (删除最后一个元素并返回该元素) lists.copy() #浅拷贝 print (lists)
5、tuple元组
#定义一个元组
tup = ('rain','sunny','wind','ray') print(tup.index('rain')) # 0 (返回元素对应的下标值(索引)) print(tup.count('sunny')) # 1 (统计元素在元组出现了几次)
6、dict 字典
#定义一个字典
dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1.values()) #dict_values([{'age': 18, 'name': 'rain'}, {'age': 20, 'name': 'sunny'}]) print(dict1.keys()) #dict_keys([109020123411200099, 323948093024309348]) print(dict1.items()) #dict_items([(109020123411200099, {'name': 'rain', 'age': 18}), (323948093024309348, {'name': 'sunny', 'age': 20})]) print(dict1.pop(109020123411200099)) #{'name': 'rain', 'age': 18} (指定key并删除,并返回删除key的值) print(dict1.get(1090209)) # 如果key存在字典中,则返回values ,否则返回None print(dict1.popitem()) #随机删除一个key ,禁用 dict1.setdefault(903482908,'values not exists') #取一个key,如果不存在就返回设定的值,并添加到字典中 print(dict1.fromkeys([1,2,3,4,5],'values')) #{1: 'values', 2: 'values', 3: 'values', 4: 'values', 5: 'values'} print(323948093024309348 in dict1 ) # True(判断该key在字典中)
#定义一个字典
dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1[109020123411200099]['name']) # rain (取字典中[key][key]的值) #enumerate 枚举函数 for index,k in enumerate(dict1): #循环字典,并赋值给k print(index,k) for index,k1 in enumerate(dict1[k]): #循环字典中的[key]的值 print (index,k,k1,dict1[k][k1])

a = {'name':11,'age':11,} b = {'name':21,'names':22} b['a'] = 'abc' print(b) for i in a: b[i] = a[i] #当b中不存在a中的keys值时,将b[key] = a[keys] print(b)
练习:
1 练习:元素分类 2 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 3 即: {'k1': 大于66 , 'k2': 小于66}
回答:
a=[11,22,33,44,55,66,77,88,99,90] dict1={'k1':[],'k2':[]} for i in a: if i >66: dict1['k1'].append(i) else: dict1['k2'].append(i) print dict1 最好的是用下面的方法来动态的扩展字典: a=[11,22,33,44,55,66,77,88,99,90] dict1={} #动态的增加字典 for i in a: if i >66: if 'k1' in dict1.keys(): dict1['k1'].append(i) else: dict1['k1'] = [i,] else: if 'k2' in dict1.keys(): dict1['k2'].append(i) else: dict1['k2'] = [i,] print dict1
7、计算
7.1 算数运算
a = 2 b = 3 # c = a + b # 5 # c = a - b # -1 # c = a * b # 6 c = a / b # 0.6666666666666666 c = a % b # 2 c = a ** b # 8 c = a // b # 0 print(c)
7.2 比较运算符
a = 2 b = 3 if a == b: print('1 - a 等于 b') else: print ('1 - a 不等于 b') 其它类似 <> 3.x版本中已经废弃
7.3 赋值运算

7.4逻辑运算

7.5身份运算

7.6成员运算

7.6位运算

7.7 运算符优先级