国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python 基礎(chǔ) 詳細(xì),python 基礎(chǔ)入門

這篇具有很好參考價值的文章主要介紹了python 基礎(chǔ) 詳細(xì),python 基礎(chǔ)入門。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

這篇文章主要介紹了python 基礎(chǔ) 詳細(xì),具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲,下面讓小編帶著大家一起了解一下。

python入門,java,開發(fā)語言,人工智能

目錄

一:簡介:

二:Python基礎(chǔ)語法

2.1.字面量

2.2.注釋

2.3.數(shù)據(jù)類型轉(zhuǎn)換

2.4.標(biāo)識符

2.5.運(yùn)算符

2.6.字符串

2.6.1.字符串的三種定義方式

2.6.2.字符串拼接

2.6.3.字符串格式化

2.6.4.格式化的精度控制

2.6.5.字符串快速格式化

2.7.數(shù)據(jù)輸入

三:python判斷語句

3.1.if語句的基本格式

3.2.if elif else語句

四:python循環(huán)語句

4.1.while循環(huán)

4.2.for循環(huán)

?4.3.range語句

五:Python函數(shù)

六:Python數(shù)據(jù)容器

6.1.list(列表)

6.2.tuple(元組)

6.3.str(字符串)

6.4.序列的切片

6.5.set(集合)

6.6.dict(字典)

七:Python函數(shù)進(jìn)階

7.1.函數(shù)多返回值

7.2.函數(shù)多種傳參方式

7.2.1.位置參數(shù)

7.2.2.關(guān)鍵字參數(shù)

7.2.3.缺省參數(shù)

7.2.4.不定長參數(shù)

7.2.5.函數(shù)作為參數(shù)傳遞

7.3.匿名函數(shù)

八:Python文件操作

8.1.文件的讀取

8.2.文件的寫入

九:Python異常、模塊與包

9.1.異常的捕獲

9.2.Python模塊

9.3.Python包

十:面向?qū)ο?/p>

10.1.成員方法

10.2.構(gòu)造方法

10.3.封裝

10.4.繼承

?10.5.多態(tài)


一:簡介:

Python 是一種解釋型、面向?qū)ο?/strong>的語言

Python的語法和動態(tài)類型,以及解釋性語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言

二:Python基礎(chǔ)語法

2.1.字面量

字面量:在代碼中,被寫下來的的固定的值,稱之為字面量

Python中有6種常用的值(數(shù)據(jù))的類型

python入門,java,開發(fā)語言,人工智能

注意:type()語句可以查看變量存儲的數(shù)據(jù)類型

2.2.注釋

單行注釋:以 #開頭,#右邊 的所有文字當(dāng)作說明,而不是真正要執(zhí)行的程序,起輔助說明作用

python入門,java,開發(fā)語言,人工智能

注意:#號和注釋內(nèi)容一般建議以一個空格隔開

多行注釋:?一對三個雙引號 引起來

python入門,java,開發(fā)語言,人工智能

2.3.數(shù)據(jù)類型轉(zhuǎn)換

語句(函數(shù))

說明

int(x)

將x轉(zhuǎn)換為一個整數(shù)

float(x)

將x轉(zhuǎn)換為一個浮點(diǎn)數(shù)

str(x)

將對象?x?轉(zhuǎn)換為字符串

2.4.標(biāo)識符

標(biāo)識符: 是用戶在編程的時候所使用的一系列名字,用于給變量、類、方法等命名

標(biāo)識符命名中,只允許出現(xiàn): 英文 中文 數(shù)字 下劃線(_) 這四類元素。

注意:不推薦使用中文,數(shù)字不可以開頭,且不可使用關(guān)鍵字

2.5.運(yùn)算符

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

運(yùn)算符

描述

實(shí)例

+

兩個對象相加?a?+?b?輸出結(jié)果?30

-

得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)?a?-?b?輸出結(jié)果?-10

*

兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串?a?*?b?輸出結(jié)果?200

/

b?/?a?輸出結(jié)果?2

//

取整除

返回商的整數(shù)部分?9//2?輸出結(jié)果?4?,?9.0//2.0?輸出結(jié)果?4.0

%

取余

返回除法的余數(shù)?b?%?a?輸出結(jié)果?0

**

指數(shù)

a**b?為10的20次方,?輸出結(jié)果?100000000000000000000

復(fù)合賦值運(yùn)算符:

運(yùn)算符

描述

實(shí)例

+=

加法賦值運(yùn)算符

c?+=?a?等效于?c?=?c?+?a

-=

減法賦值運(yùn)算符

c?-=?a?等效于?c?=?c?-?a

*=

乘法賦值運(yùn)算符

c?*=?a?等效于?c?=?c?*?a

/=

除法賦值運(yùn)算符

c?/=?a?等效于?c?=?c?/?a

%=

取模賦值運(yùn)算符

c?%=?a?等效于?c?=?c?%?a

**=

冪賦值運(yùn)算符

c?**=?a?等效于?c?=?c?**?a

//=

取整除賦值運(yùn)算符

c?//=?a?等效于?c?=?c?//?a

2.6.字符串

2.6.1.字符串的三種定義方式

單引號定義法: 雙引號定義法: 三引號定義法:

python入門,java,開發(fā)語言,人工智能

其中,單引號定義法,可以內(nèi)含雙引號; 雙引號定義法,可以內(nèi)含單引號 ;并且可以使用轉(zhuǎn)義字符(\)來將引號解除效用,變成普通字符串

2.6.2.字符串拼接

python入門,java,開發(fā)語言,人工智能

注意:字符串無法和非字符串變量進(jìn)行拼接

python入門,java,開發(fā)語言,人工智能

?默認(rèn)print語句輸出內(nèi)容會自動換行,在print語句中,加上 end=''?即可輸出不換行了

2.6.3.字符串格式化

我們可以通過如下語法,完成字符串和變量的快速拼接

格式符號

轉(zhuǎn)化

%s

將內(nèi)容轉(zhuǎn)換成字符串,放入占位位置

%d

將內(nèi)容轉(zhuǎn)換成整數(shù),放入占位位置

%f

將內(nèi)容轉(zhuǎn)換成浮點(diǎn)型,放入占位位置

如下代碼,完成字符串、整數(shù)、浮點(diǎn)數(shù),三種不同類型變量的占位

python入門,java,開發(fā)語言,人工智能

?其中,% 表示占位符,且在無需使用變量進(jìn)行數(shù)據(jù)存儲的時候,可以直接格式化表達(dá)式(變量的位置放入表達(dá)式),簡化代碼

2.6.4.格式化的精度控制

我們可以使用輔助符號"m.n"來控制數(shù)據(jù)的寬度和精度

m,控制寬度,要求是數(shù)字,如果設(shè)置的寬度小于數(shù)字自身,則不生效

.n,控制小數(shù)點(diǎn)精度,要求是數(shù)字,會進(jìn)行小數(shù)的四舍五入

示例: %5d:表示將整數(shù)的寬度控制在5位,如數(shù)字11,就會變成:[空格][空格][空格]11,用三個空格補(bǔ)足寬度python自學(xué)能行嗎。

%5.2f:表示將寬度控制為5,將小數(shù)點(diǎn)精度設(shè)置為2 。小數(shù)點(diǎn)和小數(shù)部分也算入寬度計(jì)算。如,對11.345設(shè)置了%7.2f 后,結(jié)果是:[空格][空格]11.35。2個空格補(bǔ)足寬度,小數(shù)部分限制2位精度后,四舍五入為 .35

%.2f:表示不限制寬度,只設(shè)置小數(shù)點(diǎn)精度為2,如11.345設(shè)置%.2f后,結(jié)果是11.35

2.6.5.字符串快速格式化

通過語法:f"內(nèi)容{變量}"的格式來快速格式化

python入門,java,開發(fā)語言,人工智能

?注意:這種寫法不做精度控制,不理會類型

2.7.數(shù)據(jù)輸入

使用input()語句可以從鍵盤獲取輸入

