日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python手把手入门_新手必看:手把手教你入门 Python

發(fā)布時(shí)間:2025/3/19 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python手把手入门_新手必看:手把手教你入门 Python 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先,Python是什么?據(jù)它的創(chuàng)始人Guido van Rossum而言,

“Python是一種高級(jí)編程語(yǔ)言,它的核心設(shè)計(jì)思想是代碼可讀性和允許程序員用幾行代碼來(lái)表達(dá)觀點(diǎn)的語(yǔ)法。”

就我而言,學(xué)習(xí)Python的首要理由是,它事實(shí)上是一種優(yōu)雅的編程語(yǔ)言,我可以很自然地進(jìn)行編程和表達(dá)想法。

另一個(gè)原因就是在許多方面都可以用它來(lái)編程:數(shù)據(jù)科學(xué)、web開發(fā)以及機(jī)器學(xué)習(xí)都會(huì)通過(guò)它而大放光彩。Quora, Pinterest and Spotify都用它來(lái)做后臺(tái)web開發(fā)。那么讓我們一起來(lái)了解一下吧!

基礎(chǔ)

1.變量

你可以把變量當(dāng)成存儲(chǔ)值的字符,就是這么簡(jiǎn)單。

Python中可以很容易地定義變量并對(duì)其進(jìn)行賦值。假如你想把數(shù)字1存入一個(gè)名為“one”的變量中。讓我們一起來(lái)做吧:

one= 1

這到底有多簡(jiǎn)單呢?你只需要把值1賦給變量“one”。

two= 2

some_number= 10000

而且你可以將其它任何值賦給其它任何變量。正如上表中你看到的那樣,變量“two”存儲(chǔ)整數(shù)2,“some_number”存儲(chǔ)10000。

除了整型,我們也可以使用布爾型(真/假)、字符串型、浮點(diǎn)型以及其它數(shù)據(jù)類型。

2.控制流:條件語(yǔ)句

“If”是一種判斷語(yǔ)句真假的表達(dá)。若為真,就執(zhí)行“if”內(nèi)部語(yǔ)句。比如:

ifTrue: print("Hello Python If")

if2 > 1: print("2 is greater than 1")

2比1大,因此就執(zhí)行“print”代碼。

如果“if”語(yǔ)句為假就會(huì)執(zhí)行“else”語(yǔ)句。

if1 > 2:

print("1 is greater than 2")

else:

print("1 is not greater than 2")

1不大于2,因此就會(huì)執(zhí)行“else”內(nèi)部語(yǔ)句。

你也可以使用“elif”語(yǔ)句:

if1 > 2:

print("1 is greater than 2")elif 2 > 1:

print("1 is not greater than 2")

else:

print("1 is equal to 2")

3.循環(huán)/迭代

Python中有多重循環(huán)方法,我會(huì)提及兩種:while和for。

while循環(huán):當(dāng)語(yǔ)句為真時(shí),將會(huì)執(zhí)行內(nèi)部的代碼塊。因此代碼將會(huì)輸出1到10.

num= 1

whilenum<= 10:

print(num)

num+= 1

while循環(huán)需要“循環(huán)條件”,若它為真就會(huì)執(zhí)行循環(huán)。在本例中,當(dāng)

數(shù)字為11時(shí),循環(huán)條件為假。

另一種基本代碼更容易理解:

loop_condition = True

whileloop_condition:

print("Loop Condition keeps: %s"%(loop_condition)) loop_condition = False

循環(huán)條件為真就執(zhí)行循環(huán)直到循環(huán)條件置為假為止。

for循環(huán):在塊內(nèi)你可以使用“num”,而且“for”語(yǔ)句也會(huì)執(zhí)行循環(huán)。這段代碼與while代碼(從1到10)的輸出是一樣的。

fori inrange(1, 11):

print(i)

理解?很簡(jiǎn)單。從1開始進(jìn)行直到11,10是第十個(gè)元素。

列表:包|數(shù)組|數(shù)據(jù)結(jié)構(gòu)

假如你想將整數(shù)1用一個(gè)變量存儲(chǔ),但是現(xiàn)在你或許還想存2、3、4、5以及更多。

