九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
輕松學(xué)Python:Python基礎(chǔ)知識(shí)匯總

Python基礎(chǔ)01 Hello World!

Python命令行

假設(shè)你已經(jīng)安裝好了Python, 那么在命令提示符輸入:

python

將直接進(jìn)入python。然后在命令行提示符>>>后面輸入:

>>>print('Hello World!')

可以看到,隨后在屏幕上輸出:

print是一個(gè)常用函數(shù),其功能就是輸出括號(hào)中得字符串。

(在Python 2.x中,print還可以是一個(gè)關(guān)鍵字,可寫成print 'Hello World!',但這在3.x中行不通)

寫一段小程序

另一個(gè)使用Python的方法,是寫一個(gè)Python程序。用文本編輯器寫一個(gè).py結(jié)尾的文件,比如說hello.py

在hello.py中寫入如下,并保存:

print('Hello World!')

退出文本編輯器,然后在命令行輸入:

$python hello.py

來運(yùn)行hello.py??梢钥吹絇ython隨后輸出

Hello World!

Python基礎(chǔ)02 基本數(shù)據(jù)類型

變量不需要聲明

Python的變量不需要聲明,你可以直接輸入:

那么你的內(nèi)存里就有了一個(gè)變量a, 它的值是10,它的類型是integer (整數(shù))。 在此之前你不需要做什么特別的聲明,而數(shù)據(jù)類型是Python自動(dòng)決定的。

>>>print(a)

>>>print(type(a))

那么會(huì)有如下輸出:

10

這里,我們學(xué)到一個(gè)內(nèi)置函數(shù)type(), 用以查詢變量的類型。

回收變量名

如果你想讓a存儲(chǔ)不同的數(shù)據(jù),你不需要?jiǎng)h除原有變量就可以直接賦值。

>>>a = 1.3

>>>print(a,type(a))

會(huì)有如下輸出

1.3

我們看到print的另一個(gè)用法,也就是print后跟多個(gè)輸出,以逗號(hào)分隔。

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

a=10# int 整數(shù)

a=1.3# float 浮點(diǎn)數(shù)

a=True # 真值 (True/False)

a='Hello!' # 字符串。字符串也可以用雙引號(hào)。

以上是最常用的數(shù)據(jù)類型。此外還有分?jǐn)?shù),字符,復(fù)數(shù)等其他類型,有興趣的可以學(xué)習(xí)一下。

變量不需要聲明,不需要?jiǎng)h除,可以直接回收適用。

type(): 查詢數(shù)據(jù)類型

整數(shù),浮點(diǎn)數(shù),真值,字符串

Python基礎(chǔ)03 序列

sequence 序列

sequence(序列)是一組有順序的元素的集合

(嚴(yán)格的說,是對象的集合,但鑒于我們還沒有引入“對象”概念,暫時(shí)說元素)

序列可以包含一個(gè)或多個(gè)元素,也可以沒有任何元素。

我們之前所說的基本數(shù)據(jù)類型,都可以作為序列的元素。元素還可以是另一個(gè)序列,以及我們以后要介紹的其他對象。

序列有兩種:tuple(定值表; 也有翻譯為元組) 和 list (表)

>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)# s1是一個(gè)tuple

>>>s2 = [True, 5, 'smile']# s2是一個(gè)list

>>>print(s1,type(s1))

>>>print(s2,type(s2))

tuple和list的主要區(qū)別在于,一旦建立,tuple的各個(gè)元素不可再變更,而list的各個(gè)元素可以再變更。

一個(gè)序列作為另一個(gè)序列的元素

>>>s3 = [1,[3,4,5]]

空序列

>>>s4 = []

元素的引用

序列元素的下標(biāo)從0開始:

>>>print(s1[0])

>>>print(s2[2])

>>>print(s3[1][2])

由于list的元素可變更,你可以對list的某個(gè)元素賦值:

>>>s2[1] = 3.0

>>>print(s2)

如果你對tuple做這樣的操作,會(huì)得到錯(cuò)誤提示。

所以,可以看到,序列的引用通過s[]實(shí)現(xiàn), int為下標(biāo)

其他引用方式

范圍引用: 基本樣式[下限:上限:步長]

>>>print(s1[:5])# 從開始到下標(biāo)4 (下標(biāo)5的元素 不包括在內(nèi))

