电竞比分网-中国电竞赛事及体育赛事平台

分享

python中常見的語法基礎大全1.0

 昵稱52884511 2022-12-26 發(fā)布于吉林

1.輸入與輸出

print:輸出,將hello world 顯示在控制臺上

print('hello world')

input 輸入,從鍵盤中輸入的字符存到變量a中

a = input('請輸入一個數(shù)')

2.變量與常見的數(shù)據(jù)類型

定義一個變量

a = 1

數(shù)據(jù)類型

數(shù)字類型(包括整型(int),浮點型(float))

a = 10b = 100c = 1.25d = 1.26

字符串(str)

str_a = 'abcd'str_b = 'cdefg'

布爾類型(Bool)

bool_a = Truebool_b = False

列表(list)

list_a = [1,2,3,4]list_b = ['a','b','c']list_c = [1,'a',2,'b',3]

元組(tuple)

tuple_a = (1,2,3,4,5)

字典(dict)

dict_a = {'name':'zz','age':20}

3.常見的運算符

算術運算符

運算符描述實例
+1+1=2
-2-1=1
*1*2=2
/2/2=1.0
%取模:返回除法的余數(shù)6%4=2
//向下取整,取商6%4=1
**次方2**3 = 8

比較運算符

比較運算符說明
a > b大于,如果前面的值大于后面的值,則返回 True,否則返回 False
a < b小于,如果前面的值小于后面的值,則返回 True,否則返回 False
a == b等于,如果兩邊的值相等,則返回 True,否則返回 False
a != b不等于(等價于數(shù)學中的 ≠),如果兩邊的值不相等,則返回 True,否則返回 False。
a >= b大于等于(等價于數(shù)學中的 ≥),如果前面的值大于或者等于后面的值,則返回 True,否則返回 False
a <= b小于等于(等價于數(shù)學中的 ≤),如果前面的值小于或者等于后面的值,則返回 True,否則返回 False
a is b判斷兩個變量所引用的對象是否相同,如果相同則返回 True,否則返回 False。
a is not b判斷兩個變量所引用的對象是否不相同,如果不相同則返回 True,否則返回 False。

邏輯運算符

運算符含義說明
and邏輯與運算,等價于數(shù)學中的“且”a and b ,當a,b兩個表達式都為真時,結(jié)果才為真,否則為假
or邏輯或運算,等價于數(shù)學中“或”a or b ,當a,b兩個表達式都為假時,結(jié)果才為假,否則為真
not邏輯非運算,等價于數(shù)學中“非”not a,當a為真時結(jié)果為假;a為假時結(jié)果為真

成員運算符

運算符描述案例
in如果在指定的序列中找到值返回 True,否則返回 False。1 in [1,2,3],返回True
not in如果在指定的序列中沒有找到值返回 True,否則返回 False。3 not in [2,3,4],返回False

運算符的優(yōu)先級:多個運算符,同時出現(xiàn),先執(zhí)行哪個

運算符(優(yōu)先級依次降低)描述
**指數(shù) (最高優(yōu)先級)
~ + -按位翻轉(zhuǎn), 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
*  /  %  //乘,除,取模和取整除
+ 1加法減法
>> <<右移,左移運算符
&位 'AND'
^ |位運算符
<=   <  >  >=比較運算符
==    !=等于運算符
=   %=   /=  //=     -=     +=   *=    **=賦值運算符
is    is not身份運算符
in not in成員運算符
not or and邏輯運算符

4.條件語句

if...else...:如果...那么

a = 2b = 3if a > b:    print('a大')else:    print('b大')

if...elif..elif..else:如果..否則如果...否則如果...否則

a = input('請輸入一個數(shù)字')#類型轉(zhuǎn)換,把字符串轉(zhuǎn)成數(shù)字a = int(a)
#只會進入下面中的一個if a > 10: print('比10大')elif a > 20: print('比20大')else: print('比10小')

5.循環(huán)語句

for語句:挨個遍歷可迭代對象中的每個數(shù)據(jù)