我有其它方法來(lái)存儲(chǔ)我想存的所有整數(shù)而不是百萬(wàn)個(gè)變量嗎?你猜到了——事實(shí)上有另一種存儲(chǔ)方法。

列表

是可以用來(lái)存儲(chǔ)一系列值(就像你想存的這些整數(shù))的集合。那么一起來(lái)用一下吧:

my_integers = [1, 2, 3, 4, 5]

真的很簡(jiǎn)單。我們構(gòu)造一個(gè)數(shù)組,并將它存在my_integer。

但是或許你會(huì)問(wèn):“我怎樣得到這個(gè)數(shù)組中的值?”問(wèn)的好!

列表中有一個(gè)索引的概念。第一個(gè)元素的索引為0.第二個(gè)為1,以此類推,你就明白了。

為了更清楚地表示,我們可以用索引來(lái)表示數(shù)組和每個(gè)元素。我可以畫一下:

對(duì)于Python語(yǔ)言的使用也很容易理解:

my_integers = [5, 7, 1, 3, 4]print(my_integers[0]) # 5

print(my_integers[1]) # 7

print(my_integers[4]) # 4

假如你不想存儲(chǔ)整數(shù),你想存儲(chǔ)字符串,像你的親人名字的集合。我的看起來(lái)是這樣的:

relatives_names = [

"Toshiaki",

"Juliana",

"Yuji",

"Bruno",

"Kaio"

]print(relatives_names[4]) # Kaio

它和整型的操作方式一樣。真棒!

我們只是學(xué)習(xí)索引如何有效使用,但是我仍然需要告訴你我們?nèi)绾螌⒁粋€(gè)元素加入數(shù)據(jù)結(jié)構(gòu)(向列表中加入一項(xiàng))。

向列表中增加一個(gè)新值最常見的方法就是append,讓我們一起來(lái)看看它是如何進(jìn)行的:

bookshelf = []bookshelf.append("The Effective Engineer")bookshelf.append("The 4 Hour Work Week")

print(bookshelf[0]) # The Effective Engineer

print(bookshelf[1]) # The 4 Hour Work Week

append超級(jí)簡(jiǎn)單。你只需要將這個(gè)元素當(dāng)作參數(shù)使用就行(有效的工程師)。這部分足夠了。讓我們談?wù)撓乱环N數(shù)據(jù)結(jié)構(gòu)吧。

字典:鍵值數(shù)據(jù)結(jié)構(gòu)

現(xiàn)在我們都知道,列表以整數(shù)作為索引,但是我們不想用整數(shù)作為索引怎么辦?我們可以使用的數(shù)據(jù)結(jié)構(gòu)有數(shù)值型、字符串型或者是其它索引類型。

讓我們一起來(lái)了解一下字典這種數(shù)據(jù)結(jié)構(gòu)吧。

dictionary_example = {

"key1": "value1",

"key2": "value2",

"key3": "value3"}

字典是鍵值對(duì)的集合,值的索引指向鍵。我們?nèi)绾潍@取字典中的值呢?你猜對(duì)了——使用鍵。讓我們一起來(lái)試一下:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk", "nationality": "Brazilian"

}

print("My name is %s"%(dictionary_tk["name"])) # My name is Leandro

print("But you can call me %s"%(dictionary_tk["nickname"])) # But you can call me Tk

print("And by the way I'm %s"%(dictionary_tk["nationality"])) # And by the way I'm Brazilian

我構(gòu)造了一個(gè)有關(guān)于我的字典,包括我的姓名、昵稱和國(guó)籍。這些屬性都是字典的鍵。正如我們學(xué)過(guò)的如何使用索引來(lái)獲取列表一樣,我們也使用索引來(lái)得到存儲(chǔ)在字典中的值。比如,我輸出一句有關(guān)我的語(yǔ)句,而它會(huì)用到所有存儲(chǔ)在字典中的屬性。非常簡(jiǎn)單,對(duì)嗎?還有一件很贊的事,我們可以把任何東西當(dāng)作值來(lái)使用。在我所構(gòu)造的字典中,我想增加一個(gè)鍵“年齡”,而且我的真正的整數(shù)年齡也在里面:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian",