python入門,java,開發(fā)語言,人工智能

?注意:無論鍵盤輸入什么類型的數(shù)據(jù),獲取到的數(shù)據(jù)永遠(yuǎn)都是字符串類型

三:python判斷語句

3.1.if語句的基本格式

python入門,java,開發(fā)語言,人工智能

歸屬于if判斷的代碼語句塊,需在前方填充4個空格縮進(jìn)

Python通過縮進(jìn)判斷代碼塊的歸屬關(guān)系。

3.2.if elif else語句

python入門,java,開發(fā)語言,人工智能

四:python循環(huán)語句

4.1.while循環(huán)

python入門,java,開發(fā)語言,人工智能

4.2.for循環(huán)

python入門,java,開發(fā)語言,人工智能

?4.3.range語句

用于獲得一個數(shù)字序列

語法1:range(num)

????????????????????????從0開始,到num結(jié)束(不含num本身)

語法2:range(num1, num2)

????????????????????????從0開始,到num結(jié)束(不含num本身)

?語法3:range(num1, num2, step)

????????????????????????從0開始,到num結(jié)束(不含num本身)

python入門,java,開發(fā)語言,人工智能

五:Python函數(shù)

函數(shù):是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)特定功能的代碼段

函數(shù)的定義:

python入門,java,開發(fā)語言,人工智能

?注意:如果函數(shù)沒有使用return語句返回數(shù)據(jù),會返回None這個字面量;在if判斷中,None等同于False;定義變量,但暫時不需要變量有具體值,可以用None來代替

使用 global關(guān)鍵字 可以在函數(shù)內(nèi)部聲明變量為全局變量

python入門,java,開發(fā)語言,人工智能

六:Python數(shù)據(jù)容器

一種可以容納多份數(shù)據(jù)的數(shù)據(jù)類型,容納的每一份數(shù)據(jù)稱之為1個元素。 每一個元素,可以是任意類型的數(shù)據(jù)

6.1.list(列表)

基本語法:??

python入門,java,開發(fā)語言,人工智能

列表的方法:

編號

使用方式

作用

1

列表.append(元素)

向列表的尾部追加一個元素

2

列表.extend(容器)

將數(shù)據(jù)容器的內(nèi)容(無結(jié)構(gòu))依次取出,追加到列表尾部

3

列表.insert(下標(biāo),?元素)

在指定下標(biāo)處,插入指定的元素

4

del?列表[下標(biāo)]

刪除列表指定下標(biāo)元素

5

列表.pop(下標(biāo))

除列表指定下標(biāo)元素(能得到返回值)

6

列表.remove(元素)

從前向后,刪除此元素第一個匹配項(xiàng)

7

列表.clear()

清空列表

8

列表.count(元素)

統(tǒng)計(jì)此元素在列表中出現(xiàn)的次數(shù)

9

列表.index(元素)

查找指定元素在列表的下標(biāo)

找不到報錯ValueError

10

len(列表)

統(tǒng)計(jì)容器內(nèi)有多少元素

列表特點(diǎn):

python入門,java,開發(fā)語言,人工智能

6.2.tuple(元組)

基本語法:

python入門,java,開發(fā)語言,人工智能

python入門,java,開發(fā)語言,人工智能

?注意:元組只有一個數(shù)據(jù),這個數(shù)據(jù)后面要添加逗號

元組的方法:

編號

方法

作用

1

index()

查找某個數(shù)據(jù),如果數(shù)據(jù)存在返回對應(yīng)的下標(biāo),否則報錯

2

count()

統(tǒng)計(jì)某個數(shù)據(jù)在當(dāng)前元組出現(xiàn)的次數(shù)

3

len(元組)

統(tǒng)計(jì)元組內(nèi)的元素個數(shù)

元組特點(diǎn):

python入門,java,開發(fā)語言,人工智能

6.3.str(字符串)

字符串的方法:

編號

操作

說明

1

字符串[下標(biāo)]

根據(jù)下標(biāo)索引取出特定位置字符

2

字符串.index(字符串)

查找給定字符的第一個匹配項(xiàng)的下標(biāo)

3

字符串.replace(字符串1,?字符串2)

將字符串內(nèi)的全部字符串1,替換為字符串2

不會修改原字符串,而是得到一個新的

4

字符串.split(字符串)

按照給定字符串,對字符串進(jìn)行分隔

不會修改原字符串,而是得到一個新的列表

5

字符串.strip()

字符串.strip(字符串)

移除首尾的空格和換行符

或指定字符串

6

字符串.count(字符串)

統(tǒng)計(jì)字符串內(nèi)某字符串的出現(xiàn)次數(shù)

7

len(字符串)

統(tǒng)計(jì)字符串的字符個數(shù)

字符串特點(diǎn):

字符串容器可以容納的類型是單一的,只能是字符串類型。

字符串不可以修改,如果必須要修改,只能得到一個新的字符串,舊的字符串是無法修改

6.4.序列的切片

序列是指:內(nèi)容連續(xù)、有序,可使用下標(biāo)索引的一類數(shù)據(jù)容器

列表、元組、字符串,均可以可以視為序列

語法:序列[起始下標(biāo):結(jié)束下標(biāo):步長]

表示從序列中,從指定位置開始,依次取出元素,到指定位置結(jié)束,得到一個新序列

  • 起始下標(biāo)表示從何處開始,可以留空,留空視作從頭開始
  • 結(jié)束下標(biāo)(不含)表示何處結(jié)束,可以留空,留空視作截取到結(jié)尾
  • 步長表示,依次取元素的間隔
  • 步長為負(fù)數(shù)表示,反向?。ㄗ⒁?,起始下標(biāo)和結(jié)束下標(biāo)也要反向標(biāo)記)

python入門,java,開發(fā)語言,人工智能

6.5.set(集合)

基本語法:

python入門,java,開發(fā)語言,人工智能

集合的方法:

編號

操作

說明

1

集合.add(元素)

集合內(nèi)添加一個元素

2

集合.remove(元素)

移除集合內(nèi)指定的元素

3

集合.pop()

從集合中隨機(jī)刪除一個元素并返回

4

集合.clear()

將集合清空

5

集合1.difference(集合2)

得到一個新集合,內(nèi)含2個集合的差集

原有的2個集合內(nèi)容不變

6

集合1.difference_update(集合2)

在集合1中,刪除集合2中存在的元素

集合1被修改,集合2不變

7

集合1.union(集合2)

得到1個新集合,內(nèi)含2個集合的全部元素

原有的2個集合內(nèi)容不變

8

len(集合)

得到一個整數(shù),記錄了集合的元素數(shù)量

集合特點(diǎn):

相較于列表、元組、字符串來說,不支持元素的重復(fù)(自帶去重功能)、并且內(nèi)容無序

6.6.dict(字典)

字典定義?

python入門,java,開發(fā)語言,人工智能

?字典的常用操作:

編號

操作

說明

1

字典[Key]

獲取指定Key對應(yīng)的Value

2

字典[Key]?=?Value

添加或更新鍵值對

3

字典.pop(Key)

取出Key對應(yīng)的Value并在字典內(nèi)刪除此Key的鍵值對

4

字典.clear()

清空字典

5

字典.keys()

獲取字典的全部Key,可用于for循環(huán)遍歷字典

6

len(字典)

計(jì)算字典內(nèi)的元素數(shù)量

字典特點(diǎn):

  • 鍵值對的Key和Value可以是任意類型(Key不可為字典)
  • 字典內(nèi)Key不允許重復(fù),重復(fù)添加等同于覆蓋原有數(shù)據(jù)
  • 字典不可用下標(biāo)索引,而是通過Key檢索Value

6.7.數(shù)據(jù)容器的通用操作

數(shù)據(jù)容器特點(diǎn)對比:

列表

元組

字符串

集合

字典

元素數(shù)量

支持多個

支持多個

支持多個

支持多個

支持多個

元素類型

任意

任意

僅字符

任意

Key:Value