>>>print(s1[2:])# 從下標(biāo)2到最后

>>>print(s1[0:5:2])# 從下標(biāo)0到下標(biāo)4 (下標(biāo)5不包括在內(nèi)),每隔2取一個(gè)元素 (下標(biāo)為0,2,4的元素)

>>>print(s1[2:0:-1])# 從下標(biāo)2到下標(biāo)1

從上面可以看到,在范圍引用的時(shí)候,如果寫明上限,那么這個(gè)上限本身不包括在內(nèi)。

尾部元素引用

>>>print(s1[-1])# 序列最后一個(gè)元素

>>>print(s1[-3])# 序列倒數(shù)第三個(gè)元素

同樣,如果s1[0:-1], 那么最后一個(gè)元素不會(huì)被引用 (再一次,不包括上限元素本身)

字符串是元組

字符串是一種特殊的元組,因此可以執(zhí)行元組的相關(guān)操作。

>>>str = 'abcdef'

>>>print(str[2:4])

tuple元素不可變,list元素可變

序列的引用 s[2], s[1:8:2]

字符串是一種tuple

Python基礎(chǔ)04 運(yùn)算

數(shù)學(xué)運(yùn)算

>>>print 1+9# 加法

>>>print 1.3-4# 減法

>>>print 3*5# 乘法

>>>print 4.5/1.5# 除法

>>>print 3**2# 乘方

>>>print 10%3# 求余數(shù)

判斷

判斷是真還是假,返回True/False

>>>print 5==6# =, 相等

>>>print 8.0!=8.0# !=, 不等

>>>print 3

>>>print 4>5, 4>=0# >, 大于; >=, 大于等于

>>>print 5 in [1,3,5]# 5是list [1,3,5]的一個(gè)元素

(還有is, is not等, 暫時(shí)不深入)

邏輯運(yùn)算

True/False之間的運(yùn)算

>>>print True and True, True and False# and, “與”運(yùn)算, 兩者都為真才是真

>>>print True or False# or, '或'運(yùn)算, 其中之一為真即為真

>>>print not True# not, “非”運(yùn)算, 取反

可以和上一部分結(jié)合做一些練習(xí),比如:

>>>print 5==6 or 3>=3

數(shù)學(xué)+, -, *, /, **, %

判斷==, !=, >, >=,

邏輯and, or, not

Python基礎(chǔ)05 縮進(jìn)和選擇

縮進(jìn)

Python最具特色的是用縮進(jìn)來標(biāo)明成塊的代碼。我下面以if選擇結(jié)構(gòu)來舉例。if后面跟隨條件,如果條件成立,則執(zhí)行歸屬于if的一個(gè)代碼塊。

先看C語言的表達(dá)方式(注意,這是C,不是Python!)

如果i > 0的話,我們將進(jìn)行括號(hào)中所包括的兩個(gè)賦值操作。括號(hào)中包含的就是塊操作,它隸屬于if。

在Python中,同樣的目的,這段話是這樣的

在Python中, 去掉了i > 0周圍的括號(hào),去除了每個(gè)語句句尾的分號(hào),表示塊的花括號(hào)也消失了。

多出來了if ...之后的:(冒號(hào)), 還有就是x = 1 和 y =2前面有四個(gè)空格的縮進(jìn)。通過縮進(jìn),Python識(shí)別出這兩個(gè)語句是隸屬于if。

Python這樣設(shè)計(jì)的理由純粹是為了程序好看。

if語句

寫一個(gè)完整的程序,命名為ifDemo.py。這個(gè)程序用于實(shí)現(xiàn)if結(jié)構(gòu)。

$python ifDemo.py# 運(yùn)行

程序運(yùn)行到if的時(shí)候,條件為True,因此執(zhí)行x = x+1,。

print x語句沒有縮進(jìn),那么就是if之外。

如果將第一句改成i = -1,那么if遇到假值 (False), x = x+1隸屬于if, 這一句跳過。 print x沒有縮進(jìn),是if之外,不跳過,繼續(xù)執(zhí)行。

這種以四個(gè)空格的縮進(jìn)來表示隸屬關(guān)系的書寫方式,以后還會(huì)看到。強(qiáng)制縮進(jìn)增強(qiáng)了程序的可讀性。

復(fù)雜一些的if選擇:

這里有三個(gè)塊,分別屬于if, elif, else引領(lǐng)。

Python檢測條件,如果發(fā)現(xiàn)if的條件為假,那么跳過后面緊跟的塊,檢測下一個(gè)elif的條件; 如果還是假,那么執(zhí)行else塊。

通過上面的結(jié)構(gòu)將程序分出三個(gè)分支。程序根據(jù)條件,只執(zhí)行三個(gè)分支中的一個(gè)。

整個(gè)if可以放在另一個(gè)if語句中,也就是if結(jié)構(gòu)的嵌套使用:

if i > 2 后面的塊相對于該if縮進(jìn)了四個(gè)空格,以表明其隸屬于該if,而不是外層的if。

if語句之后的冒號(hào)

以四個(gè)空格的縮進(jìn)來表示隸屬關(guān)系, Python中不能隨意縮進(jìn)

if :

statement

elif :

statement

elif :

statement

else:

statement

Python基礎(chǔ)07 函數(shù)

函數(shù)最重要的目的是方便我們重復(fù)使用相同的一段程序。

將一些操作隸屬于一個(gè)函數(shù),以后你想實(shí)現(xiàn)相同的操作的時(shí)候,只用調(diào)用函數(shù)名就可以,而不需要重復(fù)敲所有的語句。

函數(shù)的定義

首先,我們要定義一個(gè)函數(shù), 以說明這個(gè)函數(shù)的功能。

defsquare_sum(a,b): c = a**2 + b**2returnc

這個(gè)函數(shù)的功能是求兩個(gè)數(shù)的平方和。

首先,def,這個(gè)關(guān)鍵字通知python:我在定義一個(gè)函數(shù)。square_sum是函數(shù)名。

括號(hào)中的a, b是函數(shù)的參數(shù),是對函數(shù)的輸入。參數(shù)可以有多個(gè),也可以完全沒有(但括號(hào)要保留)。

我們已經(jīng)在循環(huán)和選擇中見過冒號(hào)和縮進(jìn)來表示的隸屬關(guān)系。

c = a**2 + b**2# 這一句是函數(shù)內(nèi)部進(jìn)行的運(yùn)算

return c# 返回c的值,也就是輸出的功能。Python的函數(shù)允許不返回值,也就是不用return。

return可以返回多個(gè)值,以逗號(hào)分隔。相當(dāng)于返回一個(gè)tuple(定值表)。

return a,b,c# 相當(dāng)于 return (a,b,c)

在Python中,當(dāng)程序執(zhí)行到return的時(shí)候,程序?qū)⑼V箞?zhí)行函數(shù)內(nèi)余下的語句。return并不是必須的,當(dāng)沒有return, 或者return后面沒有返回值時(shí),函數(shù)將自動(dòng)返回None。None是Python中的一個(gè)特別的數(shù)據(jù)類型,用來表示什么都沒有,相當(dāng)于C中的NULL。None多用于關(guān)鍵字參數(shù)傳遞的默認(rèn)值。

函數(shù)調(diào)用和參數(shù)傳遞

定義過函數(shù)后,就可以在后面程序中使用這一函數(shù)

printsquare_sum(3,4)

Python通過位置,知道3對應(yīng)的是函數(shù)定義中的第一個(gè)參數(shù)a, 4對應(yīng)第二個(gè)參數(shù)b,然后把參數(shù)傳遞給函數(shù)square_sum。

(Python有豐富的參數(shù)傳遞方式,還有關(guān)鍵字傳遞、表傳遞、字典傳遞等,基礎(chǔ)教程將只涉及位置傳遞)

函數(shù)經(jīng)過運(yùn)算,返回值25, 這個(gè)25被print打印出來。

我們再看下面兩個(gè)例子

第一個(gè)例子,我們將一個(gè)整數(shù)變量傳遞給函數(shù),函數(shù)對它進(jìn)行操作,但原整數(shù)變量a不發(fā)生變化。

第二個(gè)例子,我們將一個(gè)表傳遞給函數(shù),函數(shù)進(jìn)行操作,原來的表b發(fā)生變化。

對于基本數(shù)據(jù)類型的變量,變量傳遞給函數(shù)后,函數(shù)會(huì)在內(nèi)存中復(fù)制一個(gè)新的變量,從而不影響原來的變量。(我們稱此為值傳遞)