"age": 24

}

print("My name is %s"%(dictionary_tk["name"])) # My name is Leandro

print("But you can call me %s"%(dictionary_tk["nickname"])) # But you can call me Tk

print("And by the way I'm %i and %s"%(dictionary_tk["age"], dictionary_tk["nationality"])) # And by the way I'm Brazilian

這里,我們有一組鍵(年齡)值(24)對(duì),其中鍵為字符串型,值為整型。和我們用列表做的一樣,讓我們學(xué)一下如何向字典中增加元素吧。字典中很大一部分都是鍵指向值。當(dāng)我們談?wù)撓蜃值渲性黾釉氐臅r(shí)候,

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian"

}dictionary_tk['age'] = 24

print(dictionary_tk) # {'nationality': 'Brazilian', 'age': 24, 'nickname': 'Tk', 'name': 'Leandro'}

我們只需要給字典中的鍵賦一個(gè)值。這里沒(méi)有什么是復(fù)雜的,對(duì)嗎?

循環(huán):通過(guò)數(shù)據(jù)結(jié)構(gòu)進(jìn)行循環(huán)

正如我們?cè)赑ython基礎(chǔ)部分學(xué)習(xí)的那樣,列表循環(huán)很簡(jiǎn)單。Python開發(fā)者一般都是用for循環(huán)。讓我們做一下吧:

bookshelf = [

"The Effective Engineer",

"The 4 hours work week",

"Zero to One",

"Lean Startup",

"Hooked"

]

forbook inbookshelf:

print(book)

對(duì)于書架上的每本書,我們(可以用它做任何事)將它打印出來(lái)。非常簡(jiǎn)單直觀,這就是Python。

對(duì)于一個(gè)哈希數(shù)據(jù)結(jié)構(gòu),我們同樣可以使用for循環(huán),但是我們要運(yùn)用鍵。

dictionary = { "some_key": "some_value"}

forkeyin dictionary:

print("%s --> %s"%(key, dictionary[key])) # some_key --> some_value

這是一個(gè)如何使用的例子。對(duì)于字典中的每個(gè)鍵,我們都會(huì)輸出鍵和與之對(duì)應(yīng)的值。另一種方法是用iteritems方法。我們的確命名兩個(gè)參數(shù)key和value,但是這不是很必要。我們可以對(duì)它們進(jìn)行任意命名。讓我們一起來(lái)看一下:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian",

"age": 24

}

forattribute, value in dictionary_tk.items(): print("My %s is %s"%(attribute, value)) # My name is Leandro

# My nickname is Tk

# My nationality is Brazilian

# My age is 24

我們可以把我們使用的屬性看作是字典key的一個(gè)參數(shù),而且它可以正常運(yùn)行。好極了!

類和對(duì)象

一點(diǎn)點(diǎn)理論

對(duì)象表示真實(shí)世界中的實(shí)體,像汽車、小狗或自行車。對(duì)象共享兩個(gè)主要特性:數(shù)據(jù)和行為。

汽車有數(shù)據(jù),比如車輪數(shù)、車門數(shù)以及座位容量。它們也有可顯示的行為:加速、停車、顯示剩余燃料以及其它事情。

在面向?qū)ο筮^(guò)程中,我們把數(shù)據(jù)當(dāng)作屬性,把行為當(dāng)作方法。再來(lái)一次,數(shù)據(jù)——>屬性,行為——>方法。而且從所構(gòu)造的個(gè)體對(duì)象來(lái)看,類是模型。在現(xiàn)實(shí)生活中,我們經(jīng)常會(huì)發(fā)現(xiàn)許多相同類型的實(shí)體,比如汽車。模型和形狀都是一樣的(而且都有發(fā)動(dòng)機(jī)、車輪、車門等等)每輛車都用相同的模型和組件。

Python的面向?qū)ο蟮木幊棠J?#xff1a;ON