Key:除字典外任意類型

Value:任意類型

下標(biāo)索引

支持

支持

支持

不支持

不支持

重復(fù)元素

支持

支持

支持

不支持

不支持

可修改性

支持

不支持

不支持

支持

支持

數(shù)據(jù)有序

使用場景

可修改、可重復(fù)的一批數(shù)據(jù)記錄場景

不可修改、可重復(fù)的一批數(shù)據(jù)記錄場景

一串字符的記錄場景

不可重復(fù)的數(shù)據(jù)記錄場景

以Key檢索Value的數(shù)據(jù)記錄場景

容器通用功能:

功能

描述

通用for循環(huán)

遍歷容器(字典是遍歷key)

max

容器內(nèi)最大元素

min()

容器內(nèi)最小元素

len()

容器元素個數(shù)

list()

轉(zhuǎn)換為列表

tuple()

轉(zhuǎn)換為元組

str()

轉(zhuǎn)換為字符串

set()

轉(zhuǎn)換為集合

sorted(序列,?[reverse=True])

排序,reverse=True表示降序

得到一個排好序的列表

七:Python函數(shù)進(jìn)階

7.1.函數(shù)多返回值

python入門,java,開發(fā)語言,人工智能

?按照返回值的順序,寫對應(yīng)順序的多個變量接收即可 變量之間用逗號隔開

7.2.函數(shù)多種傳參方式

7.2.1.位置參數(shù)

調(diào)用函數(shù)時根據(jù)函數(shù)定義的參數(shù)位置來傳遞參

python入門,java,開發(fā)語言,人工智能

?傳遞的參數(shù)和定義的參數(shù)的順序及個數(shù)必須一致

7.2.2.關(guān)鍵字參數(shù)

函數(shù)調(diào)用時通過“鍵=值”形式傳遞參數(shù)

python入門,java,開發(fā)語言,人工智能

7.2.3.缺省參數(shù)

缺省參數(shù)也叫默認(rèn)參數(shù),用于定義函數(shù),為參數(shù)提供默認(rèn)值,調(diào)用函數(shù)時可不傳該默認(rèn)參數(shù)的值(注意:所有位置參數(shù)必須出現(xiàn)在默認(rèn)參數(shù)前,包括函數(shù)定義和調(diào)用)

python入門,java,開發(fā)語言,人工智能

?函數(shù)調(diào)用時,如果為缺省參數(shù)傳值則修改默認(rèn)參數(shù)值, 否則使用這個默認(rèn)值

7.2.4.不定長參數(shù)

不定長參數(shù)也叫可變參數(shù). 用于不確定調(diào)用的時候會傳遞多少個參數(shù)(不傳參也可以)的場景.

不定長參數(shù)的類型: ? ? ?①位置傳遞 ? ? ?②關(guān)鍵字傳遞

1.位置傳遞

python入門,java,開發(fā)語言,人工智能

?傳進(jìn)的所有參數(shù)都會被args變量收集,它會根據(jù)傳進(jìn)參數(shù)的位置合并為一個元組(tuple),args是元組類型,這就是位置傳遞

2.關(guān)鍵字傳遞

python入門,java,開發(fā)語言,人工智能

?參數(shù)是“鍵=值”形式的形式的情況下, 所有的“鍵=值”都會被kwargs接受, 同時會根據(jù)“鍵=值”組成字典.

7.2.5.函數(shù)作為參數(shù)傳遞

python入門,java,開發(fā)語言,人工智能

7.3.匿名函數(shù)

函數(shù)的定義中

  • def關(guān)鍵字,可以定義帶有名稱的函數(shù)
  • lambda關(guān)鍵字,可以定義匿名函數(shù)(無名稱)

?有名稱的函數(shù),可以基于名稱重復(fù)使用。?無名稱的匿名函數(shù),只可臨時使用一次

匿名函數(shù)定義語法:

python入門,java,開發(fā)語言,人工智能

  • lambda 是關(guān)鍵字,表示定義匿名函數(shù)
  • 傳入?yún)?shù)表示匿名函數(shù)的形式參數(shù),如:x, y 表示接收2個形式參數(shù)
  • 函數(shù)體,就是函數(shù)的執(zhí)行邏輯,要注意:只能寫一行,無法寫多行代碼

python入門,java,開發(fā)語言,人工智能

八:Python文件操作

8.1.文件的讀取

mode常用的三種基礎(chǔ)訪問模式:

模式

描述

r

以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。

w

打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,原有內(nèi)容會被刪除。

如果該文件不存在,創(chuàng)建新文件。

a

打開一個文件用于追加。如果該文件已存在,新的內(nèi)容將會被寫入到已有內(nèi)容之后。

如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。

操作

功能

文件對象?=?open(file,?mode,?encoding)

打開文件獲得文件對象

文件對象.read(num)

讀取指定長度字節(jié)

不指定num讀取文件全部

文件對象.readline()

讀取一行

文件對象.readlines()

讀取全部行,得到列表

for?line?in?文件對象

for循環(huán)文件行,一次循環(huán)得到一行數(shù)據(jù)

文件對象.close()

關(guān)閉文件對象

with?open()?as?f

通過with?open語法打開文件,可以自動關(guān)閉

8.2.文件的寫入

python入門,java,開發(fā)語言,人工智能

  • ?直接調(diào)用write,內(nèi)容并未真正寫入文件,而是會積攢在程序的內(nèi)存中,稱之為緩沖區(qū)
  • 當(dāng)調(diào)用flush的時候,內(nèi)容會真正寫入文件
  • 這樣做會頻繁的操作硬盤,導(dǎo)致效率下降

九:Python異常、模塊與包

9.1.異常的捕獲

在可能發(fā)生異常的地方,進(jìn)行捕獲。當(dāng)異常出現(xiàn)的時候,提供解決方式,而不是任由其導(dǎo)致程序無法運(yùn)行。

python入門,java,開發(fā)語言,人工智能

?異常的種類多種多樣,如果想要不管什么類型的異常都能捕獲到,那么使用:except Exception as e:

9.2.Python模塊

模塊(Module),是一個 Python 文件,以 .py 結(jié)尾. ?模塊能定義函數(shù),類和變量,模塊里也能包含可執(zhí)行的代碼

模塊的導(dǎo)入方式:

python入門,java,開發(fā)語言,人工智能

?常用的組合形式如:

  • import 模塊名
  • from 模塊名 import 類、變量、方法等
  • from 模塊名 import *
  • import 模塊名 as 別名
  • from 模塊名 import 功能名 as 別名

自定義模塊:

每個Python文件都可以作為一個模塊,模塊的名字就是文件的名字

在實(shí)際開發(fā)中,當(dāng)一個開發(fā)人員編寫完一個模塊后,為了讓模塊能夠在項(xiàng)目中達(dá)到想要的效果, 這個開發(fā)人員會自行在py文件中添加一些測試信息,但是在模塊導(dǎo)入的時候都會自動執(zhí)行`test`函數(shù)的調(diào)用

解決方案:

python入門,java,開發(fā)語言,人工智能

如果一個模塊文件中有`_ _all_ _`變量,當(dāng)使用`from xxx import *`導(dǎo)入時,只能導(dǎo)入這個列表中的元素

python入門,java,開發(fā)語言,人工智能

9.3.Python包

從物理上看,包就是一個文件夾,在該文件夾下自動創(chuàng)建了一個 _ _init_ _.py 文件,該文件夾可用于包含多個模塊文件 從邏輯上看,包的本質(zhì)依然是模塊

python入門,java,開發(fā)語言,人工智能

?當(dāng)我們的模塊文件越來越多時,包可以幫助我們管理這些模塊, 包的作用就是包含多個模塊,但包的本質(zhì)依然是模塊

導(dǎo)入包:

1.import 包名.模塊名? ?調(diào)用:包名.模塊名.目標(biāo)

2.from 包名 import *?必須在`__init__.py`文件中添加`__all__ = []`,控制允許導(dǎo)入的模塊列表

