函數(shù)函數(shù)是代碼的一種組織形式
成都創(chuàng)新互聯(lián)是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護、成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站備案、服務(wù)器租用、申請域名、軟件開發(fā)、成都小程序開發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運營推廣經(jīng)驗的科技公司,有著多年的網(wǎng)站建站經(jīng)驗,致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個面向全國乃至全球的業(yè)務(wù)窗口:建站溝通電話:18982081108
函數(shù)應(yīng)該能完成一項特定的工作,而且一般一個函數(shù)只完成一項工作
有些語言,分函數(shù)和過程兩個概念,通俗解釋是,有返回結(jié)果的是函數(shù),無返回結(jié)果的叫過程,python不加以區(qū)分
函數(shù)的使用函數(shù)使用需要先定義
使用函數(shù),俗稱調(diào)用# 定義一個函數(shù)
# 只是定義的話不會執(zhí)行
# 1. def關(guān)鍵字,后跟一個空格
# 2. 函數(shù)名,自己定義,起名需要遵循便令命名規(guī)則,約定俗成,大駝峰命名只給類用
# 3. 后面括號和冒號不能省,括號內(nèi)可以有參數(shù)
# 4. 函數(shù)內(nèi)所有代碼縮進
def func():
print("我是一個函數(shù)")
print("愛生活")
print("函數(shù)結(jié)束了")函數(shù)結(jié)束了# 函數(shù)的調(diào)用
# 直接寫出函數(shù)名字,后面小括號不能省略,括號內(nèi)內(nèi)容根據(jù)情況
func()我是一個函數(shù)
愛生活# 函數(shù)定義
def func():
print('A')
print('B')func()A
B
函數(shù)的參數(shù)和返回值參數(shù):負責給函數(shù)傳遞一些必要的數(shù)據(jù)或者信息形參(形式參數(shù)):在函數(shù)定義的時候用到的參數(shù),沒有具體值,只是一個占位符號
實參(實際參數(shù)):在調(diào)用函數(shù)的時候輸入的值
返回值:調(diào)用函數(shù)的時候的一個執(zhí)行結(jié)果使用return返回結(jié)果
如果沒有值需要返回,我們推薦使用return None表示函數(shù)結(jié)束
函數(shù)一旦執(zhí)行return,則函數(shù)立即結(jié)束
如果函數(shù)沒有return關(guān)鍵字,則函數(shù)默認返回None# 形參和實參的案例
# 參數(shù)person只是一個符號
# 調(diào)用的時候用另一個
def hello(person):
print("{},你好嗎?".format(person))
return None
p = "小明"
# 調(diào)用函數(shù),需要把p作為實參傳入
hello(p)小明,你好嗎?p = "小五"
hello(p)小五,你好嗎?pp = hello("小柒")
print(pp)小柒,你好嗎?
None# return案例
def hello(person):
print("{0},你好嗎?".format(person))
return "提前結(jié)束!"
print(1)
p = "小明"
rst = hello(p)
print(rst)小明,你好嗎?
提前結(jié)束!# help負責隨時為你提供幫助
help(None) # 等價于help(peint())Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.# 九九乘法表
# version 1.0
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
for i in range(1, o + 1): # 內(nèi)循環(huán),每次從第一個數(shù)字開始,打印到跟行數(shù)相同的數(shù)量
print(o * i, end=" ")
print()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81help(print)Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.# 嘗試用函數(shù)來打印九九乘法表
def jiujiu():
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
for i in range(1, o + 1): # 內(nèi)循環(huán),每次從第一個數(shù)字開始,打印到跟行數(shù)相同的數(shù)量
print(o * i, end=" ")
print()
return None
jiujiu()
jiujiu()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81# 改造上面函數(shù)
def printLine(line_num):
'''
line_num;代表行號
打印一行九九乘法表
'''
for i in range(1, line_num + 1):
print(line_num * i, end=" ")
print()
def jiujiu():
for o in range(1, 10): # 控制外循環(huán) 從 1 到 9
printLine(o)
return None
jiujiu()1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
參數(shù)詳解python參考資料:headfirst python - 零基礎(chǔ)入門學習python(小甲魚)、流暢的python - 習題
參數(shù)分類普通參數(shù)/位置參數(shù)
默認參數(shù)
關(guān)鍵字參數(shù)
收集參數(shù)
普通參數(shù)c參見上例
定義的時候直接定義變量名
調(diào)用的時候直接把變量或者值放入指定位置def 函數(shù)名(參數(shù)1,參數(shù)2,.....):
函數(shù)體
# 調(diào)用
函數(shù)名(value1,value2,......)
# 調(diào)用的時候,具體值參考的是位置,按位置賦值
默認參數(shù)形參帶有默認值
調(diào)用的時候,如果沒有對相應(yīng)形參賦值,則使用默認值
首先我們先來了解一下計算平均數(shù)的IPO模式.
輸入:待輸入計算平均數(shù)的數(shù)。
處理:平均數(shù)算法
輸出:平均數(shù)
明白了程序的IPO模式之后,我們打開本地的python的IDE
工具,并新建一個python文件,命名為test6.py.
請點擊輸入圖片描述
請點擊輸入圖片描述
請點擊輸入圖片描述
打開test6.py,進行編碼,第一步,提示用戶輸入要計算多少個數(shù)的平均數(shù)。
請點擊輸入圖片描述
第二步,初始化sum總和的值。注意,這是編碼的好習慣,在定義一個變量的時候,給一個初始值。
請點擊輸入圖片描述
第三步,循環(huán)輸入要計算平均數(shù)的數(shù),并計算總和sum的值。
請點擊輸入圖片描述
最后,計算出平均數(shù),并輸出,利用“總和/數(shù)量”的公式計算出平均數(shù)。
請點擊輸入圖片描述
編碼完成后,記得保存,然后進行調(diào)試運行。按F5鍵或者點擊菜單欄中的“run”-》“run model”來運行程序。
請點擊輸入圖片描述
請點擊輸入圖片描述
python沒有提供求平均數(shù)的函數(shù),建議先求和然后除以個數(shù)求得,內(nèi)容如下:
#!/usr/bin/env pythonimport timeimport numpy as np,dd = np.random.randint(0, 20, size=(2*1000*1000))t_start = time.clock()avg_sum1 =0.0BlockOffset = 0 ? ? while BlockOffset len(dd):if dd[BlockOffset + 1] = 10。
解釋性:
一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。
運行程序的時候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復制到內(nèi)存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行 程序。
在計算機內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。這使得使用Python更加簡單。也使得Python程序更加易于移植。