一个多月了,学习方法:看视频为主,跟着各种视频,看来看去,动手很少。貌似学了很多,貌似啥也没有学会。
正如Alex所说,你为什么没有思路,写的太少,写的太少……
好吧,不要再眼高手低了,兄弟们动手吧!
what did i have learnt?
Python常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
win7, python3.6, PyCharm社区版
仪式感很重要:
print("Hello World!") #对就是print(),括号内输入你想打印的内容
常用的基础:
1、先介绍一下Python 的字符类型,和其他编程语言类似,Python也有“字符型(str)”、“整型(int)”、“浮点型(float)”、“布尔型(0和1)”,
字符型的输入要加上单引号(')或双引号("),在python中单引号和双引号没有区别。
变量的定义法则:a.字母、数字和下划线,但是不能以数字开头;b.最好见名知义;c.避免和系统变量冲突(后果很严重)
Python有严格的缩进关系,否则出错!
2、列表:列表的定义:变量名 = []
list1 = ['physics','chemistry',1993,2000,'hehhe','wozai ganma']
list2 = [11,33,222,5,89]
print(list1)
print(list1[:]) #效果同上,是不是多此一举?
print(list1[1:5]) #列表支持索引(index)索引号从0开始,即0,1,2,3……
print(list1[::2]) #冒号后的2代表“步长”
print(list2[1:3]) #顾头不顾尾,所以只打印索引号1和2两个元素
print(list1[-2]) #当然列表也支持负数,表示倒数第二个
print(list1[1:]) #试试效果,自己总结
for i in list1:
print(i)
常用的列表方法:append(), count(), extent(), index(), insert(), pop(), remove(), reverse(), sort()
3、元组:元组的定义:变量名 = ()
tuple1 = ("d","this","ervry","day") print(tuple1)
元组和列表类似,只是元组不可以修改。方法:index(), count()
1 tuple1 = (123,332,1,1,1,32) 2 3 print(tuple1) 4 print(tuple1.index(332)) #打印332的索引号 5 print(tuple1.count(1)) #统计元素1的个数
4、集合:
1 set1 = {11,332,33} 2 set2 = set() 3 set3 = set([11,33,22.3,55]) 4 5 print(set3) 6 print(set2)
集合具有天然去重功能,常用方法:交集、并集、差集、子集、父集、对称差集
1 set1 = {11,332,33} 2 set2 = set([11,33,22.3,55]) 3 4 print("交集",set1.intersection(set2)) 5 print("并集",set1.union(set2)) 6 print("差集",set1.difference(set2)) #打印在set1不在set2中的元素 7 print('子集',set2.issubset(set1)) #set2是set1 的子集打印True,否则False 8 print('父集',set2.issuperset(set1)) 9 print('对称差集',set1.symmetric_difference(set2))
集合还可以添加(add)、删除(remove)、更新(update)
5、字符串:不可修改
1 str1 = "人生苦短,我用Python" 2 3 print(str1.find('wo')) #如果存在返回索引号,不存在返回-1 4 5 for i in str1: #遍历整个字符串,列表,元组,字典也可以这么用 6 print(i) 7 8 find_str = 'p' 9 if find_str in str1: #我认为学习就是要在栗子中感悟,所以多模仿栗子 10 print(str1.index(find_str)) 11 else: 12 print('no %s,check again' %find_str)
fomat相关操作
1 myinfo = "my name is %s, age %d, habit %s" #%d代表整型 2 print(myinfo.format('channel',25,"健身")) #输入的时候,务必按照顺序 3 myinfo = 'my name is {name}, age {age}, habit {habit}' 4 print(myinfo.format(name='channe',age=22,habit="英语"))
6、字典:字典一种key - value 的数据类型,key具有唯一性:定义字典: dict1 = {key1:value1, key2:value2, key3:value3,……}
1 dict1 = {'name':'tiaozhan', 2 'age':26, 3 'school':'信阳', 4 'address':'shanghai'} 5 6 b = {'学号':'stud0014'} 7 8 print(dict1) 9 dict1.update(b) 10 print(dict1) 11 print(dict1.keys()) 12 print(dict1.values()) 13 print(dict1.items()) 14 print(dict1.get("habby",'健身')) #打印”habby”,没有则打印默认“健身”
字典方法:clear(), copy(), get(key,default), items(), keys(), values()
7、if判断:
myage = 26
1 guess_age = int(input("your guess num:")) #只能输入整型,否则报错 2 if guess_age == myage: 3 print("yes! you got it,well done") 4 break 5 elif guess_age > myage: 6 print('think a smaller') 7 else: 8 print("a bigggg num")
if判断中,elif和else可以选择性“用还是不用”
8、for循环:
1 for i in range(3): #range()是python的内建函数 2 print(i) 3 4 for i in ['wo','shi','shui']: 5 print(i)
9、while循环:
1 myage = 25 2 while True: #就是这样,根本停不下来,"True"你可以换成自己的判断条件,让他终止循环 3 guess_age = int(input("your guess age:")) 4 if guess_age == myage: 5 print("yes, you got it") 6 elif guess_age > myage: 7 print("try a little one") 8 else: 9 print("need a bigger one !")
10、文件相关操作:
1 f = open("myprac.txt",'w',encoding="utf-8") 2 f.write("人生苦短,都用python吧!") 3 f.flush()
解释一下:文件打开模式有三种:r:读的方式打开;w:写的方式创建,文件存在则清空,不存在就创建;a:读写方式打开,存在则追加,不存在就创建。
f.flush() 强制把内存的数据,写入硬盘。
f.seek(2) 设置打开文件是“指针”的位置。
f.tell() 返回文件当前位置
f.close() 关闭文档,比如上面的栗子,就忘了关闭文件啊啊啊啊啊!
介绍一个不用关闭文件的打开方式:
1 with open("myprac.txt",'r',encoding="utf-8") as f, 2 open("myprac.txt.bak2",'w',encoding='utf-8') as f_bak: 3 4 # print(f.read()) 5 for line in f: 6 print(line) 7 f_bak.write(line) 8 f_bak.flush()
搜肠刮肚,就这么多了,不足之处,请指正!