午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python基礎(chǔ)知識(shí)自學(xué)整理1

 網(wǎng)海拾貝網(wǎng)絡(luò)豬 2018-12-15

1.1 設(shè)置代碼格式,養(yǎng)成一個(gè)良好的Python代碼編寫習(xí)慣

2.1變量

3.1輸入和輸出

4.1運(yùn)算符

5.1 數(shù)據(jù)類型:整型

5.2 數(shù)據(jù)類型:浮點(diǎn)型

5.3 數(shù)據(jù)類型:字符串

5.3.1 字符串方法,注意字符串方法的用法,str.方法

5.4 數(shù)據(jù)類型:布爾值

6.1 容器內(nèi)容一:列表

6.1.1:列表的方法

6.2 容器二:元組

6.3容器三:字典

6.3.1.字典的方法

7.1 容器四:集合

8.1 控制流語(yǔ)句if,while,for

9.1函數(shù)

10.1函數(shù)編寫指南

 

 

       

 

1.1 設(shè)置代碼格式,養(yǎng)成一個(gè)良好的Python代碼編寫習(xí)慣

1. 縮進(jìn)

建議每級(jí)縮進(jìn)都使用四個(gè)空格

2. 行長(zhǎng)

每行不超過80個(gè)字符

3. 空行

合理使用空行來(lái)讓代碼更利于閱讀

2.1變量

例子1:變量的定義,通過=賦值,命名原則如下:

1)變量名只能包含 數(shù)字、字母、下劃線;

2)變量名不能使用數(shù)字開頭;

3)變量名不能包含空格,但可以使用下劃線_來(lái)區(qū)分不同意義的單詞;

4)變量名應(yīng)該既簡(jiǎn)單又具有描述性;

5)變量名最好使用小寫。

6)不要將Python關(guān)鍵字和函數(shù)名用作變量名。

例子2: 整型賦值給變量

>>> spam= 40

>>> spam

40

例子3: 字符串賦值給變量

>>> spam= 'Hello'

>>> spam

'Hello'

例子4: 函數(shù)返回值賦值給變量

>>>myName = input()

I am Olivia

>>>myName

'I am Olivia'

例子5: 列表,元組,字典,集合賦值給變量,列表賦值給多個(gè)變量

>>>girlName, boyName, itName = ['Olivia', 'Jerry', 'dog']

>>>girlName

'Olivia'

>>>boyName

'Jerry'

>>>itName

'dog'

>>> spam= (1, 2, 4)

>>> spam

(1, 2, 4)

>>> myCat= {'size':'fat', 'color':'gray', 'disposition':'loud'}

>>> myCat

{'size':'fat','color':'gray', 'disposition':'loud'}

>>>treeName = {'a', 'b', 'c'}

>>>treeName

{'b', 'a', 'c'}

例子6: 注意變量的特性,可以將復(fù)雜的表達(dá)式或者計(jì)算式賦值給變量,后續(xù)只通過使用變量名來(lái)完成復(fù)雜的表達(dá)或者計(jì)算過程。

>>>first_name = 'ada'

>>>last_name = 'lovelace'

>>>full_name = first_name + '' + last_name

>>>message = 'hello' + full_name.title() + '!'

>>>print(message)

例子7:變量的一個(gè)重要特性,變量代表的是一種引用(只對(duì)可變數(shù)據(jù)類型來(lái)說(shuō),變量賦值的是引用;對(duì)于不可變類型比如數(shù)值、字符串、元組,變量保存的是值非引用),并不是把真實(shí)值賦值給了變量

>>>treeName = ['a', 'b', 'c']

>>>myName = treeName

>>>myName

['a', 'b', 'c']

>>> treeName[1]= treeName[0]

>>>myName

['a', 'a', 'c']

例子8:增強(qiáng)賦值,利用變量自己給自己賦值

>>> spam= 'Jerry'

>>> spam= spam + 'Olivia'