Python作為一種面向?qū)ο蟮木幊陶Z(yǔ)言,有類和對(duì)象的概念。類是對(duì)象的模型。類只是一個(gè)模型,或者說(shuō)是一種定義屬性和行為的方法(正如我們?cè)诶碚摬糠炙劦降哪菢?#xff09;。舉個(gè)例子,一個(gè)車輛類有自己的屬性,用于定義那些對(duì)象是車輛。車輪數(shù)、油箱類型、座位數(shù)和最快速度都是一輛車的屬性。帶著這些,讓我們一起來(lái)看看Python中類的語(yǔ)法:

classVehicle:

pass

我們通過(guò)類聲明來(lái)定義類——就是這樣,很簡(jiǎn)單吧!對(duì)象是類的一個(gè)實(shí)例。我們通過(guò)命名類來(lái)構(gòu)造一個(gè)實(shí)例。

car = Vehicle()

print(car) # <__main__.Vehicleinstanceat 0x7fb1de6c2638>

這里的car就是一個(gè)類Vehicle的一個(gè)對(duì)象(或?qū)嵗?#xff09;。記得我們的車輛類有四個(gè)屬性:車輪數(shù)、油箱類型、座位數(shù)和最快速度。當(dāng)我們構(gòu)造一個(gè)車輛對(duì)象時(shí)就需要設(shè)置這些屬性。因此這里,我們需要定義我們的類,當(dāng)它初始化的時(shí)候能夠接收數(shù)據(jù)。

classVehicle:def__init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):

self.number_of_wheels = number_of_wheels

self.type_of_tank = type_of_tank

self.seating_capacity = seating_capacity

self.maximum_velocity = maximum_velocity

我們會(huì)用到init方法。我們稱它為構(gòu)造方法。因此當(dāng)我們構(gòu)造一個(gè)車輛實(shí)體時(shí),我們可以定義這些屬性。假設(shè)我們都喜歡特斯拉模型S,我們想要構(gòu)造一個(gè)這種類型的對(duì)象。它是電動(dòng)的,有四個(gè)車輪和五個(gè)座位,而且最快速度為250千米/小時(shí)(155英里/小時(shí))。讓我們創(chuàng)建一個(gè)這種對(duì)象:

tesla_model_s= Vehicle(4, 'electric', 5, 250)

對(duì)所有屬性進(jìn)行設(shè)置:四個(gè)輪子+電動(dòng)“油箱類型”+五個(gè)座位+最快速度為250千米/小時(shí)。但是我們?nèi)绾潍@取這些屬性的值呢?我們向該對(duì)象發(fā)送了一條查詢屬性值的信息,我們稱之為方法,它是對(duì)象的行為。讓我們一起來(lái)實(shí)現(xiàn)吧:

classVehicle:def__init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):

self.number_of_wheels = number_of_wheels

self.type_of_tank = type_of_tank

self.seating_capacity = seating_capacity

self.maximum_velocity = maximum_velocity

defnumber_of_wheels(self):

returnself.number_of_wheels

defset_number_of_wheels(self, number):

self.number_of_wheels = number

包括兩種方法的實(shí)現(xiàn):車輪數(shù)和車輪數(shù)的設(shè)置。我們稱為getter和setter,因?yàn)榍罢攉@得屬性值,而后者獲得該屬性的一個(gè)新值。

在Python中,我們可以這樣做:用@property(decorators)來(lái)定義getter和setter。來(lái)看一下代碼:

classVehicle:def__init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):

self.number_of_wheels = number_of_wheels

self.type_of_tank = type_of_tank

self.seating_capacity = seating_capacity

self.maximum_velocity = maximum_velocity @property

defnumber_of_wheels(self):

returnself.number_of_wheels @number_of_wheels.setter

defnumber_of_wheels(self, number):

self.number_of_wheels = number

此外,我們可以把這些方法當(dāng)作屬性來(lái)使用:

tesla_model_s = Vehicle(4, 'electric', 5, 250)print(tesla_model_s.number_of_wheels) # 4

tesla_model_s.number_of_wheels = 2# setting number of wheels to 2

print(tesla_model_s.number_of_wheels) # 2

這里有點(diǎn)不同于定義方法,方法和屬性的作用一樣。比如,當(dāng)我們?cè)O(shè)置新的車輪數(shù)時(shí),我們不會(huì)把2作為參數(shù),而是把number_of_wheels的值設(shè)為2。這是一種getter和setter方法的代碼形式。但是對(duì)于其他的我們也可以用一些方法,比如“制造噪音”方法。讓我們一起來(lái)看一下:

classVehicle:def__init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):

self.number_of_wheels = number_of_wheels

self.type_of_tank = type_of_tank

self.seating_capacity = seating_capacity

self.maximum_velocity = maximum_velocity

defmake_noise(self): print('VRUUUUUUUM')

當(dāng)我們調(diào)用這種方法時(shí),它就會(huì)返回一串“VRRRRUUUUM”。

tesla_model_s = Vehicle(4, 'electric', 5, 250)tesla_model_s.make_noise() # VRUUUUUUUM

封裝:隱藏信息

封裝機(jī)制不允許直接獲取對(duì)象的數(shù)據(jù)和方法,但與此同時(shí),它提供了對(duì)數(shù)據(jù)和方法的操作。

“封裝可以用來(lái)隱藏?cái)?shù)據(jù)成員和功能成員,在此定義下,封裝意味著一個(gè)對(duì)象的內(nèi)部表示通常對(duì)該對(duì)象以外是隱藏的”。——維基百科

“封裝可以用來(lái)隱藏?cái)?shù)據(jù)成員和功能成員,在此定義下,封裝意味著一個(gè)對(duì)象的內(nèi)部表示通常對(duì)該對(duì)象以外是隱藏的”。——維基百科

一個(gè)對(duì)象的內(nèi)部表示對(duì)外界是隱藏的,只有該對(duì)象可以聯(lián)系到其內(nèi)部數(shù)據(jù)。首先我們需要理解公有和非公有實(shí)例變量和方法如何運(yùn)行。

公有實(shí)例變量

對(duì)于一個(gè)Python類,我們用結(jié)構(gòu)化方法初始化一個(gè)公有實(shí)例變量,讓我們一起來(lái)看一下:

classPerson:def__init__(self, first_name):

self.first_name = first_name

在結(jié)構(gòu)體方法中,我們用first_name的值作為對(duì)公有實(shí)例變量的聲明。

tk = Person('TK')print(tk.first_name) # => TK

在類中,我們不需要將first_name作為聲明,而且實(shí)例對(duì)象會(huì)有一個(gè)類屬性,并用初始化為TK。

tk = Person()print(tk.first_name) # => TK

很棒!現(xiàn)在我們知道我們可以使用公有實(shí)例變量和類屬性。另一件有關(guān)于公有部分的有趣的事情是我們可以管理變量的值。那意味著什么?對(duì)象可以管理和設(shè)置其變量的值。

要記得Person類,我們想給它的first_name設(shè)置另一個(gè)值:

tk = Person('TK')tk.first_name = 'Kaio'

print(tk.first_name) # => Kaio

開始了,我們只是把kaio賦給first_name這個(gè)實(shí)例變量,而且對(duì)其值進(jìn)行了更新。很簡(jiǎn)單,因?yàn)樗枪凶兞?#xff0c;所以我們可以這樣做。

非公有實(shí)例變量

這里我們不用“私有”這一術(shù)語(yǔ),因?yàn)樵赑ython中不存在真正的私有屬性(一般沒(méi)有不必要的工作量)。——PEP 8

這里我們不用“私有”這一術(shù)語(yǔ),因?yàn)樵赑ython中不存在真正的私有屬性(一般沒(méi)有不必要的工作量)。——PEP 8

正如public instance variable一樣,我們可以用構(gòu)造方法或在類內(nèi)定義non-public instance variable。語(yǔ)法上的不同有:non-public instance variables在變量名前使用下劃線。

“在Python中不存在這樣的情況:在對(duì)象內(nèi)部以外無(wú)法獲取‘private’實(shí)例變量,然而在Python代碼中一貫遵循的一個(gè)習(xí)慣是:變量名前要加下劃線前綴(比如:_spam),名字一般作為API的非公有部分(無(wú)論它是函數(shù)、方法還是數(shù)據(jù)成員)”——Python Software Foundation

有這樣一個(gè)例子:

classPerson:def__init__(self, first_name, email):