十:面向?qū)ο?/h3>

10.1.成員方法

python入門,java,開發(fā)語言,人工智能

?在Python中,如果將函數(shù)定義為class(類)的成員,那么函數(shù)會稱之為:方法

python入門,java,開發(fā)語言,人工智能

?方法和函數(shù)功能一樣, 有傳入?yún)?shù),有返回值,只是方法的使用格式不同:

python入門,java,開發(fā)語言,人工智能

?在類中定義成員方法和定義函數(shù)基本一致,但仍有細(xì)微區(qū)別:

python入門,java,開發(fā)語言,人工智能

?可以看到,在方法定義的參數(shù)列表中,有一個:self關(guān)鍵字?,它是成員方法定義的時候,必須填寫的,但是傳參的時候可以忽略它

  • 它用來表示類對象自身的意思
  • 當(dāng)我們使用類對象調(diào)用方法的是,self會自動被python傳入
  • 在方法內(nèi)部,想要訪問類的成員變量,必須使用self

10.2.構(gòu)造方法

基于類創(chuàng)建對象的語法:

python入門,java,開發(fā)語言,人工智能

?Python類可以使用:_ _init_ _()方法,稱之為構(gòu)造方法

在創(chuàng)建類對象(構(gòu)造類)的時候,會自動執(zhí)行,并將傳入?yún)?shù)自動傳遞給__init__方法使用

python入門,java,開發(fā)語言,人工智能

10.3.封裝

面向?qū)ο缶幊?,是基于模板(類)去?chuàng)建實(shí)體(對象),使用對象完成功能開發(fā)

面向?qū)ο蟀?大主要特性:封裝 繼承 多態(tài)

將現(xiàn)實(shí)世界事物在類中描述為屬性和方法,即為封裝

python入門,java,開發(fā)語言,人工智能

?現(xiàn)實(shí)事物有部分屬性和行為是不公開對使用者開放的。同樣在類中描述屬性和方法的時候也需要達(dá)到這個要求,就需要定義私有成員

成員變量和成員方法的命名均以_ _作為開頭即可

python入門,java,開發(fā)語言,人工智能

?私有成員無法被類對象使用,但是可以被其它的成員使用。

python入門,java,開發(fā)語言,人工智能

10.4.繼承

繼承:將從父類那里繼承(復(fù)制)來成員變量和成員方法(不含私有)

單繼承:

python入門,java,開發(fā)語言,人工智能

?

多繼承:

python入門,java,開發(fā)語言,人工智能

?多個父類中,如果有同名的成員,那么默認(rèn)以繼承順序(從左到右)為優(yōu)先級

pass是占位語句,用來保證函數(shù)(方法)或類定義的完整性,表示無內(nèi)容,空的意思

復(fù)寫:

子類繼承父類的成員屬性和成員方法后,如果對其“不滿意”,那么可以進(jìn)行復(fù)寫。即在子類中重新定義同名的屬性或方法即可

python入門,java,開發(fā)語言,人工智能

?一旦復(fù)寫父類成員,那么類對象調(diào)用成員的時候,就會調(diào)用復(fù)寫后的新成員 如果需要使用被復(fù)寫的父類的成員,需要特殊的調(diào)用方式:

python入門,java,開發(fā)語言,人工智能python入門,java,開發(fā)語言,人工智能

?注意:只能在子類內(nèi)調(diào)用父類的同名成員,子類的類對象直接調(diào)用會調(diào)用子類復(fù)寫的成員

?10.5.多態(tài)

多態(tài):指的是完成某個行為時,使用不同的對象會得到不同的狀態(tài),多態(tài)常作用在繼承關(guān)系上

python入門,java,開發(fā)語言,人工智能

?抽象類(接口):含有抽象方法的類稱之為抽象類

抽象方法:方法體是空實(shí)現(xiàn)的(pass)稱之為抽象方法

抽象類多用于做頂層設(shè)計(jì)(設(shè)計(jì)標(biāo)準(zhǔn)),以便子類做具體實(shí)現(xiàn),要求子類必須復(fù)寫(實(shí)現(xiàn))父類的一些方法文章來源地址http://www.zghlxwxcb.cn/news/detail-843507.html

目錄

一:簡介:

二:Python基礎(chǔ)語法

2.1.字面量

2.2.注釋

2.3.數(shù)據(jù)類型轉(zhuǎn)換

2.4.標(biāo)識符

2.5.運(yùn)算符

2.6.字符串

2.6.1.字符串的三種定義方式

2.6.2.字符串拼接

2.6.3.字符串格式化

2.6.4.格式化的精度控制

2.6.5.字符串快速格式化

2.7.數(shù)據(jù)輸入

三:python判斷語句

3.1.if語句的基本格式

3.2.if elif else語句

四:python循環(huán)語句

4.1.while循環(huán)

4.2.for循環(huán)

?4.3.range語句

五:Python函數(shù)

六:Python數(shù)據(jù)容器

6.1.list(列表)

6.2.tuple(元組)

6.3.str(字符串)

6.4.序列的切片

6.5.set(集合)

6.6.dict(字典)

七:Python函數(shù)進(jìn)階

7.1.函數(shù)多返回值

7.2.函數(shù)多種傳參方式

7.2.1.位置參數(shù)

7.2.2.關(guān)鍵字參數(shù)

7.2.3.缺省參數(shù)

7.2.4.不定長參數(shù)

7.2.5.函數(shù)作為參數(shù)傳遞

7.3.匿名函數(shù)

八:Python文件操作

8.1.文件的讀取

8.2.文件的寫入

九:Python異常、模塊與包

9.1.異常的捕獲

9.2.Python模塊

9.3.Python包

十:面向?qū)ο?/p>

10.1.成員方法

10.2.構(gòu)造方法

10.3.封裝

10.4.繼承

?10.5.多態(tài)


一:簡介:

Python 是一種解釋型面向?qū)ο?/strong>的語言

Python的語法和動態(tài)類型,以及解釋性語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的編程語言

二:Python基礎(chǔ)語法

2.1.字面量

字面量:在代碼中,被寫下來的的固定的值,稱之為字面量

Python中有6種常用的值(數(shù)據(jù))的類型

python入門,java,開發(fā)語言,人工智能

注意:type()語句可以查看變量存儲的數(shù)據(jù)類型

2.2.注釋

單行注釋:以 #開頭,#右邊 的所有文字當(dāng)作說明,而不是真正要執(zhí)行的程序,起輔助說明作用

python入門,java,開發(fā)語言,人工智能

注意:#號和注釋內(nèi)容一般建議以一個空格隔開

多行注釋:?一對三個雙引號 引起來

python入門,java,開發(fā)語言,人工智能

2.3.數(shù)據(jù)類型轉(zhuǎn)換

語句(函數(shù))

說明

int(x)

將x轉(zhuǎn)換為一個整數(shù)

float(x)

將x轉(zhuǎn)換為一個浮點(diǎn)數(shù)

str(x)

將對象?x?轉(zhuǎn)換為字符串

2.4.標(biāo)識符

標(biāo)識符: 是用戶在編程的時候所使用的一系列名字,用于給變量、類、方法等命名

標(biāo)識符命名中,只允許出現(xiàn): 英文 中文 數(shù)字 下劃線(_) 這四類元素。

注意:不推薦使用中文,數(shù)字不可以開頭,且不可使用關(guān)鍵字

2.5.運(yùn)算符

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

運(yùn)算符

描述

實(shí)例

+

兩個對象相加?a?+?b?輸出結(jié)果?30

-

得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)?a?-?b?輸出結(jié)果?-10

*

兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串?a?*?b?輸出結(jié)果?200

/

b?/?a?輸出結(jié)果?2

//

取整除

返回商的整數(shù)部分?9//2?輸出結(jié)果?4?,?9.0//2.0?輸出結(jié)果?4.0

%

取余

返回除法的余數(shù)?b?%?a?輸出結(jié)果?0

**

指數(shù)

