day1-python 的基础部分

一个多月了,学习方法:看视频为主,跟着各种视频,看来看去,动手很少。貌似学了很多,貌似啥也没有学会。

正如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()

搜肠刮肚,就这么多了,不足之处,请指正!

原文地址:https://www.cnblogs.com/yes5144/p/6828406.html