self.first_name = first_name

self._email = email

你看到email變量了嗎?它顯示了我們?nèi)绾味xnon-public variable:

tk= Person('TK', 'tk@mail.com')print(tk._email) # tk@mail.com

我們可以獲得并更新它。Non-public variables僅僅是種習(xí)慣,而且應(yīng)該被當(dāng)作API的非公有部分。因此我們用一種方法,它允許我們?cè)陬悆?nèi)對(duì)其進(jìn)行定義。一起來(lái)實(shí)現(xiàn)以下兩個(gè)方法:email和update_email,有助于進(jìn)一步理解:

classPerson:def__init__(self, first_name, email):

self.first_name = first_name

self._email = email

defupdate_email(self, new_email):

self._email = new_email

defemail(self):

returnself._email

現(xiàn)在我們使用方法可以更新和獲取non-public variables。讓我們一起來(lái)看一下:

tk = Person('TK', 'tk@mail.com')

print(tk.email()) # => tk@mail.comtk._email = 'new_tk@mail.com'

print(tk.email()) # => tk@mail.comtk.update_email('new_tk@mail.com')

print(tk.email()) # => new_tk@mail.com

1.我們用TK和tk@mail.com對(duì)一個(gè)新對(duì)象的first_name和email進(jìn)行初始化。

2.使用方法獲得non-public variable,然后輸出email。

3.試著在我們的類外設(shè)置一個(gè)新的email。

4.我們需要將non-public variable作為API的non-public部分。

5.用我們的實(shí)例方法更新non-public variable。

6.成功了!我們借助幫助方法可以在類內(nèi)對(duì)其進(jìn)行更新。

公有方法

我們可以在類外使用公有方法

classPerson:def__init__(self, first_name, age):

self.first_name = first_name

self._age = age

defshow_age(self):

returnself._age

讓我們一起來(lái)測(cè)試一下:

tk = Person('TK', 25)print(tk.show_age()) # => 25

棒極了——沒(méi)有任何問(wèn)題!

非公有方法

對(duì)于非公有方法,我們不能那樣做。一起來(lái)實(shí)現(xiàn)一個(gè)同樣的Person類,但是現(xiàn)在我們會(huì)用下劃線表示non-public method,即show_age。

classPerson:def__init__(self, first_name, age):

self.first_name = first_name

self._age = age

def_show_age(self):

returnself._age

現(xiàn)在會(huì)通過(guò)對(duì)象來(lái)調(diào)用這個(gè)方法:

tk = Person('TK', 25)print(tk._show_age()) # => 25

我們可以獲得它并對(duì)其進(jìn)行更新。Non-public methods僅僅只是個(gè)習(xí)慣,而且應(yīng)該當(dāng)作API的非公有部分。這里有個(gè)例子是有關(guān)于對(duì)它的使用:

classPerson:def__init__(self, first_name, age):

self.first_name = first_name

self._age = age

defshow_age(self):

returnself._get_age()

def_get_age(self):

returnself._agetk = Person('TK', 25)print(tk.show_age()) # => 25

這里我們有一個(gè)public method為show_age,我們的對(duì)象(在類外)可以使用它,而_get_age只能在類定義部分使用(在show_age方法中)。再次提醒:這只是習(xí)慣問(wèn)題。

封裝總結(jié)

有了封裝,我們可以確保對(duì)象的內(nèi)部表示對(duì)外是隱藏的。

繼承:行為和特性

某些對(duì)象有共同點(diǎn):行為和特性

舉個(gè)例子,我繼承了我父親的一些行為和特性。我繼承了他的眼睛和頭發(fā)作為特性,他的不耐心和內(nèi)向作為行為。

在面向?qū)ο缶幊讨?#xff0c;類可以繼承另一個(gè)類的共同特性(數(shù)據(jù))和行為(方法)。

讓我們一起來(lái)看另一個(gè)例子,并用Python對(duì)其進(jìn)行實(shí)現(xiàn)。

假定有一輛汽車,它的屬性有:車輪數(shù)、座位數(shù)和最快速度。我們可以說(shuō)電動(dòng)車類繼承普通車類的這些相同屬性。