#i會輸出0,1,2,3,4,5,6,7,8,9for i in range(0,10):    print(i)

while語句:滿足條件就執(zhí)行循環(huán)體

a = 1while a < 10: print(a) a = a + 1

continue:跳出某一次循環(huán)

for i in range(0,10):    if i == 3:        continue  print(i)#輸出:0,1,2,4,5,6,7,8,9

break:跳出整個循環(huán)

for i in range(0,10): if i == 3: break print(i)#輸出:0,1,2

6.字符串的常見操作

類型轉(zhuǎn)換

str_a = '123'#字符串轉(zhuǎn)整數(shù)int_a = int(str_a)  # 123
str_b = '123.1'#字符串轉(zhuǎn)浮點數(shù)float_b = float(str_b) #123.1
str_c = '2'#字符串轉(zhuǎn)布爾類型bool_c = bool(str_c) #True
str_d = '1234'#字符串轉(zhuǎn)列表list_d = list(str_d) #['1','2','3','4']

根據(jù)索引取值

str_a = 'abcde'a = str_a[0] #取字符串a(chǎn)b = str_a[1] #取字符串b

字符串的拼接

a = 'abc'b = 'def'c = a + bd = a * 2print(c)print(d)#輸出'abcdef''abcabc'

遍歷取值

str_a = 'abcde'#通過索引挨個取值for i in range(len(str_a)): print(str_a[i])
#直接挨個取值 for j in str_a: print(j)

格式化字符串

format:推薦

a = 'zz'b = 18print('我的名字叫{},今年{}歲了'.format(a,b))

字符串的切片

str_a = 'abcdefghi'#從下標為0開始取,到下標為7結(jié)束,每隔2個數(shù)取一個值a = str_a[0:8:2] #'aceg'
#從開頭取到下標為4結(jié)束b = str_a[:5] #'abcde'
#從下標為5取到結(jié)束c = str_a[5:] #'fghi'
#如果步長為負值,第一位表示最后的值,第二位表示開始的值,然后從右往左每隔一段距離取值d = str_a[::-1] #'ihgfedcba'

字符串常見方法

find:find()方法返回該元素最小索引值(找不到返回-1)

s = 'abcdeeff'print(s.find('eeff'))#輸出4

index():index()方法返回該元素最小索引值(找不到元素會報錯)

s = 'abcdeeff'print(s.index('eeff'))#輸出4

startswith(): startswith() 方法如果字符串以指定值開頭,返回True,否則返回False

s = 'abcdeeff'print(s.startwith('abc'))#True
print(s.startwith('cba'))#False

endswith():endswith() 方法如果字符串以指定值結(jié)束,返回True,否則返回False

s = 'abcdeeff'print(s.endwith('ff'))#True
print(s.endwith('ee'))#False

count():count() 方法返回指定值在字符串中出現(xiàn)的次數(shù)

s = 'abcdeeff'print(s.count('e'))#輸出2

upper():upper()方法將字符串全部轉(zhuǎn)為大寫

s = 'abcdeeff'print(s.upper())
#輸出ABCDEEFF

lower():lower()方法將字符串全部轉(zhuǎn)為小寫

s = 'ABCDEFG'print(s.lower())
#輸出abcdefg

split():split()方法以指定字符分割字符串,并返回列表

s = 'a-b-c-d-e-f'print(s.split('-'))
#輸出['a', 'b', 'c', 'd', 'e', 'f']

strip():strip()方法刪除字符串兩端的空格

s = '  abcdefg    '   print(s.strip())
#輸出abcdefg

replace():replace()方法以指定內(nèi)容替換掉被指定內(nèi)容(默認替換全部,可指定替換次數(shù))

s = 'I like python,I like world' print(s.replace('I','You',1)) #只替換一次print(s)
#輸出You like python,I like worldI like python,I like world
#生成了新的字符串,原字符并不發(fā)生變化

join() :join()方法獲取可迭代對象中的所有項目,并將它們連接為一個字符串。必須將字符串指定為分隔符

s = ['1','2','3','4','5']  print('-'.join(s))
#輸出1-2-3-4-5
#注意s列表中的要是字符串類型

