淺談python零基礎教程總結30天--day8
一、函式:
函式:函式就是實現某一特定功能的程式碼塊;在類中,函式又叫方法(對某一個功能的封裝)
為什麼要使用函式?
飛機的功能: 左移、右移、上移、下移、發射子彈等
a.沒有函式的時候:
問題:1.一樣的功能對應的程式碼,需要重複寫很多次 (程式碼冗餘)
1. 如果功能發生改變的時候,需要修改很多位置的程式碼
b.怎麼解決上面的問題: 使用函式
函式作用: 1.讓介面簡潔(同樣的功能對應的程式碼只寫一遍)
2.如果功能發生改變,使用函式只需要修改一個地方的
3.讓程式碼模組化
二、函式的宣告(定義)
print()、input()、len()、max()、min()等,都是python內建函式
append()、insert()等是相關類對應的函式
a.格式
def 函式名(引數列表):
說明文字
函式體
def: 是python中宣告函式的關鍵字
函式名: 識別符號,PEP8,見名知義(根據函式名大概知道函式的功能)
(): 固定格式,不能省略
引數列表(形參): 引數的作用就是從外面往函式中傳值。一個函式可以有沒有引數,也可以有多個引數。如果有多個引數,引數間用逗號隔開
冒號: 固定的格式
說明文字: 對函式功能進行說明
函式體:就是實現函式功能的程式碼段
.對於初學者來說,宣告函式的步驟:
1. 確定函式的功能(確定函式是幹什麼的)
2. 確定函式名 (根據功能確定函式名)
3. 確定引數 (確定是否有引數,確定引數有幾個,看實現這個功能需不需要從外面傳值進去)
4. 確定是否需要返回值 (返回值:就是函式返回給呼叫者的資料。python中所有的函式都有返回值,預設是None)
5. 實現函式的功能
注意:函式只要在呼叫的時候才會執行
“”“
1.函式的呼叫
“””
格式:
函式名(引數列表)
函式名: 你宣告的需要呼叫的函式(已經宣告過的函式才可以呼叫)
引數列表:實參
函式的呼叫過程:就是用實參給形參賦值,並且執行函式體獲取返回值
“”“
寫一個函式,列印’hello python’
宣告函式hello
def hello():
“”“列印 ‘hello python’ “””
print(‘hello python’)
呼叫函式hello
re = hello()
print(hello())
注意: 1.一個函式宣告後,可以呼叫多次 2.python中所有的函式呼叫表示式都有值
寫一個函式,去列印10的階層(1*2*3*…*10)
def jie_ceng():
“”“列印10的階層”“”
sum1 = 1
for x in range(1, 11):
sum1 *= x
print(sum1)
jie_ceng()
1.函式的宣告
def 函式名(引數列表):
說明文字
函式體
形參: 獲取從外面傳遞給函式內部的值
2.函式的呼叫
函式名(實參列表)
實參:呼叫函式的時候給函式傳的值
“”“
“”“1.帶參的函式的宣告和呼叫”“”
寫一個函式,列印兩個數的和
形參就是變數(宣告在函式內的變數)
def my_sum(num1, num2):
列印num1和num2的和
print(num1, num2)
print(num1+num2)
帶參的函式的呼叫
my_sum(30) # TypeError 注意!:函式呼叫的時候一定要保證每個形參都有值
1.位置引數(用實參依次給形參賦值)
my_sum(20, 10) # 執行這句程式碼:先將num1 = 10, num2 = 20。再執行my_sum的函式體
2.關鍵字引數
my_sum(num2=10, num1=5)
練習: 寫一個函式,列印一個數的立方
def cubic(num):
“”“求一個數的立方”“”
print(num**3)
cubic(10)
cubic(num=10)
“”“2.引數的預設值”“”
在python中,函式的引數可以設定預設值(函式宣告的時候給引數賦值)。
如果引數設定了預設值,那麼呼叫函式的時候,這個引數可以傳參,也不可以不參
寫一個函式,問候某人(列印:XXX,how are you!)
def say_hi(name=’XXX’):
“”“問候”“”
print(‘%s,how are you!’ % (name))
函式呼叫的要求:保證每個引數有值
say_hi()
say_hi(‘張三’) # name=’張三’ , print(‘%s,how are you!’ % (name))
注意:如果宣告函式的時候,函式中有多個引數,有預設值引數必須放到沒有預設值的引數的後面
def say_hello(message, name=’xxx’):
“”“問候”“”
print(‘%s,%s’ % (name, message))
say_hello(‘你吃飯了嗎?’, ‘李四’)
say_hello(‘最近好嗎?’)
say_hello(name=’小花’,message=’i love you!’)
say_hello(message=’我恨你!’)
“”“3.引數個數不定”“”
寫一個函式,求多個數的和
“””
引數個數不確定的時候,就在引數列表中宣告一個變數,前面加一個*;
這個時候這個變數就變成了元祖。函式呼叫的時候,所有的實參都會新增到這個元祖中
“””
def my_sum2(*nums):
sum1 = 0
for item in nums:
sum1 += item
print(sum1)
my_sum2(10, 2, 30)
my_sum2(1, 2)
my_sum2(1, 2, 3, 4, 5, 6)
相關文章
- 淺談Python基礎Python
- Service Cloud 零基礎(二)Knowledge淺談Cloud
- salesforce零基礎學習(九十八)Type淺談Salesforce
- salesforce零基礎學習(九十六)Platform Event淺談SalesforcePlatform
- 30 天精通 RxJS (25):Subject 總結JS
- 程式設計完全零基礎,學習python的吐血總結!程式設計Python
- Python基礎教程100天:Day03-分支結構Python
- 我入門 Python 後總結的基礎教程Python
- Python基礎面試題30問!Python基礎教程Python面試題
- 【Python零基礎】19天從零開始學Python——第一天Python
- Memcache教程 Memcache零基礎教程
- 給零基礎小白的Python入門教程Python
- [教程分享] 零基礎寫 Python 機器人Python機器人
- Python入門教程100天:Day05-練習總結Python
- 【Python】基礎總結Python
- 30天自制作業系統——第3天實驗總結作業系統
- 30天自制作業系統——第4天實驗總結作業系統
- 零基礎入門Python教程4節與基礎語法Python
- 淺談Python中的bs4基礎Python
- PHPer 淺談 Python 的資料結構PHPPython資料結構
- 《SQL基礎教程》簡要總結SQL
- Python爬蟲五大零基礎入門教程Python爬蟲
- Python零基礎好學嗎?零基礎如何學習Python?Python
- Python集合淺談Python
- iOS推流器模組知識點淺談總結iOS
- 零基礎學習Java,全方位知識點總結!Java
- 淺談連結器
- Python 爬蟲零基礎教程(1):爬單個圖片Python爬蟲
- 【全棧React】第30天: 總結和更多的資源全棧React
- python學習筆記(1)--《python基礎教程》第1章內容總結Python筆記
- 小白零基礎建站詳細教程
- CSS自學教程--一天搞定CSS(終篇總結)CSS
- 零基礎學習pythonPython
- 【Python】淺談 multiprocessingPython
- [基礎] 淺談 JS Event LoopJSOOP
- Java基礎之淺談介面Java
- Java基礎之淺談集合Java
- 淺談正則的基礎