>>> spam

'JerryOlivia'

用變量自己給自己賦值,有以下幾種符號(hào):+=,-=,*=,/=,%=

>>> spam+= 'Olivia'

>>> spam

'JerryOliviaOlivia'

3.1輸入和輸出

例子1:print()輸出,print在用逗號(hào)分隔的情況下,會(huì)自動(dòng)用空格分隔;

 +連接2個(gè)字符串的時(shí)候,之間是沒有空格的

>>>print('I am a good girl.')

I am a good girl.

>>> a ='Jerry'

print('I am a goodgirl' + 'and' + a)

I am a goodgirlandJerry

>>>print('I am a good girl', 'and', a)

I am a good girland Jerry

例子2:改變print在有逗號(hào)的情況下默認(rèn)空格分隔的行為

>>>print('cat', 'dog', 'mouse', seq = ',') #注意一下這句代碼,結(jié)果出錯(cuò)

cat,dog,mouse

 

例子3:改變print的另一個(gè)默認(rèn)行為:在每一個(gè)字符串后面添加換行符

>>> deftest():

              print('hello')

              print('world')

上面這個(gè)代碼有問題,注意格式,正確代碼如下:

>>> deftest():

               print('hello')

               print('world')

>>>test()

hello

world

>>> defotest():

                      print('hello', end = '')   #添加的是空字符,而不是空格字符

                      print('world')

>>>otest()

helloworld

>>> defatest():

                      print('hello', end = '+')

                      print('world')

>>> atest()

hello+world

 

例子4:format函數(shù), 是一個(gè)字符串方法str.format()

>>> age =25

>>> name= 'Caroline'

str.format()中str的參數(shù)使用{num}進(jìn)行表示,0表示第一個(gè)參數(shù),1表示第二個(gè)參數(shù),

>>>print('{0} is {1} years old.'.format(name, age))  #輸出參數(shù)

Caroline is 25years old.

>>>print('{0} is a girl.'.format(name))  #

Caroline is agirl.

 :代表元素需要的操作,{:.3}代表小數(shù)點(diǎn)后需要三位,{:8}占8個(gè)字符串空間,沒有的用空格填充

>>>print('{0:.3} is a decimal.'.format(1/3)) #小數(shù)點(diǎn)后三位

0.333 is a decimal

>>>print('{0:_^11} is a 11 length.'.format(name)) #使用_補(bǔ)齊空位

_Caroline__ is a11 length

>>> print('{first}is as {second}.'.format(first=name, second='Wendy'))  #別名替換

Caroline is asWendy

>>>print('My name is {0.name}'.format(open('out.txt', 'w')))  #調(diào)用方法

My name is out.txt

>>>print('My name is {0:8}.'.format('Fred')) #指定寬度

My name isFred    .

4.1運(yùn)算符

例子1:運(yùn)算符本身的計(jì)算結(jié)果,+、-、*、/、//、%、**

>>> 2 + 2

4

>>> 4 - 2

2

>>> 4 * 5

20

>>> 6 / 3#除法,即使能整除,也是浮點(diǎn)數(shù)結(jié)果

2.0

>>> 8 //3 #商數(shù)取整

2

>>> 9 % 2

1

>>> 2 **2 #指數(shù)

4