7.列表常見操作

定義一個空列表

a = []a = list()

根據(jù)索引取值

a = ['a','b','c']b = a[0]c = a[1]d = a[2]

刪除某個位置的值

a = ['a','b','c']del a[0]print(a)
#輸出['b', 'c']

遍歷整個列表

a = ['a','b','c','d','e']#通過索引遍歷for i in range(len(a)):    print(a[i])#直接遍歷取值for j in a:    print(j)

列表推導式

常用推導式

l = [i for i in range(0,10)]#可以轉(zhuǎn)換成如下的程序l = []for i in range(0,10): l.append(i)

帶if的列表推導式

l = [i for i in range(0,10) if i > 5]#可以轉(zhuǎn)換成如下程序l = []for i in range(0,10):    if i > 5:      l.append(i)

多個for的嵌套

l = [(i,j) for i in range(0,5) for j in range(6,10)]#可以轉(zhuǎn)換成如下程序l = []for i in range(0,5): for j in range(6,10): l.append((i,j))print(l)

列表的常見方法

append():給列表末尾添加一個元素

a = [1,2,3,4]a.append(5)print(a)
#輸出[1,2,3,4,5]

insert():向指定位置添加一個元素

a = [1,2,3,4,5]a.insert(2,8)print(a)
#輸出[1, 2, 8, 3, 4, 5]

extend():合并兩個列表中的元素

a = [1,2,3,4,5]b = [6,7,8,9,10]a.extend(b)print(a)
#輸出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

pop():移除列表中最后一個元素,并返回移除的那個元素

a = [1,2,3,4,5]b = a.pop()print(a)print(b)
#輸出[1, 2, 3, 4]5

sort():列表按照ASCLL值從小到大排序

a = [2,3,4,1,6,3,5,8,1]b = a.sort()print(a)
#輸出[1, 1, 2, 3, 3, 4, 5, 6, 8]

index():查找元素第一個出現(xiàn)的位置,返回下標值,找不到則報錯

a = [2,3,4,1,6,3,5,8,1]print(a.index(1))
#輸出3

reverse():將列表進行翻轉(zhuǎn)

a = [2,3,4,1,6,3,5,8,1]a.reverse()print(a)
#輸出[1, 8, 5, 3, 6, 1, 4, 3, 2]

remove():根據(jù)傳入的元素參數(shù),移除列表中第一次出現(xiàn)的元素 ,找不到則報錯

a = [2,3,4,1,6,3,5,8,1]a.remove(1)print(a)
#輸出[2, 3, 4, 6, 3, 5, 8, 1]

count():統(tǒng)計元素出現(xiàn)的次數(shù)

a = [2,3,4,1,6,3,5,8,1]b = a.count(1)print(b)
#輸出2

clear():清空列表中的元素

a = [2,3,4,1,6,3,5,8,1]a.clear()print(a)
#輸出[]

copy():拷貝列表,會返回一個新的列表

a = [2,3,4,1,6,3,5,8,1]b = a.copy()print(b)
#輸出[2, 3, 4, 1, 6, 3, 5, 8, 1]

8.字典相關操作

新建一個字典

dic = {}dict_a = dict()

給字典添加鍵值對

dic = {}dic['name'] = 'zz'dic['age'] = 18dic['height'] = 180.6dic['friend'] = ['a','b','c']

刪除字典中的鍵值對

dic = {'name':'zz','age':18,'height':20}del dic['name']

修改字典中鍵對應的值

dic = {'name':'zz','age':18,'height':20}dic['name'] = 'jay'

遍歷字典

#遍歷取出字典中的鍵值對dic = {'name':'zz','age':18,'height':20}for k,v in dic.items(): print(k,v)
#遍歷取出字典中的鍵dic = {'name':'zz','age':18,'height':20}for k in dic.keys(): print(k)
#遍歷取出字典中的值dic = {'name':'zz','age':18,'height':20}for v in dic.values(): print(v)

字典常見方法

將字典中的鍵轉(zhuǎn)換成列表