a**b?為10的20次方,?輸出結(jié)果?100000000000000000000

復(fù)合賦值運(yùn)算符:

運(yùn)算符

描述

實(shí)例

+=

加法賦值運(yùn)算符

c?+=?a?等效于?c?=?c?+?a

-=

減法賦值運(yùn)算符

c?-=?a?等效于?c?=?c?-?a

*=

乘法賦值運(yùn)算符

c?*=?a?等效于?c?=?c?*?a

/=

除法賦值運(yùn)算符

c?/=?a?等效于?c?=?c?/?a

%=

取模賦值運(yùn)算符

c?%=?a?等效于?c?=?c?%?a

**=

冪賦值運(yùn)算符

c?**=?a?等效于?c?=?c?**?a

//=

取整除賦值運(yùn)算符

c?//=?a?等效于?c?=?c?//?a

2.6.字符串

2.6.1.字符串的三種定義方式

單引號定義法: 雙引號定義法: 三引號定義法:

python入門,java,開發(fā)語言,人工智能

其中,單引號定義法,可以內(nèi)含雙引號; 雙引號定義法,可以內(nèi)含單引號 ;并且可以使用轉(zhuǎn)義字符(\)來將引號解除效用,變成普通字符串

2.6.2.字符串拼接

python入門,java,開發(fā)語言,人工智能

注意:字符串無法和非字符串變量進(jìn)行拼接

python入門,java,開發(fā)語言,人工智能

?默認(rèn)print語句輸出內(nèi)容會自動換行,在print語句中,加上 end=''?即可輸出不換行了

2.6.3.字符串格式化

我們可以通過如下語法,完成字符串和變量的快速拼接

格式符號

轉(zhuǎn)化

%s

將內(nèi)容轉(zhuǎn)換成字符串,放入占位位置

%d

將內(nèi)容轉(zhuǎn)換成整數(shù),放入占位位置

%f

將內(nèi)容轉(zhuǎn)換成浮點(diǎn)型,放入占位位置

如下代碼,完成字符串、整數(shù)、浮點(diǎn)數(shù),三種不同類型變量的占位

python入門,java,開發(fā)語言,人工智能

?其中,% 表示占位符,且在無需使用變量進(jìn)行數(shù)據(jù)存儲的時候,可以直接格式化表達(dá)式(變量的位置放入表達(dá)式),簡化代碼

2.6.4.格式化的精度控制

我們可以使用輔助符號"m.n"來控制數(shù)據(jù)的寬度和精度

m,控制寬度,要求是數(shù)字,如果設(shè)置的寬度小于數(shù)字自身,則不生效

.n,控制小數(shù)點(diǎn)精度,要求是數(shù)字,會進(jìn)行小數(shù)的四舍五入

示例: %5d:表示將整數(shù)的寬度控制在5位,如數(shù)字11,就會變成:[空格][空格][空格]11,用三個空格補(bǔ)足寬度python自學(xué)能行嗎。

%5.2f:表示將寬度控制為5,將小數(shù)點(diǎn)精度設(shè)置為2 。小數(shù)點(diǎn)和小數(shù)部分也算入寬度計(jì)算。如,對11.345設(shè)置了%7.2f 后,結(jié)果是:[空格][空格]11.35。2個空格補(bǔ)足寬度,小數(shù)部分限制2位精度后,四舍五入為 .35

%.2f:表示不限制寬度,只設(shè)置小數(shù)點(diǎn)精度為2,如11.345設(shè)置%.2f后,結(jié)果是11.35

2.6.5.字符串快速格式化

通過語法:f"內(nèi)容{變量}"的格式來快速格式化

python入門,java,開發(fā)語言,人工智能

?注意:這種寫法不做精度控制,不理會類型

2.7.數(shù)據(jù)輸入

使用input()語句可以從鍵盤獲取輸入

python入門,java,開發(fā)語言,人工智能

?注意:無論鍵盤輸入什么類型的數(shù)據(jù),獲取到的數(shù)據(jù)永遠(yuǎn)都是字符串類型

三:python判斷語句

3.1.if語句的基本格式

python入門,java,開發(fā)語言,人工智能

歸屬于if判斷的代碼語句塊,需在前方填充4個空格縮進(jìn)

Python通過縮進(jìn)判斷代碼塊的歸屬關(guān)系。

3.2.if elif else語句

python入門,java,開發(fā)語言,人工智能

四:python循環(huán)語句

4.1.while循環(huán)

python入門,java,開發(fā)語言,人工智能

4.2.for循環(huán)

python入門,java,開發(fā)語言,人工智能

?4.3.range語句

用于獲得一個數(shù)字序列

語法1:range(num)

????????????????????????從0開始,到num結(jié)束(不含num本身)

語法2:range(num1, num2)

????????????????????????從0開始,到num結(jié)束(不含num本身)

?語法3:range(num1, num2, step)

????????????????????????從0開始,到num結(jié)束(不含num本身)

python入門,java,開發(fā)語言,人工智能

五:Python函數(shù)

函數(shù):是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)特定功能的代碼段

函數(shù)的定義:

python入門,java,開發(fā)語言,人工智能

?注意:如果函數(shù)沒有使用return語句返回數(shù)據(jù),會返回None這個字面量;在if判斷中,None等同于False;定義變量,但暫時不需要變量有具體值,可以用None來代替

使用 global關(guān)鍵字 可以在函數(shù)內(nèi)部聲明變量為全局變量

python入門,java,開發(fā)語言,人工智能

六:Python數(shù)據(jù)容器

一種可以容納多份數(shù)據(jù)的數(shù)據(jù)類型,容納的每一份數(shù)據(jù)稱之為1個元素。 每一個元素,可以是任意類型的數(shù)據(jù)

6.1.list(列表)

基本語法:??

python入門,java,開發(fā)語言,人工智能

列表的方法:

編號

使用方式

作用

1

列表.append(元素)

向列表的尾部追加一個元素

2

列表.extend(容器)

將數(shù)據(jù)容器的內(nèi)容(無結(jié)構(gòu))依次取出,追加到列表尾部

3

列表.insert(下標(biāo),?元素)

在指定下標(biāo)處,插入指定的元素

4

del?列表[下標(biāo)]

刪除列表指定下標(biāo)元素

5

列表.pop(下標(biāo))

除列表指定下標(biāo)元素(能得到返回值)

6

列表.remove(元素)

從前向后,刪除此元素第一個匹配項(xiàng)

7

列表.clear()

清空列表

8

列表.count(元素)

統(tǒng)計(jì)此元素在列表中出現(xiàn)的次數(shù)

9

列表.index(元素)

查找指定元素在列表的下標(biāo)

找不到報錯ValueError

10

len(列表)

統(tǒng)計(jì)容器內(nèi)有多少元素

列表特點(diǎn):

python入門,java,開發(fā)語言,人工智能

6.2.tuple(元組)

基本語法:

python入門,java,開發(fā)語言,人工智能

python入門,java,開發(fā)語言,人工智能

?注意:元組只有一個數(shù)據(jù),這個數(shù)據(jù)后面要添加逗號

元組的方法:

編號

方法

作用

1

index()

查找某個數(shù)據(jù),如果數(shù)據(jù)存在返回對應(yīng)的下標(biāo),否則報錯

2

count()

統(tǒng)計(jì)某個數(shù)據(jù)在當(dāng)前元組出現(xiàn)的次數(shù)

3

len(元組)

統(tǒng)計(jì)元組內(nèi)的元素個數(shù)

元組特點(diǎn):

python入門,java,開發(fā)語言,人工智能

6.3.str(字符串)

字符串的方法:

編號

操作

說明

1

字符串[下標(biāo)]

根據(jù)下標(biāo)索引取出特定位置字符

2

字符串.index(字符串)

查找給定字符的第一個匹配項(xiàng)的下標(biāo)

3

字符串.replace(字符串1,?字符串2)

將字符串內(nèi)的全部字符串1,替換為字符串2

不會修改原字符串,而是得到一個新的