但是對于表來說,表傳遞給函數(shù)的是一個(gè)指針,指針指向序列在內(nèi)存中的位置,在函數(shù)中對表的操作將在原有內(nèi)存中進(jìn)行,從而影響原有變量。 (我們稱此為指針傳遞)

Python基礎(chǔ)09 面向?qū)ο蟮倪M(jìn)一步拓展

調(diào)用類的其它信息

上一講中提到,在定義方法時(shí),必須有self這一參數(shù)。這個(gè)參數(shù)表示某個(gè)對象。對象擁有類的所有性質(zhì),那么我們可以通過self,調(diào)用類屬性。

這里有一個(gè)類屬性laugh。在方法show_laugh()中,通過self.laugh,調(diào)用了該屬性的值。

還可以用相同的方式調(diào)用其它方法。方法show_laugh(),在方法laugh_100th中()被調(diào)用。

通過對象可以修改類屬性值。但這是危險(xiǎn)的。類屬性被所有同一類及其子類的對象共享。類屬性值的改變會(huì)影響所有的對象。

__init__()方法

__init__()是一個(gè)特殊方法(special method)。Python有一些特殊方法。Python會(huì)特殊的對待它們。特殊方法的特點(diǎn)是名字前后有兩個(gè)下劃線。

如果你在類中定義了__init__()這個(gè)方法,創(chuàng)建對象時(shí),Python會(huì)自動(dòng)調(diào)用這個(gè)方法。這個(gè)過程也叫初始化。

這里繼承了Bird類,它的定義見上一講。

屏幕上打印:

We are happy birds.Happy,Happy!

我們看到,盡管我們只是創(chuàng)建了summer對象,但__init__()方法被自動(dòng)調(diào)用了。最后一行的語句(summer = happyBird...)先創(chuàng)建了對象,然后執(zhí)行:

summer.__init__(more_words)

'Happy,Happy!' 被傳遞給了__init__()的參數(shù)more_words

對象的性質(zhì)

我們講到了許多屬性,但這些屬性是類的屬性。所有屬于該類的對象會(huì)共享這些屬性。比如說,鳥都有羽毛,雞都不會(huì)飛。

在一些情況下,我們定義對象的性質(zhì),用于記錄該對象的特別信息。比如說,人這個(gè)類。性別是某個(gè)人的一個(gè)性質(zhì),不是所有的人類都是男,或者都是女。這個(gè)性質(zhì)的值隨著對象的不同而不同。李雷是人類的一個(gè)對象,性別是男;韓美美也是人類的一個(gè)對象,性別是女。

當(dāng)定義類的方法時(shí),必須要傳遞一個(gè)self的參數(shù)。這個(gè)參數(shù)指代的就是類的一個(gè)對象。我們可以通過操縱self,來修改某個(gè)對象的性質(zhì)。比如用類來新建一個(gè)對象,即下面例子中的li_lei, 那么li_lei就被self表示。我們通過賦值給self.attribute,給li_lei這一對象增加一些性質(zhì),比如說性別的男女。self會(huì)傳遞給各個(gè)方法。在方法內(nèi)部,可以通過引用self.attribute,查詢或修改對象的性質(zhì)。

這樣,在類屬性的之外,又給每個(gè)對象增添了各自特色的性質(zhì),從而能描述多樣的世界。

在初始化中,將參數(shù)input_gender,賦值給對象的性質(zhì),即self.gender。

li_lei擁有了對象性質(zhì)gender。gender不是一個(gè)類屬性。Python在建立了li_lei這一對象之后,使用li_lei.gender這一對象性質(zhì),專門儲(chǔ)存屬于對象li_lei的特有信息。

對象的性質(zhì)也可以被其它方法調(diào)用,調(diào)用方法與類屬性的調(diào)用相似,正如在printGender()方法中的調(diào)用。

Python基礎(chǔ)10 反過頭來看看

最初的“Hello World”,走到面向?qū)ο蟆T摶剡^頭來看看,教程中是否遺漏了什么。

我們之前提到一句話,'Everything is Object'. 那么我們就深入體驗(yàn)一下這句話。

需要先要介紹兩個(gè)內(nèi)置函數(shù),dir()和help()

dir()用來查詢一個(gè)類或者對象所有屬性。你可以嘗試一下

>>>print dir(list)