例子2:運(yùn)算符之間是存在優(yōu)先級(jí)別的,詳細(xì)優(yōu)先級(jí)(優(yōu)先級(jí)排序:1.指數(shù) 2.%,/,//,* 3.-,+ 4.&,5.比較操作符 6.賦值操作符 7.標(biāo)示操作符 8.成員操作符 9.邏輯操作符 )

>>> 5 **2 // 4 % 3

0

>>> 5 **2 / 4 % 3

0.25

>>> (5 **2) / ( 4 % 3)

25

轉(zhuǎn)義字符的用法

>>>print('Hello there!\nHow are you?\nI\'m doing fine.')

Hello there!

How are you?

I'm doing fine.

5.1 數(shù)據(jù)類型:整型

例子1:整型自帶的整型轉(zhuǎn)換器int(),不同用法

>>>int(34.5)

34

>>>int('ox2d', 16)

45

>>> int('0o55',8)

45

>>>int('ob101101', 2)

45

>>>int(0b101101)

45

>>>int(0o55)

45

>>> x =0b101101

>>>int(x)

45

>>> x =0x2d

>>>int(x)

45

例子2:將整型轉(zhuǎn)化成二進(jìn)制、八進(jìn)制、十六進(jìn)制

>>> x =45

>>>bin(x)

'0b101101'

>>>oct(x)

'0o55'

>>>hex(x)

'0x2d'

例子3:如果輸出結(jié)果不想帶0b、0x、0o,可以使用format()函數(shù)

>>> x =45

>>>format(x, 'b')

'101101'

>>>format(x, 'x')

'2d'

>>>format(x, 'o')

'55'

5.2 數(shù)據(jù)類型:浮點(diǎn)型

例子1:利用float()函數(shù)將其他類型轉(zhuǎn)換成浮點(diǎn)型

>>>float(True)

1.0

>>>float(False)

0.0

>>>float(98)

98.0

>>>float('99')

99.0

>>>float('98.0') #將包含有效浮點(diǎn)數(shù)的字符串轉(zhuǎn)換為真正的浮點(diǎn)型數(shù)字

98.0

5.3 數(shù)據(jù)類型:字符串

例子1:創(chuàng)建字符串,注意:字符串不可變

>>>'Snap'

'Snap'

>>>'Crackle'

'Crackle'

 

例子2:雙引號(hào)的作用體現(xiàn)在當(dāng)創(chuàng)建本身就包含單引號(hào)的字符串

>>>''Nay, ' said the naysayer.'

''Nay, ' saidthe naysayer.'

例子3:當(dāng)字符串中單引號(hào)和雙引號(hào)都有的時(shí)候,需要用到轉(zhuǎn)義符\''

>>> '\'do you know \''

''do youknow''

#備注:三元引號(hào)'''或者'''用于創(chuàng)建多行字符串

例子4:用+連接2個(gè)字符換類型的數(shù)據(jù),注意+連接的2個(gè)必須都是字符串類型

>>>'Alice'+'Olivia'

'AliceOlivia'

>>> x =99

>>> y =str(x)

>>> z=str(x) + y

>>> z

'9999'

例子5:當(dāng)字符串和*相遇的時(shí)候,*代表復(fù)制

>>>'Alice'*6

'AliceAliceAliceAliceAliceAlice'

例子6:原始字符串,忽略字符串中的轉(zhuǎn)義符號(hào),打印出原始字符串

>>>print(r'That is Carol\'s cat.')

That is Carol\'scat.

 

例子7:用下標(biāo)可以獲取子字符串,下標(biāo)注意:從開始下標(biāo)開始,從結(jié)束下標(biāo)-1結(jié)束。

>>> spam= 'Hello world!'

>>>spam[0]

'H'

>>>spam[4]

'o'

>>>spam[-1]

'!'

>>>spam[0:5]

'Hello'

>>>spam[6:]

'world!'

 

>>> fizz= spam[0:5]

>>> fizz

'Hello'

通過切片并將結(jié)果子字符串保存在另一個(gè)變量中,就可以同時(shí)擁有完整的字符串和子字符串,便于快速簡(jiǎn)單的訪問。

例子8:字符串中in和not in

>>>'Hello' in 'Hello world'

True

>>>'cats' not in 'cats and dogs'

False

5.3.1 字符串方法,注意字符串方法的用法,str.方法

例子1:upper()和lower()

>>> spam= 'Hello world!'

>>> spam= spam.upper()

>>> spam

'HELLO WORLD!'

>>> spam= spam.lower()

>>> spam

'hello world!'

upper()和lower()方法,返回的是一個(gè)新的字符串,不會(huì)改變?cè)瓉?lái)的字符串,若想改變?cè)瓉?lái)的字符串可以把返回的新的字符串賦值給原來(lái)的變量,如上面的例子。