4

字符串.split(字符串)

按照給定字符串,對字符串進(jìn)行分隔

不會修改原字符串,而是得到一個新的列表

5

字符串.strip()

字符串.strip(字符串)

移除首尾的空格和換行符

或指定字符串

6

字符串.count(字符串)

統(tǒng)計(jì)字符串內(nèi)某字符串的出現(xiàn)次數(shù)

7

len(字符串)

統(tǒng)計(jì)字符串的字符個數(shù)

字符串特點(diǎn):

字符串容器可以容納的類型是單一的,只能是字符串類型。

字符串不可以修改,如果必須要修改,只能得到一個新的字符串,舊的字符串是無法修改

6.4.序列的切片

序列是指:內(nèi)容連續(xù)、有序,可使用下標(biāo)索引的一類數(shù)據(jù)容器

列表、元組、字符串,均可以可以視為序列

語法:序列[起始下標(biāo):結(jié)束下標(biāo):步長]

表示從序列中,從指定位置開始,依次取出元素,到指定位置結(jié)束,得到一個新序列

  • 起始下標(biāo)表示從何處開始,可以留空,留空視作從頭開始
  • 結(jié)束下標(biāo)(不含)表示何處結(jié)束,可以留空,留空視作截取到結(jié)尾
  • 步長表示,依次取元素的間隔
  • 步長為負(fù)數(shù)表示,反向?。ㄗ⒁猓鹗枷聵?biāo)和結(jié)束下標(biāo)也要反向標(biāo)記)

python入門,java,開發(fā)語言,人工智能

6.5.set(集合)

基本語法:

python入門,java,開發(fā)語言,人工智能

集合的方法:

編號

操作

說明

1

集合.add(元素)

集合內(nèi)添加一個元素

2

集合.remove(元素)

移除集合內(nèi)指定的元素

3

集合.pop()

從集合中隨機(jī)刪除一個元素并返回

4

集合.clear()

將集合清空

5

集合1.difference(集合2)

得到一個新集合,內(nèi)含2個集合的差集

原有的2個集合內(nèi)容不變

6

集合1.difference_update(集合2)

在集合1中,刪除集合2中存在的元素

集合1被修改,集合2不變

7

集合1.union(集合2)

得到1個新集合,內(nèi)含2個集合的全部元素

原有的2個集合內(nèi)容不變

8

len(集合)

得到一個整數(shù),記錄了集合的元素數(shù)量

集合特點(diǎn):

相較于列表、元組、字符串來說,不支持元素的重復(fù)(自帶去重功能)、并且內(nèi)容無序

6.6.dict(字典)

字典定義?

python入門,java,開發(fā)語言,人工智能

?字典的常用操作:

編號

操作

說明

1

字典[Key]

獲取指定Key對應(yīng)的Value

2

字典[Key]?=?Value

添加或更新鍵值對

3

字典.pop(Key)

取出Key對應(yīng)的Value并在字典內(nèi)刪除此Key的鍵值對

4

字典.clear()

清空字典

5

字典.keys()

獲取字典的全部Key,可用于for循環(huán)遍歷字典

6

len(字典)

計(jì)算字典內(nèi)的元素數(shù)量

字典特點(diǎn):

  • 鍵值對的Key和Value可以是任意類型(Key不可為字典)
  • 字典內(nèi)Key不允許重復(fù),重復(fù)添加等同于覆蓋原有數(shù)據(jù)
  • 字典不可用下標(biāo)索引,而是通過Key檢索Value

6.7.數(shù)據(jù)容器的通用操作

數(shù)據(jù)容器特點(diǎn)對比:

列表

元組

字符串

集合

字典

元素數(shù)量

支持多個

支持多個

支持多個

支持多個

支持多個

元素類型

任意

任意

僅字符

任意

Key:Value

Key:除字典外任意類型

Value:任意類型

下標(biāo)索引

支持

支持

支持

不支持

不支持

重復(fù)元素

支持

支持

支持

不支持

不支持

可修改性

支持

不支持

不支持

支持

支持

數(shù)據(jù)有序

使用場景

可修改、可重復(fù)的一批數(shù)據(jù)記錄場景

不可修改、可重復(fù)的一批數(shù)據(jù)記錄場景

一串字符的記錄場景

不可重復(fù)的數(shù)據(jù)記錄場景

以Key檢索Value的數(shù)據(jù)記錄場景

容器通用功能:

功能

描述

通用for循環(huán)

遍歷容器(字典是遍歷key)

max

容器內(nèi)最大元素

min()

容器內(nèi)最小元素

len()

容器元素個數(shù)

list()

轉(zhuǎn)換為列表

tuple()

轉(zhuǎn)換為元組

str()

轉(zhuǎn)換為字符串

set()

轉(zhuǎn)換為集合

sorted(序列,?[reverse=True])

排序,reverse=True表示降序

得到一個排好序的列表

七:Python函數(shù)進(jìn)階

7.1.函數(shù)多返回值

python入門,java,開發(fā)語言,人工智能

?按照返回值的順序,寫對應(yīng)順序的多個變量接收即可 變量之間用逗號隔開

7.2.函數(shù)多種傳參方式

7.2.1.位置參數(shù)

調(diào)用函數(shù)時根據(jù)函數(shù)定義的參數(shù)位置來傳遞參

python入門,java,開發(fā)語言,人工智能

?傳遞的參數(shù)和定義的參數(shù)的順序及個數(shù)必須一致

7.2.2.關(guān)鍵字參數(shù)

函數(shù)調(diào)用時通過“鍵=值”形式傳遞參數(shù)

python入門,java,開發(fā)語言,人工智能

7.2.3.缺省參數(shù)

缺省參數(shù)也叫默認(rèn)參數(shù),用于定義函數(shù),為參數(shù)提供默認(rèn)值,調(diào)用函數(shù)時可不傳該默認(rèn)參數(shù)的值(注意:所有位置參數(shù)必須出現(xiàn)在默認(rèn)參數(shù)前,包括函數(shù)定義和調(diào)用)

python入門,java,開發(fā)語言,人工智能

?函數(shù)調(diào)用時,如果為缺省參數(shù)傳值則修改默認(rèn)參數(shù)值, 否則使用這個默認(rèn)值

7.2.4.不定長參數(shù)

不定長參數(shù)也叫可變參數(shù). 用于不確定調(diào)用的時候會傳遞多少個參數(shù)(不傳參也可以)的場景.

不定長參數(shù)的類型: ? ? ?①位置傳遞 ? ? ?②關(guān)鍵字傳遞

1.位置傳遞

python入門,java,開發(fā)語言,人工智能

?傳進(jìn)的所有參數(shù)都會被args變量收集,它會根據(jù)傳進(jìn)參數(shù)的位置合并為一個元組(tuple),args是元組類型,這就是位置傳遞

2.關(guān)鍵字傳遞

python入門,java,開發(fā)語言,人工智能

?參數(shù)是“鍵=值”形式的形式的情況下, 所有的“鍵=值”都會被kwargs接受, 同時會根據(jù)“鍵=值”組成字典.

7.2.5.函數(shù)作為參數(shù)傳遞

python入門,java,開發(fā)語言,人工智能

7.3.匿名函數(shù)

函數(shù)的定義中

  • def關(guān)鍵字,可以定義帶有名稱的函數(shù)
  • lambda關(guān)鍵字,可以定義匿名函數(shù)(無名稱)

?有名稱的函數(shù),可以基于名稱重復(fù)使用。?無名稱的匿名函數(shù),只可臨時使用一次

匿名函數(shù)定義語法:

python入門,java,開發(fā)語言,人工智能

  • lambda 是關(guān)鍵字,表示定義匿名函數(shù)
  • 傳入?yún)?shù)表示匿名函數(shù)的形式參數(shù),如:x, y 表示接收2個形式參數(shù)
  • 函數(shù)體,就是函數(shù)的執(zhí)行邏輯,要注意:只能寫一行,無法寫多行代碼