classCar:def__init__(self, number_of_wheels, seating_capacity, maximum_velocity):

self.number_of_wheels = number_of_wheels

self.seating_capacity = seating_capacity

self.maximum_velocity = maximum_velocity

已經(jīng)實(shí)現(xiàn)了我們的汽車類:

my_car = Car(4, 5, 250)

print(my_car.number_of_wheels)

print(my_car.seating_capacity)

print(my_car.maximum_velocity)

一旦對(duì)其進(jìn)行初始化,我們就可以使用所構(gòu)造的所有instance variables。非常棒!在Python中,我們可以將parent class作為child class的一個(gè)參數(shù)。一個(gè)電動(dòng)車類可以繼承我們的汽車類。

classElectricCar(Car):def__init__(self, number_of_wheels, seating_capacity, maximum_velocity): Car.__init__(self, number_of_wheels, seating_capacity, maximum_velocity)

就是這么簡(jiǎn)單。我們不需要實(shí)現(xiàn)其它任何方法,因?yàn)檫@個(gè)類已經(jīng)有了這些方法(繼承了汽車類)。讓我們來(lái)證明一下:

my_electric_car = ElectricCar(4, 5, 250)print(my_electric_car.number_of_wheels) # => 4

print(my_electric_car.seating_capacity) # => 5

print(my_electric_car.maximum_velocity) # => 250

非常漂亮!

僅此而已!

有關(guān)Python基礎(chǔ),我們已經(jīng)學(xué)了很多:

Python的變量如何工作

Python條件聲明如何實(shí)現(xiàn)

Python循環(huán)如何實(shí)現(xiàn)

如何使用List:Collection|Array

字典鍵值對(duì)集合

如何利用這些數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)循環(huán)

對(duì)象和類

屬性作為對(duì)象的數(shù)據(jù)

方法作為對(duì)象的行為

使用Python的getters和setters和property裝飾器

封裝:隱藏信息

繼承:行為和特性

祝賀你!你已經(jīng)完成了有關(guān)Python的難理解的部分。

如果你想學(xué)習(xí)完整的Python課程,學(xué)習(xí)更多的編程技巧和項(xiàng)目搭建,建議試一下One Month Python Bootcamp部分

有關(guān)我的日志學(xué)習(xí)和編程掌握的更多故事和帖子,可以關(guān)注我所發(fā)布的The Renaissance Developer。

玩的開心,繼續(xù)學(xué)習(xí)并保持編程!

我的Instagram,Twitter,GithubLinkdle。

想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

戳鏈接:

http://www.gair.link/page/TextTranslation/830

AI研習(xí)社每日更新精彩內(nèi)容,點(diǎn)擊文末【閱讀原文】即可觀看更多精彩內(nèi)容:

良心推薦:一份 20 周學(xué)習(xí)計(jì)算機(jī)科學(xué)的經(jīng)驗(yàn)貼(附資源)

多目標(biāo)追蹤器:用OpenCV實(shí)現(xiàn)多目標(biāo)追蹤(C++/Python)

為計(jì)算機(jī)視覺(jué)生成大的、合成的、帶標(biāo)注的、逼真的數(shù)據(jù)集

悼念保羅·艾倫,除了他科技圈還有哪些大佬值得信仰?

等你來(lái)譯:

自動(dòng)文本提取

用 4 種卷積神經(jīng)網(wǎng)絡(luò),輕松分類時(shí)尚圖像

使用 SKIL 和 YOLO 構(gòu)建產(chǎn)品級(jí)目標(biāo)檢測(cè)系統(tǒng)

很有啟發(fā)性的25個(gè)開源機(jī)器學(xué)習(xí)項(xiàng)目

號(hào)外號(hào)外~

想要獲取更多AI領(lǐng)域相關(guān)學(xué)習(xí)資源,可以訪問(wèn)AI研習(xí)社資源板塊下載,

所有資源目前一律限時(shí)免費(fèi),歡迎大家前往社區(qū)資源中心

(http://www.gair.link/page/resources)下載喔~

總結(jié)

以上是生活随笔為你收集整理的python手把手入门_新手必看:手把手教你入门 Python的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。