>>> spam= 'My name is Olivia.'

>>>spam.upper()

'MY NAME ISOLIVIA.'

>>> spam

'My name isOlivia.'

例子2:isupper()和islower()

>>> spam= 'Hello world!'

>>>spam.islower()

False

>>>spam.isupper()

False

>>>'HELLO'.isupper()

True

>>>'abc12345'.islower() #只判斷所有的字母都是小寫或大寫

True

>>>'12345'.islower()

False

>>>'12345'.isupper()

False

 

例子3:綜合應(yīng)用,返回True和False的方法關(guān)注一下,可以應(yīng)用到if或者while循環(huán)中用于判斷

while True:

       print('Enter your age:')

       age = input()

       if age.isdecimal():

              break

       print('Please enter a number for yourage.')

 

while True:

       print('Select a new password (letters andnumbers only):')

       password = input()

       if password.isalnum():

              break

       print('Passwords can only have lettersand numbers.')

 

例子4:startswith()、endswith(),當(dāng)只是檢查字符串的開頭或結(jié)束部分的時(shí)候,這兩個(gè)方法很好用

>>>'Hello world!'.startswith('Hello')

True

>>>'Hello world!'.endswith('world!')

True

>>>'abc123'.startswith('abcdef')

False

>>>'abc123'.endswith('12')

False

>>>'Hello world!'.startswith('Hello world!')

True

>>>'Hello world!'.endswith('Hello world!')

True

 

例子5:isalpha():如果字符串只包含字母,返回true,無(wú)參數(shù),注意用法str.isalpha()

>>> str1= 'my name is Olivia'

>>> str1.isalpha()

>>>str1.isalpha()

False #str1字符串中包含空格了

>>> str2= 'my'

>>>str2.isalpha()

True

 

例子6:isalnum():如果字符串只包含字母和數(shù)字,返回true,無(wú)參數(shù),注意用法str.isalnum()

>>> str3= 'myname 123'

>>>str3.isalnum()

False #包含空格

>>> str4= 'myname123'

True

>>> str5= '123'

>>> str5.isalnum()

True

>>> str6= 'my'

>>>str6.isalnum()

True

 

例子7:isdecimal():如果字符串只包含數(shù)字字符,返回true,無(wú)參數(shù),注意用法str.isdecimal()

>>> str7= '123 4'

>>>str7.isdecimal()

False #包含空格

>>> str8= 'my'

>>>str8.isdecimal()

False

>>> str9= '123'

>>>str9.isdecimal()

True

 

例子8:isspace():如果字符串只包含空格、制表符、換行,返回true,注意用法,str.isspace()

 

例子9: istitle():如果字符串只包含以大寫字母開頭,后面都是小寫字母的單詞,返回true,注意用法str.istitle()

>>> str10= 'My name is olivia'

>>>str10.istitle()

False

>>> str11= 'Mynameisolivia'

>>>str11.istitle()

True

 

例子10: title()方法可以修改字符串中單詞的大小寫

>>> name= 'ada lovelace'

>>>print(name.title())

Ada Lovelace

總結(jié):三種方法可以修改字符串的大小寫, title(), upper(),lower()因?yàn)槲覀儫o(wú)法依靠用戶來(lái)正確的輸入字符串的大小寫,所以可以通過這幾種方法對(duì)字符串進(jìn)行處理后

再執(zhí)行別的代碼。

 

例子11: join():將一個(gè)字符串列表中的值連接起來(lái)形成一個(gè)單獨(dú)的字符串,使用方法:連接符號(hào).join(列表或列表變量)

>>> ','.join(['cats', 'rats', 'bats'])