python入門,java,開發(fā)語言,人工智能

八:Python文件操作

8.1.文件的讀取

mode常用的三種基礎(chǔ)訪問模式:

模式

描述

r

以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。

w

打開一個文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,原有內(nèi)容會被刪除。

如果該文件不存在,創(chuàng)建新文件。

a

打開一個文件用于追加。如果該文件已存在,新的內(nèi)容將會被寫入到已有內(nèi)容之后。

如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。

操作

功能

文件對象?=?open(file,?mode,?encoding)

打開文件獲得文件對象

文件對象.read(num)

讀取指定長度字節(jié)

不指定num讀取文件全部

文件對象.readline()

讀取一行

文件對象.readlines()

讀取全部行,得到列表

for?line?in?文件對象

for循環(huán)文件行,一次循環(huán)得到一行數(shù)據(jù)

文件對象.close()

關(guān)閉文件對象

with?open()?as?f

通過with?open語法打開文件,可以自動關(guān)閉

8.2.文件的寫入

python入門,java,開發(fā)語言,人工智能

  • ?直接調(diào)用write,內(nèi)容并未真正寫入文件,而是會積攢在程序的內(nèi)存中,稱之為緩沖區(qū)
  • 當(dāng)調(diào)用flush的時候,內(nèi)容會真正寫入文件
  • 這樣做會頻繁的操作硬盤,導(dǎo)致效率下降

九:Python異常、模塊與包

9.1.異常的捕獲

在可能發(fā)生異常的地方,進(jìn)行捕獲。當(dāng)異常出現(xiàn)的時候,提供解決方式,而不是任由其導(dǎo)致程序無法運(yùn)行。

python入門,java,開發(fā)語言,人工智能

?異常的種類多種多樣,如果想要不管什么類型的異常都能捕獲到,那么使用:except Exception as e:

9.2.Python模塊

模塊(Module),是一個 Python 文件,以 .py 結(jié)尾. ?模塊能定義函數(shù),類和變量,模塊里也能包含可執(zhí)行的代碼

模塊的導(dǎo)入方式:

python入門,java,開發(fā)語言,人工智能

?常用的組合形式如:

  • import 模塊名
  • from 模塊名 import 類、變量、方法等
  • from 模塊名 import *
  • import 模塊名 as 別名
  • from 模塊名 import 功能名 as 別名

自定義模塊:

每個Python文件都可以作為一個模塊,模塊的名字就是文件的名字

在實(shí)際開發(fā)中,當(dāng)一個開發(fā)人員編寫完一個模塊后,為了讓模塊能夠在項(xiàng)目中達(dá)到想要的效果, 這個開發(fā)人員會自行在py文件中添加一些測試信息,但是在模塊導(dǎo)入的時候都會自動執(zhí)行`test`函數(shù)的調(diào)用

解決方案:

python入門,java,開發(fā)語言,人工智能

如果一個模塊文件中有`_ _all_ _`變量,當(dāng)使用`from xxx import *`導(dǎo)入時,只能導(dǎo)入這個列表中的元素

python入門,java,開發(fā)語言,人工智能

9.3.Python包

從物理上看,包就是一個文件夾,在該文件夾下自動創(chuàng)建了一個 _ _init_ _.py 文件,該文件夾可用于包含多個模塊文件 從邏輯上看,包的本質(zhì)依然是模塊

python入門,java,開發(fā)語言,人工智能

?當(dāng)我們的模塊文件越來越多時,包可以幫助我們管理這些模塊, 包的作用就是包含多個模塊,但包的本質(zhì)依然是模塊

導(dǎo)入包:

1.import 包名.模塊名? ?調(diào)用:包名.模塊名.目標(biāo)

2.from 包名 import *?必須在`__init__.py`文件中添加`__all__ = []`,控制允許導(dǎo)入的模塊列表

十:面向?qū)ο?/h3>

10.1.成員方法

python入門,java,開發(fā)語言,人工智能

?在Python中,如果將函數(shù)定義為class(類)的成員,那么函數(shù)會稱之為:方法

python入門,java,開發(fā)語言,人工智能

?方法和函數(shù)功能一樣, 有傳入?yún)?shù),有返回值,只是方法的使用格式不同:

python入門,java,開發(fā)語言,人工智能

?在類中定義成員方法和定義函數(shù)基本一致,但仍有細(xì)微區(qū)別:

python入門,java,開發(fā)語言,人工智能

?可以看到,在方法定義的參數(shù)列表中,有一個:self關(guān)鍵字?,它是成員方法定義的時候,必須填寫的,但是傳參的時候可以忽略它

  • 它用來表示類對象自身的意思
  • 當(dāng)我們使用類對象調(diào)用方法的是,self會自動被python傳入
  • 在方法內(nèi)部,想要訪問類的成員變量,必須使用self

10.2.構(gòu)造方法

基于類創(chuàng)建對象的語法:

python入門,java,開發(fā)語言,人工智能

?Python類可以使用:_ _init_ _()方法,稱之為構(gòu)造方法

在創(chuàng)建類對象(構(gòu)造類)的時候,會自動執(zhí)行,并將傳入?yún)?shù)自動傳遞給__init__方法使用

python入門,java,開發(fā)語言,人工智能

10.3.封裝

面向?qū)ο缶幊蹋腔谀0澹悾┤?chuàng)建實(shí)體(對象),使用對象完成功能開發(fā)

面向?qū)ο蟀?大主要特性:封裝 繼承 多態(tài)

將現(xiàn)實(shí)世界事物在類中描述為屬性和方法,即為封裝

python入門,java,開發(fā)語言,人工智能

?現(xiàn)實(shí)事物有部分屬性和行為是不公開對使用者開放的。同樣在類中描述屬性和方法的時候也需要達(dá)到這個要求,就需要定義私有成員

成員變量和成員方法的命名均以_ _作為開頭即可

python入門,java,開發(fā)語言,人工智能

?私有成員無法被類對象使用,但是可以被其它的成員使用。

python入門,java,開發(fā)語言,人工智能

10.4.繼承

繼承:將從父類那里繼承(復(fù)制)來成員變量和成員方法(不含私有)

單繼承:

python入門,java,開發(fā)語言,人工智能

?

多繼承:

python入門,java,開發(fā)語言,人工智能

?多個父類中,如果有同名的成員,那么默認(rèn)以繼承順序(從左到右)為優(yōu)先級

pass是占位語句,用來保證函數(shù)(方法)或類定義的完整性,表示無內(nèi)容,空的意思

復(fù)寫:

子類繼承父類的成員屬性和成員方法后,如果對其“不滿意”,那么可以進(jìn)行復(fù)寫。即在子類中重新定義同名的屬性或方法即可

python入門,java,開發(fā)語言,人工智能

?一旦復(fù)寫父類成員,那么類對象調(diào)用成員的時候,就會調(diào)用復(fù)寫后的新成員 如果需要使用被復(fù)寫的父類的成員,需要特殊的調(diào)用方式:

python入門,java,開發(fā)語言,人工智能python入門,java,開發(fā)語言,人工智能

?注意:只能在子類內(nèi)調(diào)用父類的同名成員,子類的類對象直接調(diào)用會調(diào)用子類復(fù)寫的成員

?10.5.多態(tài)

多態(tài):指的是完成某個行為時,使用不同的對象會得到不同的狀態(tài),多態(tài)常作用在繼承關(guān)系上

python入門,java,開發(fā)語言,人工智能

?抽象類(接口):含有抽象方法的類稱之為抽象類

抽象方法:方法體是空實(shí)現(xiàn)的(pass)稱之為抽象方法

抽象類多用于做頂層設(shè)計(jì)(設(shè)計(jì)標(biāo)準(zhǔn)),以便子類做具體實(shí)現(xiàn),要求子類必須復(fù)寫(實(shí)現(xiàn))父類的一些方法

