Python入門 切片和函式

2021-10-06 20:32:59 字數 1890 閱讀 1540

切片是python提供給開發者用來分割、切割字串或者其他有序可迭代物件的一種手段

字串[index] # 訪問字串的某個字元

字串[start:] # 從start小標位置開始切割字串,到末尾

字串[start: end] # 從start小標位置開始切割字串,切去end位置,不包含end 前閉後開區間[)

字串[start: end: step] # step表示步長,預設是1,注意:如果step為負數,表示從右向左切取

函式是具有特殊功能的一段**的封裝

函式是具有名稱的一段具體功能**的統稱

提高**封裝、提高**的復用性、解耦合的作用

使用關鍵字def# define function

def 函式名稱([引數列表]):

# 函式體

# [return 返回值]

# 呼叫函式的幫助文件

# print(print_msg.__doc__)

# print(help(print_msg))

|-- 定義有沒有引數

|-- 無參函式

|-- 有參函式

函式的引數,要根據實際來決定,是否需要引數

|-- 是否有返回值

|-- 無返回值

|-- 有返回值

在函式中,當遇到return關鍵字的時候,函式會立刻返回

全域性變數:定義在模組(.py)中,可以在該模組定義後任何地方都可以訪問

區域性變數:定義在函式內部的變數,作用域只是在當前函式內有效,出了函式,無法訪問到

在函式中,能不能訪問到全域性變數?

當然可以,但是注意:在python中,函式內不允許修改全域性變數

如果確實在函式內,需要修改全域性變數,必須要提前申明

global 全域性變數

壓棧,函式呼叫本質就是將堆中的函式呼叫到棧中執行,這個過程被稱為壓棧,等函式執行完成,

會立刻執行出棧(彈棧)

預設值引數

# 預設值引數,在引數上,給定乙個最常用的值,在呼叫的時候,

# 如果和預設的值一致,就可也不用傳遞這個引數

def get_cricle_area(r, pi=3.14):

pass

注意:預設值引數,必須放在普通後面!!!

可變引數

def show(name, age=16, *args):

pass

args以元組的形式儲存

命名引數(關鍵字引數)

def show2(name, age, **kwargs):

pass

kwargs是以字典的形式儲存

函式自身呼叫自身

注意:必須要有終止條件,沒有終止條件的遞迴是乙個死迴圈

遞迴次數上限為1000次,可更改

stackoverflowexception

#作業8:使用遞迴完成1~100之間的積

def

digui

(i=100):

if i ==1:

return

1return i*digui(i-1)

print

(digui(

))

if __name__ ==  __'main'__:

pass

這段**在不涉及多個檔案呼叫時帶不帶都可以,**依然從上至下執行,但在這段內的**不會在被其他檔案的程式呼叫時執行,所以裡面一般放測試用函式。

python入門 切片

這個東西目前不太能清楚的表示出來,我理解就是乙個字串的擷取操作,其語法比較簡單,就是在你需要切片 操作 的資料後面加上 start index end index interval start index 切片起始位置 被切片目標擷取起點 end index 切片終止位置 被切片目標擷取終點 int...

Python入門list切片

l 0 3 adam lisa bart l 0 3 表示,從索引0開始取,直到索引3為止,但不包括索引3。即索引0,1,2,正好是3個元素。如果第乙個索引是0,還可以省略 l 3 adam lisa bart 也可以從索引1開始,取出2個元素出來 l 1 3 lisa bart 只用乙個 表示從頭...

Python切片和切片賦值

a 1,2,3 b a 切片 a 1 切片賦值切片 在右側,切片賦值 在左側 切片是淺拷貝,不影響原序列 切片賦值是針對原序列進行操作,改變切片區域的序列。切片賦值,給序列的切片部分新的賦值必須是可迭代型別 a 1,2,3 a 1 2 3 typeerror can only assign an i...