'cats, rats, bats'

>>> ''.join(['My', 'name', 'is', 'Simon'])

'My name is Simon'

>>>'ABC'.join(['My', 'name', 'is', 'Simon'])

'MyABCnameABCisABCSimon'

 

例子12:split():針對(duì)字符串調(diào)用,返回字符串列表,有參數(shù),參數(shù)是分隔符(即確定按照字符串中什么符號(hào)進(jìn)行分割),注意用法str.split(參數(shù))默認(rèn)的分隔符:空格、制表符、換行符

>>> 'Myname is Simon'.split()

['My', 'name','is', 'Simon']

也可以向split()中輸入一個(gè)分割字符串

>>>'MyABCnameABCisABCSimon'.split('ABC')

['My', 'name','is', 'Simon']

split()一個(gè)常見的用法,按照換行符分割多行字符串

>>> spam= ''' Dear Alice,

How have you been?I am fine.

There is acontainer in the fridge

that is labeled'Milk Experiment'.

 

Please do notdrink it.

Sincerely,

Bob'''

>>>spam.split('\n')

['Dear Alice,','How have you been? I am fine.', 'There is a container in the fridge', 'that islabeled 'Milk Experiment'.','','Please do not drink it.','Sincerely,','Bob']

 

例子13:rjust():用于對(duì)齊字符串(右對(duì)齊),有兩個(gè)參數(shù),第一個(gè)參數(shù)是整數(shù),代表字符串長(zhǎng)度;第二個(gè)參數(shù)是填充字符,在沒有第二個(gè)參數(shù)的情況下默認(rèn)填充字符是空格

ljust()代表左對(duì)齊,始終記住字符串方法的用法str.rjust()

>>>'Hello'.rjust(20, '*')

'***************Hello'

>>>'Hello'.ljust(20, '-')

'Hello---------------'

 

例子14:center()字符串方法與ljust()與rjust()方法類似,讓文本居中

 

例子15:strip():返回一個(gè)新字符串,把字符串左邊、右邊或兩邊的空白字符(空格、制表符、換行符)刪除掉,lstrip()刪除左邊的,rstrip()刪除右邊的

strip()有一個(gè)可選參數(shù),代表刪除字符串兩端中出現(xiàn)參數(shù)的字符

>>> spam= 'SpamSpamBaconSpamEggsSpamSpam'

>>>spam.strip('ampS')

'BaconSpamEggs' #注意參數(shù)中的字符順序并不重要,ampS,Spam,mapS是一樣的

 

>>> name= '    python'

>>>name.lstrip() #只是輸出了新的字符串,但是并沒有修改原來(lái)的name

'python'

>>> name

'    python'

>>> name= name.lstrip() #若想要永久的保存刪除空格后的字符串,需要將新字符串賦值到原來(lái)的變量中

>>> name

'python'

 

 

例子16:用pyperclip模塊拷貝粘貼字符串,pyperclip()模塊有copy()和paste()函數(shù),模塊非自帶,需要安裝,安裝完成后要導(dǎo)入

>>>import pyperclip

>>>pyperclip.copy('Hello World!')

>>>pyperclip.paste()

'Hello World!'

 

例子17:pop(),獲取列表中指定偏移量的元素,在獲取之后,改元素自動(dòng)被刪除;返回值是被刪除的值,參數(shù)是偏移量,如果不指定偏移量,默認(rèn)參數(shù)為-1

 

5.4 數(shù)據(jù)類型:布爾值

布爾值只有2個(gè)值False和True,注意區(qū)分大小寫,都可以保存在變量里,0,0.0,''被認(rèn)為是False

 

數(shù)據(jù)類型:NoneType,只有一個(gè)值None

 

總結(jié),上面介紹的是Python原子內(nèi)容,下面總結(jié)Python容器相關(guān)的內(nèi)容,主要包括:元組、列表、字典、集合


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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多