到了這里,關(guān)于python 基礎(chǔ) 詳細(xì),python 基礎(chǔ)入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python 基礎(chǔ) 詳細(xì),python 基礎(chǔ)入門

    python 基礎(chǔ) 詳細(xì),python 基礎(chǔ)入門

    這篇文章主要介紹了python 基礎(chǔ) 詳細(xì),具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲,下面讓小編帶著大家一起了解一下。 目錄 一:簡介: 二:Python基礎(chǔ)語法 2.1.字面量 2.2.注釋 2.3.數(shù)據(jù)類型轉(zhuǎn)換 2.4.標(biāo)識符 2.5.運(yùn)算符 2.6.字符串 2.6.1.字符串

    2024年03月26日
    瀏覽(20)
  • 【Python從入門到人工智能】16個必會的Python內(nèi)置函數(shù)(4)——數(shù)據(jù)轉(zhuǎn)換與計(jì)算 (詳細(xì)語法參考+參數(shù)說明+具體示例) | 求和、四舍五入、冪運(yùn)算的綜合應(yīng)用

    【Python從入門到人工智能】16個必會的Python內(nèi)置函數(shù)(4)——數(shù)據(jù)轉(zhuǎn)換與計(jì)算 (詳細(xì)語法參考+參數(shù)說明+具體示例) | 求和、四舍五入、冪運(yùn)算的綜合應(yīng)用

    ? 成長的標(biāo)準(zhǔn)就是,拒絕別人以后,沒有任何的愧疚感?!_特 ? ? ??作者主頁: 追光者♂?? ???????? ??個人簡介: ? ??[1] 計(jì)算機(jī)專業(yè)碩士研究生?? ? ??[2] 2022年度博客之星人工智能領(lǐng)域TOP4?? ? ??[3] 阿里云社區(qū)特邀專家博主?? ? ??[4] CSDN-人工智能領(lǐng)域優(yōu)質(zhì)

    2024年02月15日
    瀏覽(36)
  • Java語言開發(fā)在線小說推薦網(wǎng) 小說推薦系統(tǒng) 基于用戶、物品的協(xié)同過濾推薦算法 SSM(Spring+SpringMVC+Mybatis)開發(fā)框架 大數(shù)據(jù)、人工智能、機(jī)器學(xué)習(xí)開發(fā)

    Java語言開發(fā)在線小說推薦網(wǎng) 小說推薦系統(tǒng) 基于用戶、物品的協(xié)同過濾推薦算法 SSM(Spring+SpringMVC+Mybatis)開發(fā)框架 大數(shù)據(jù)、人工智能、機(jī)器學(xué)習(xí)開發(fā)

    1、開發(fā)工具和使用技術(shù) MyEclipse10/Eclipse/IDEA,jdk1.8,mysql5.5/mysql8,navicat數(shù)據(jù)庫管理工具,tomcat,SSM(spring+springmvc+mybatis)開發(fā)框架,jsp頁面,javascript腳本,jquery腳本,bootstrap前端框架(用戶端),layui前端框架(管理員端),layer彈窗組件等。 2、實(shí)現(xiàn)功能 前臺用戶包含:注

    2023年04月26日
    瀏覽(99)
  • 【Java基礎(chǔ)】全網(wǎng)最詳細(xì) - 從入門到轉(zhuǎn)行

    【Java基礎(chǔ)】全網(wǎng)最詳細(xì) - 從入門到轉(zhuǎn)行

    Java是一種通用的、高級的、面向?qū)ο蟮木幊陶Z言,最初由Sun Microsystems(目前為Oracle公司)于1995年發(fā)布。它被設(shè)計(jì)成一種可以在各種不同的環(huán)境中運(yùn)行的語言,不論是桌面應(yīng)用程序、企業(yè)級應(yīng)用程序、移動設(shè)備或集群服務(wù)器,都可以使用Java來開發(fā)。 Java的特點(diǎn)包括: 簡單性

    2024年02月06日
    瀏覽(19)
  • 【Go】Go語言開發(fā)0基礎(chǔ)7天入門 - 筆記

    【Go】Go語言開發(fā)0基礎(chǔ)7天入門 - 筆記

    課程來源:【路飛學(xué)城】-黑金年卡VIP課程 課程名稱:GO語言開發(fā)0基礎(chǔ)7天入門 講師:【 前汽車之家架構(gòu)師 】Wusir-銀角大王 官網(wǎng):點(diǎn)擊進(jìn)入 集python簡潔 + C語言性能 詳情點(diǎn)擊 編程語言 實(shí)戰(zhàn)經(jīng)驗(yàn) 源碼 并發(fā)架構(gòu) 新語言觸類旁通 1.1 開篇介紹(必看) 1.2 環(huán)境搭建前戲 1.3 mac系統(tǒng)G

    2024年02月16日
    瀏覽(30)
  • 【Java入門合集】第二章Java語言基礎(chǔ)(三)

    【Java入門合集】第二章Java語言基礎(chǔ)(三)

    博主:命運(yùn)之光 專欄:Java零基礎(chǔ)入門 學(xué)習(xí)目標(biāo) 掌握變量、常量、表達(dá)式的概念,數(shù)據(jù)類型及變量的定義方法; 掌握常用運(yùn)算符的使用; 掌握程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的使用; 掌握數(shù)組的定義及使用方法; 掌握基本的輸入輸出方法; Java中的語句有很多種形式

    2024年02月03日
    瀏覽(91)
  • 【Java入門合集】第二章Java語言基礎(chǔ)(一)

    【Java入門合集】第二章Java語言基礎(chǔ)(一)

    博主:命運(yùn)之光 專欄:Java零基礎(chǔ)入門 學(xué)習(xí)目標(biāo) 掌握變量、常量、表達(dá)式的概念,數(shù)據(jù)類型及變量的定義方法; 掌握常用運(yùn)算符的使用; 掌握程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的使用; 掌握數(shù)組的定義及使用方法; 掌握基本的輸入輸出方法; 提示:不要去強(qiáng)記

    2024年02月02日
    瀏覽(33)
  • 零基礎(chǔ)學(xué)python:超詳細(xì)的入門教程!

    零基礎(chǔ)學(xué)python:超詳細(xì)的入門教程!

    Python它是一種直譯式,面向?qū)ο?,解釋式的腳本語言。它和Java,C/C++,Go語言一樣都是高級語言,但由于它是解釋式語言,所以運(yùn)行速度會比Java,C/C++等語言慢(雖說隔壁Go也是解釋式語言,但比它快很多)。不過任何事物有利也有弊,Python因?yàn)樽陨頂y帶了許多庫(如:OS、TCP、

    2024年02月04日
    瀏覽(26)
  • 網(wǎng)絡(luò)安全|滲透測試入門學(xué)習(xí),從零基礎(chǔ)入門到精通—滲透中的開發(fā)語言

    網(wǎng)絡(luò)安全|滲透測試入門學(xué)習(xí),從零基礎(chǔ)入門到精通—滲透中的開發(fā)語言

    目錄 前面的話 開發(fā)語言 1、html 解析 2、JavaScript 用法 3、JAVA ? 特性 4、PHP 作用 PHP 能做什么? 5、C/C++ 使用 如何學(xué)習(xí) 關(guān)于在滲透中需要學(xué)習(xí)的語言第一點(diǎn)個人認(rèn)為就是可以打一下HTML,JS那些基礎(chǔ)知識,磨刀不誤砍柴工。其次,了解基本的代碼后,就可以去學(xué)習(xí)相關(guān)的漏洞知

    2024年02月09日
    瀏覽(20)
  • 4.Python從入門到精通—Python 基礎(chǔ)語法詳細(xì)講解-下

    Python中的輸入輸出和文件操作是編程中非常常見和重要的部分。下面我會詳細(xì)講解Python中的輸入輸出和文件操作。 Python中的輸入輸出通常使用input()和print()函數(shù)。 輸入 input()函數(shù)用于從控制臺獲取用戶輸入的數(shù)據(jù)。它的基本用法如下: 其中,prompt是可選的字符串參數(shù),用于向

    2024年03月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包