python簡單易學,但是往深了學還是挺難的,關鍵是有些函數接口使用時老是記不住,以下這篇博客即使對python語言知識點的一個梳理也是對一些函數等知識的記錄。
1.變量與簡單數據類型
(1)變量命名規則和使用
變量只能由字母、數字和下划線組成,並且不能以字母開頭;不能將python內部的關鍵字和函數名來命名;推薦使用下划線進行作為單詞之前的連接符,例如:name_nums;盡量不用小寫字母l和o;推薦使用小寫的變量名;
(2)字符串
使用單引號或者雙引號括起來的字符,例如:'hello world',與“hello world" 相同。
幾個簡單有用的函數,.
>>> name="zhou li"
#title()函數,把所有單詞的首字母改為大寫
>>> print(name.title())
Zhou Li
>>> print(name.upper())
ZHOU LI
#lower()函數,把字符串的所有字母改為小寫
>>> print(name.lower())
zhou li
>>> lover="lover fruit"
#使用+號來拼接字符串
>>> name+lover
'zhou lilover fruit'
#使用\t或\n在字符串內隨意添加制表符和換行符
>>> print("\thellow\nworld")
hellow
world
>>> string=" name "
#rstrip()函數,刪除字符串開始的空白
>>> string.rstrip()
' name'
#lstrip()函數,刪除字符串末尾的空白
>>> string.lstrip()
'name '
#strip()函數,刪除字符串兩頭的空白
>>> string.strip()
'name'
(3)數字
數字類型包括整數浮點數,可以直接進行加(+)、減(-)、乘(*)、除(/)、乘方(**)。
>>> 3+6
9
>>> 6-2
4
>>> 6*3
18
>>> 3/2
1.5
#不需要c++中對數字進行float轉換,得到的結果就是浮點型數據(僅限python3,python2依然需要對在除運算之前對整數做浮點型處理
>>> 1/3
0.3333333333333333
>>> 2**3
8
#需要使用str()函數將整數轉化為字符串才能做字符串的加減法
>>> str(23)+"zhouli"
'23zhouli'
2.列表
(1)什么是列表
由一系列按照特定順序排列的元素(可以是字母、數字、字符串、甚至可以是列表等)組成,元素之間沒有任何關系。
>>> a=["zhouli",2,"43",['2',4],3.23]
#列表中放入任何元素都行
>>> a
['zhouli', 2, '43', ['2', 4], 3.23]
#使用[]取值,第一個元素從0開始
>>> a[0]
'zhouli'
#-1表示最后一個元素,同樣的-2表示倒數第二個元素
>>> a[-1]
3.23
#修改列表元素的值
>>> a[-1]=89
>>> a
['zhouli', 2, '43', ['2', 4], 89]
#append()函數,在列表的最后添加一個元素
(2)列表的元素修改
>>> a.append("new")
>>> a
['zhouli', 2, '43', ['2', 4], 89, 'new']
#insert()函數,在列表第一個添加一個元素
>>> a.insert(1,"第二個元素")
>>> a
['zhouli', '第二個元素', 2, '43', ['2', 4], 89, 'new']
#刪除列表的元素,不能使用
>>> del a[0]
>>> a
['第二個元素', 2, '43', ['2', 4], 89, 'new']
#pop()函數,與append()方法相對應,刪除列表的最后一個元素,可以把參數進行賦值
>>> a.pop()
'new'
>>> a
['第二個元素', 2, '43', ['2', 4], 89]
>>> a=["zhouli",2,"43",['2',4],3.23]
>>> a
['zhouli', 2, '43', ['2', 4], 3.23]
#remove()函數,移除指定列表中的指定變量,如果相同的有多個,只移除第一個。
>>> a.remove(2)
>>> a
['zhouli', '43', ['2', 4], 3.23]
(3)列表的元素順序組織
>>> people=['alinda','liuli','zhouqinag','xuwen','shushan']
>>> people
['alinda', 'liuli', 'zhouqinag', 'xuwen', 'shushan']
#sort函數對列表元素進行排序,從低到高的順序,並且是永久性的改變列表。
>>> people.sort()
>>> people
['alinda', 'liuli', 'shushan', 'xuwen', 'zhouqinag']
>>> num=[1,2,4,90,3,6]
>>> num.sort()
>>> num
[1, 2, 3, 4, 6, 90]
#sort(reverse=True)函數,傳入reverse參數可以對其進行反向排序
>>> people.sort(reverse=True)
>>> people
['zhouqinag', 'xuwen', 'shushan', 'liuli', 'alinda']
>>> num.sort(reverse=True)
>>> num
[90, 6, 4, 3, 2, 1]
#sorted()函數,對列表進行臨時排序,並不改變列表元素的順序
>>> sorted(num)
[1, 2, 3, 4, 6, 90]
>>> num
[90, 6, 4, 3, 2, 1]
>>> num
[1, 3, 2, 90, 6]
#reverse()函數,調換列表的順序
>>> num.reverse()
>>> num
[6, 90, 2, 3, 1]
#len()函數,確定列表的長度
>>> len(num)
5
(4)列表的操作
>>> city
['xian', 'tianjin', 'shenzhen', 'dali', 'beijing']
#使用for循環,依次輸出列表的所有元素。
#python與c++最大的不同是python采用縮進的方式來得到程序的組織結構。
>>> for i in city: print(i)
xian
tianjin
shenzhen
dali
beijing
#range(a,b,step)函數,得到(a,b)范圍內每隔step長的所有整數,不包括b,沒有a的話,默認從0開始,沒有step的話默認為1。
>>> for i in range(1,5):print(i)
1
2
3
4
#list()函數,把range生成的數據轉換為列表。
>>> num=list(range(1,5))
>>> num
[1, 2, 3, 4]
>>> num=list(range(2,11,2))
>>> num
[2, 4, 6, 8, 10]
#min()函數、max()函數、sum()函數,這三個函數能夠得到列表的最小值、最大值、列表所有值的和。
>>> min(num)
2
>>> max(num)
10
>>> sum(num)
30
#列表解析,一行代碼可以代替for循環或者if判斷的多行代碼,把列表開始的元素根據元素后面的要求自動進行。
>>> a=[i**2 for i in range(1,10)]
>>> a
[1, 4, 9, 16, 25, 36, 49, 64, 81]
#切片獲取,通過雙冒號索引得到對應的元素,索引方式為,start:end:step。其中start默認為0,end默認為-1,step默認為1,不包括end。
>>> a=[i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[2:5:2]
[2, 4]
>>> a[2:5]
[2, 3, 4]
>>> a[:]#獲得所有的數據
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#列表的等號賦值,並不是創建了一個獨立的變量而是把變量給變量添加了一個新的名字。
>>> a=[2,3]
>>> b=a
>>> a.append(4)
>>> a
[2, 3, 4]
>>> b
[2, 3, 4]
#元組tuple,使用圓括號表示,與列表類似,唯一的區別是它的元素不能被修改,
>>> a=(1,2)
>>> a
(1, 2)
>>> a[0]=4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
#enumerate()函數,可以得到列表值、以及值的序號。
>>> for id,value in enumerate(a):print(id,value)
0 2
1 3
3.字典
字典類型包括鍵和值,並且使用大括號表示,鍵值對的添加順序沒有關系,存儲的鍵值對的關聯關系。
#使用{}來創建空的字典,使用[]來進行索引值。
>>> a={}
>>> a['people']='xiaoming'
>>> a['num']=5
>>> a
{'people': 'xiaoming', 'num': 5}
#使用del命令來進行刪除字典中的鍵值對,被刪除的鍵值對永遠的消失了。
>>> del a['people']
>>> a
{'num': 5}
>>> a
{'num': 5, 'school': 'dongchag', 'age': 17, 'love': 'dog'}
#可以使用items()函數,進行遍歷字典分別得到鍵值對。
>>> for k,v in a.items(): print(k,v)
num 5
school dongchag
age 17
love dog
#keys()函數可以獲得字典的所有鍵,可以使用鍵來獲得值。
>>> for i in a.keys(): print(a[i])
5
dongchag
17
dog
#也可以通過keys和values來獲得
>>> a.keys()
dict_keys(['num', 'school', 'age', 'love'])
>>> list(a.keys())
['num', 'school', 'age', 'love']
>>> a.values()
dict_values([5, 'dongchag', 17, 'dog'])
>>> list(a.values())
[5, 'dongchag', 17, 'dog']
4.嵌套
可以在字典中存儲列表還可以在列表中存儲字典,進行嵌套使用。
#列表中嵌套字典的使用方式
>>> point1={'x':1,'y':2}
>>> point2={'x':6,'y':4}
>>> point3={'x':3,'y':1}
>>> points=[point1,point2,point3]
>>> points
[{'x': 1, 'y': 2}, {'x': 6, 'y': 4}, {'x': 3, 'y': 1}]
#字典中嵌套列表的使用方式
>>> a={}
>>> food1=['apple','banana']
>>> food2=['rice','grape']
>>> a['xiaoming']=food1
>>> a['xiaohong']=food2
>>> a
{'xiaoming': ['apple', 'banana'], 'xiaohong': ['rice', 'grape']}
#在字典中嵌套字典的使用方式
>>> points={}
>>> points['point1']=point1
>>> points['point2']=point2
>>> points['point3']=point3
>>> points
{'point1': {'x': 1, 'y': 2}, 'point2': {'x': 6, 'y': 4}, 'point3': {'x': 3, 'y': 1}}
5.函數的模塊導入
#函數命名注意事項:函數或者模塊的命名盡量采用描述性的名,這樣方便自己和別人的理解,並且再其中使用小寫字母和下划線表示。
#從module模塊中導入fun函數,可直接使用fun函數
from module import fun
#導入module模塊,使用模塊中的函數時需要使用module.fun的方式
import module
#導入module模塊並且命名為md
import module as md
#導入module模塊中的所有函數
from module import *