help()用來查詢的說明文檔。你可以嘗試一下

>>>print help(list)

(list是Python內(nèi)置的一個(gè)類,對應(yīng)于我們之前講解過的列表)

list是一個(gè)類

在上面以及看到,表是Python已經(jīng)定義好的一個(gè)類。當(dāng)我們新建一個(gè)表時(shí),比如:

>>>nl = [1,2,5,3,5]

實(shí)際上,nl是類list的一個(gè)對象。

實(shí)驗(yàn)一些list的方法:

>>>print nl.count(5)# 計(jì)數(shù),看總共有多少個(gè)5

>>>print nl.index(3)# 查詢 nl 的第一個(gè)3的下標(biāo)

>>>nl.append(6)# 在 nl 的最后增添一個(gè)新元素6

>>>nl.sort()# 對nl的元素排序

>>>print nl.pop()# 從nl中去除最后一個(gè)元素,并將該元素返回。

>>>nl.remove(2)# 從nl中去除第一個(gè)2

>>>nl.insert(0,9)# 在下標(biāo)為0的位置插入9

總之,list是一個(gè)類。每個(gè)列表都屬于該類。

Python補(bǔ)充中有l(wèi)ist常用方法的附錄。

運(yùn)算符是特殊方法

使用dir(list)的時(shí)候,能看到一個(gè)屬性,是__add__()。從形式上看是特殊方法(下劃線,下劃線)。它特殊在哪呢?

這個(gè)方法定義了'+'運(yùn)算符對于list對象的意義,兩個(gè)list的對象相加時(shí),會(huì)進(jìn)行的操作。

>>>print [1,2,3] + [5,6,9]

運(yùn)算符,比如+, -, >,

嘗試一下

>>>print [1,2,3] - [3,4]

會(huì)有錯(cuò)誤信息,說明該運(yùn)算符“-”沒有定義。現(xiàn)在我們繼承l(wèi)ist類,添加對'-'的定義

內(nèi)置函數(shù)len()用來返回list所包含的元素的總數(shù)。內(nèi)置函數(shù)__sub__()定義了“-”的操作:從第一個(gè)表中去掉第二個(gè)表中出現(xiàn)的元素。如果__sub__()已經(jīng)在父類中定義,你又在子類中定義了,那么子類的對象會(huì)參考子類的定義,而不會(huì)載入父類的定義。任何其他的屬性也是這樣。

(教程最后也會(huì)給出一個(gè)特殊方法的清單)

定義運(yùn)算符對于復(fù)雜的對象非常有用。舉例來說,人類有多個(gè)屬性,比如姓名,年齡和身高。我們可以把人類的比較(>,

下一步

希望你已經(jīng)對Python有了一個(gè)基本了解。你可能躍躍欲試,要寫一些程序練習(xí)一下。這會(huì)對你很有好處。

但是,Python的強(qiáng)大很大一部分原因在于,它提供有很多已經(jīng)寫好的,可以現(xiàn)成用的對象。我們已經(jīng)看到了內(nèi)置的比如說list,還有tuple等等。它們用起來很方便。在Python的標(biāo)準(zhǔn)庫里,還有大量可以用于操作系統(tǒng)互動(dòng),Internet開發(fā),多線程,文本處理的對象。而在所有的這些的這些的基礎(chǔ)上,又有很多外部的庫包,定義了更豐富的對象,比如numpy, tkinter, django等用于科學(xué)計(jì)算,GUI開發(fā),web開發(fā)的庫,定義了各種各樣的對象。對于一般用戶來說,使用這些庫,要比自己去從頭開始容易得多。我們要開始攀登巨人的肩膀了。

謝謝你的關(guān)注,

歡迎來到Python的世界。

現(xiàn)在人工智能爆發(fā),Python是一門腳本語言,它更適合去做人工智能這個(gè)領(lǐng)域,在人工智能上使用Python比其他編程語言有更大的優(yōu)勢。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python編程實(shí)踐:常見的29個(gè)坑,你跳進(jìn)去了沒有?
python 列表推導(dǎo)公式及練習(xí)題
當(dāng)我學(xué)完P(guān)ython我學(xué)了些什么
Python基礎(chǔ)語法14個(gè)知識(shí)點(diǎn)大串講
python的基本語法和腳本格式
python列表常見操作技巧匯總
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服