dic = {'name':'zz','age':18,'height':20}l = list(dic.keys())print(l)#輸出['name', 'age', 'height']

將字典中的值轉(zhuǎn)換成列表

dic = {'name':'zz','age':18,'height':20}l = list(dic.values())print(l)#輸出['zz', 18, 20]

update():合并兩個字典

dic = {'name':'zz','age':18,'height':20}dic.update({'w':20})print(dic)#輸出{'name': 'zz', 'age': 18, 'height': 20, 'w': 20}

9.函數(shù)相關

定義函數(shù)

#def:關鍵字#test:函數(shù)名#a,b:形式參數(shù)#return a + b:返回值def test(a,b): return a + b

調(diào)用函數(shù)

def test(a,b):    return a + b#函數(shù)調(diào)用,返回值存到變量s里面s = test(1,2)print(s)#輸出3

函數(shù)參數(shù)相關

形式參數(shù)和實際參數(shù)

#定義時,a,b為形參def test(a,b): return a + b
#調(diào)用時1,2為實參s = test(1,2)print(s)

必傳參數(shù)

#a,b為必傳參數(shù),調(diào)用時,必須傳遞兩個值,否則報錯def test(a,b):    return a + b
print(test(1,2))

默認參數(shù)

#默認參數(shù)必須放在必傳參數(shù)的后面,c=3,只能放在必傳參數(shù)a,b的后面,放前面則報錯def test(a,b,c=3): return a + b + c
#不傳,c默認為3print(test(1,2))#輸出6
#傳遞,則使用傳遞的值print(test(1,2,5))#輸出8

關鍵值參數(shù):出現(xiàn)在函數(shù)調(diào)用時

def test(a,b,c=3,*d):    print(a,b,c)    return a + b + c
#不需要按照順序傳遞,直接給參數(shù)指定值,這個就叫關鍵值參數(shù)test(b=5,a=2,c=8)

可變參數(shù):不定長參數(shù)

*arg:接受任意多個實際參數(shù)
def test(a,b,*c): print(a) print(b) print(c)
#將1賦值給a,2賦值給b,剩下的實參以元組的形式賦值給ctest(1,2,3,4,5)
#輸出12(3, 4, 5)

**kwargs:接收任意多個以關鍵字參數(shù)賦值的實際參數(shù)

def test(a,b,*c,**kwargs):    print(a)    print(b)    print(c)    print(kwargs)
#d=1,3=2,f=3,以字典的形式賦值給kwargstest(1,2,3,4,5,d=1,e=2,f=3)
#輸出12(3, 4, 5){'d': 1, 'e': 2, 'f': 3}

匿名函數(shù)

# x,y為匿名函數(shù)的參數(shù),x+y為返回值lambda x,y:x+y

10.作用域相關

全局作用域(G),局部作用域(L),閉包作用域(E),內(nèi)置作用域(B)

#頂層模塊中所有函數(shù)外創(chuàng)建的全局變量,此時的 a 就是全局作用域中的變量a = 1def test():    #存在嵌套函數(shù)中,為其外層作用域,此時的a就是inner的閉包作用域的變量    a = 2    def inner():        #在函數(shù)內(nèi)部或lambda、類中的全局局部變量中,調(diào)用函數(shù)時才會創(chuàng)建,a此時為inner的局部作用域中的變量        a = 3    inner()test()

變量一般訪問順序:L->E->G->B

a = 1def test(): a = 2 def inner(): a = 3 print(a) inner()
test()#輸出3
#======================a = 1def test(): a = 2 def inner(): print(a) inner()
test()#輸出2
#========================a = 1def test(): def inner(): print(a) inner()
test()#輸出1

修改不同作用域中的變量

global:聲明修改全局作用域中的值

a = 1def test():    global a    #直接修改會報錯    a += 1    def inner():        global a        a += 1        print(a)    inner()
test()#輸出3

nonlocal:聲明修改閉包作用域中的值

a = 1def test(): a = 2 def inner(): nonlocal a a += 1 print(a) inner()
test()#輸出3

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多