python基礎學習筆記——初識函式
什麼是函式
我們目前為止,已經可以完成一些軟體的基本功能了,那麼我們來完成這樣一個功能:約x
1 2 3 4 5 |
pint(
"拿出手機"
)
print (
"開啟陌陌"
)
print
(
"找個漂亮的妹子"
)
print
(
"問她,約不約啊!"
)
print
(
"ok 走起"
)
|
ok so easy我們已經完成了對一個功能的描述,那麼問題來了,我還想在約一次怎麼搞,是不是就是在寫一遍
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 約一次
pint(
"拿出手機"
)
print
(
"開啟陌陌"
)
print
(
"找個漂亮的妹子"
)
print
(
"問她,約不約啊!"
)
print
(
"ok 走起"
)
# 再約一次
pint(
"拿出手機"
)
print
(
"開啟陌陌"
)
print
(
"找個漂亮的妹子"
)
print
(
"問她,約不約啊!"
)
print
(
"ok 走起"
)
|
ok 非常簡單搞定了,但是我還想約上個10次8次的,怎麼搞,加個迴圈不就行了嗎?
1 2 3 4 5 6 |
while
True
:
pint(
"拿出手機"
)
print
(
"開啟陌陌"
)
print
(
"找個漂亮的妹子"
)
print
(
"問她,約不約啊!"
)
print
(
"ok 走起"
)
|
這樣不就能實現不停的約了嗎?但是呢 我一直約不是幹不了別的了嗎?.人要有節制,有需求了再約,這樣比較好.所以呢這樣寫是不行的
最好是我想什麼時候約就什麼時候約. 好了說的這 我們就這樣做,把約這個事,先計劃好,然後按照安排好的流程.在需要約的時候 把這個約
的流程拿出來執行以下就好了.那麼這裡.我們可以先去定義一個事情或者是功能,等到需要的時候直接去用就好了.那麼這裡定義東西就是一個函式
函式:對程式碼塊和功能的封裝和定義
函式的定義
首先咱們認識一下要實現我們剛說的功能必備的知識點
1 2 |
def
函式名():
函式體
|
我們使用def關鍵字來定義函式,函式的定義語法,這裡的函式名的命名規則和變數的命名規則一樣.自己回顧一下變數的命名規則
函式體:就是函式被執行之後要執行的程式碼
我們現在就來實現剛剛我們說的定義一個約x功能:
1 2 3 4 5 6 |
def
make():
print
(
"拿出手機"
)
print
(
"開啟陌陌"
)
print
(
"找一個漂亮的妹子"
)
print
(
"問她,約不約啊"
)
print
(
"ok 走起"
)
|
哦了,這就定義完了,但是這個時候我們去執行,會發生什麼現象? 什麼都沒有發生.因為我只定義了一個函式.但是還沒有執行過這個函式.
函式的呼叫
使用函式名加小括號就可以呼叫了 寫法:函式名() 這個時候函式的函式體會被執行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# 呼叫yue函式
def
make():
print
(
"拿出手機"
)
print
(
"開啟陌陌"
)
print
(
"找一個漂亮的妹子"
)
print
(
"問 約不約啊"
)
print
(
"ok 走起"
)
make()
# 這是make函式的呼叫
結果:
拿出⼿手機
開啟陌陌
找個漂亮的妹⼦
問她, 約不約啊
ok. 走你
|
函式的執行流程
現在就實現了約一次,我想要約幾次我就只需要
1 2 3 4 5 6 |
make()
make()
make()
make()
make()
make()
|
直接呼叫定義好的函式就可以了 咱們約完之後的得有個結果吧, 比如是約的蘿莉,還是大媽啊總得有個結果,那麼這個結果
怎麼來描述和獲得呢? 這就涉及到函式的返回值啦
函式的返回值
執行完函式之後,我們可以使用return來返回結果
1 2 3 4 5 6 7 8 |
def
make():
print
(
"約你"
)
print
(
"約我"
)
print
(
"約他"
)
return
print
(
"約誰呀"
)
# 這句話不會被執行
make()
|
函式中遇到return,此函式結束.不在繼續執行
我們現在有return返回值,我們試試返回個東西
1 2 3 4 5 6 7 |
def
make():
print
(
"約你"
)
print
(
"約我"
)
print
(
"約他"
)
return
"美女一枚"
make()
|
我們現在返回了一個字串,但是返回給誰了呢? 這個返回值返回給函式的呼叫者了,我們來看一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def
make():
print
(
"約你"
)
print
(
"約我"
)
print
(
"約他"
)
return
'美女一枚'
girl
=
make()
print
(girl)
結果:
約你
約我
約他
美女一枚
|
肯定好多朋友還是不明白上邊怎麼就列印美女一枚了,莫慌看下圖:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
1.
定義了一個函式make
2.
呼叫函式
3.
執行函式裡的約你
4.
執行函式裡的約我
5.
執行函式裡的約他
6.
返回給呼叫者一個字串
'美女一枚'
,這個呼叫者就是make()
7.
將返回的字串通過一個等號賦值給白變數girl
8.
列印變數girl的值
|
函式的返回值可以有多個結果:
1 2 3 4 5 6 7 |
def
make():
print
(
"約你"
)
print
(
"約我"
)
print
(
"約他"
)
return
"美女一枚"
,
"蘿莉一枚"
girl
=
make()
print
(
type
(girl))
# tuple
|
總結一下:
1.遇到return,此函式結束,函式後面的東西將不會在執行
2.return 返回值
關於返回值:
如果return什麼都不寫或者乾脆就沒寫return,返回的結果就是None
如果return後面寫了一哥值,則呼叫者可以接受一個結果
如果return後面寫了多個結果,則呼叫者可以接受一個tuple,呼叫者可以直接使用解構獲取多個變數
OK,完美 可以得到結果了 但是我們約的方式是不是有點問題啊?陌陌現在還能約到嗎?約不到了 我們換探探 那要是過幾天探探也不行了
是不是會有一個替代品,那你們想有一個替代的,你就需要去改程式碼.是不是有點不合適了 最好的方式是想用什麼約就用什麼約 ok 我們也是可以實現的
我們可以在函式後邊的括號裡搞點事情
函式的引數
引數,也就是函式括號裡的內容 函式在呼叫的時候指定一個具體的變數的值 就是引數.寫法如下:
1 2 |
def
函式名(引數):
函式體
|
我們應該把程式碼改一下,能夠實現我剛說的那種效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
def
make(chat):
print
(
"拿出⼿手機"
)
print
(
"開啟"
+
chat)
print
(
"找個漂亮的妹⼦子"
)
print
(
"約不不約"
)
make(
"陌陌"
)
make(
"微信"
)
make(
"探探"
)
結果:
拿出手機
開啟陌陌
找個漂亮的妹⼦
約不約
拿出⼿機
開啟微信
找個漂亮的妹⼦
約不約
拿出手機
開啟探探
找個漂亮的妹⼦
約不約
|
搞定了. 我們在呼叫make的時候給chat一個值. 然後再執行函式體.
引數
1.形參
寫在函式宣告的位置的變數叫形參,形式上的一個完整.表示這個函式需要xxx
2.實參
在函式呼叫的時候給函式傳遞的值.加實參,實際執行的時候給函式傳遞的資訊.表示給函式xxx
3.傳參
給函式傳遞資訊的時候將實際引數交給形式引數的過程被稱為傳參.
1 2 3 4 5 6 7 8 9 |
def
make(chat):
# chat 形參
print
(
"拿出手機"
)
print
(
"開啟"
+
chat)
print
(
"找個漂亮的妹子"
)
print
(
"約不約"
)
make(
"陌陌"
)
# 實參
len
(
"字串"
)
# "字串"在這⾥裡里就是實參
print
(
"麻花藤"
)
# "麻花藤"就是實參
|
引數的分類
1.位置引數
約到現在,有沒有想過這麼一個問題,什麼樣的都約麼? 哪裡的都約麼? 不一定吧.比如我現在在北京,我很寂寞,我喜歡小姐姐
alex在泰國,很寂寞 來一個就行了 .需要是不一樣的 而我們現在的函式沒沒有這寫功能 那怎麼辦呢? 很簡單 多來幾個引數就好了
1 2 3 4 5 6 7 8 9 10 11 12 13 |
def
make(chat,addr,age):
# chat 形參
print
(
"拿出手機"
)
print
(
"開啟"
+
chat)
print
(
"找個"
+
addr
+
"附近漂亮的"
+
str
(age)
+
"歲妹子"
)
print
(
"約不約"
)
make(
"陌陌"
,
"北京"
,
18
)
# 實參
結果:
拿出手機
開啟陌陌
找個北京附近漂亮的
18
歲妹子
約不約
|
上述程式碼分析: 在訪問make()的時候,我們按照位置的順序分別把"陌陌","北京",18賦值給了chat,addr,age,在傳參過程中.系統會按照位置吧實參賦值到形參
練習
編寫函式,給函式傳遞兩個引數a,b a,b相加 返回a引數和b引數相加的和
def f(a,b):
c = a+b
return c
num_sum = f(5,8)
print(num_sum)
1 |
結果:
13
|
編寫函式,給函式傳遞兩個引數a,b 比較a,b的大小 返回a,b中最大的那個數
1 2 3 4 5 6 7 8 9 10 |
def
f(a,b):
if
a>b:
return
a
else
:
return
b
num_sum
=
f(
5
,
8
)
print
(num_sum)
結果:
8
|
比較大小的這個寫法有點麻煩,我們在這裡學一個三元運算子
1 2 3 4 5 6 7 8 |
def
f(a,b):
c
=
a
if
a > b
else
b
#當a>b就把a賦值給c,否則就把b賦值給c
return
c
msg
=
f(
5
,
7
)
print
(msg)
結果:
7
|
關鍵字引數
位置引數好不好呢? 如果是少量的引數還算OK, 沒有問題. 但是如果函式在定義的時候引數非常多怎麼辦? 程式設計師必須記住, 我有哪些引數, 而且還有記住每個引數的位置, 否則函式就不能正常呼叫了. 那則麼辦呢? python提出了一種叫做關鍵字引數. 我們不需要記住每個引數的位置. 只要記住每個引數的名字就可以了
1
2
3
4
相關推薦python基礎學習筆記——初識函式什麼是函式 我們目前為止,已經可以完成一些軟體的基本功能了,那麼我們來完成這樣一個功能:約x 1 2 3 python基礎學習筆記(五)裝飾器,高階函式多程序程式設計import multiprocessing def process1(): return 1 def process2(): return 2 p1=multiprocessing.Process(target=process1) p2=m python基礎學習筆記好的 留下 path false 找到 __name__ ems 單詞 ups 1 #!/usr/bin/env python 2 #coding=utf-8 3 4 def login(username): 5 if username==‘ Python基礎學習筆記02之listpython基礎 出現的次數 nbsp 增刪改查 新增 列表 insert 就是 下標越界 一、LIst列表 1、定義List ps:計算機裏面起始都是從0開始的 編號也叫下標、索引、角標 例:根據下標取值 Python基礎學習筆記(四)tde 分割 大括號 val dict 元組 學習筆記 del date 一 認識字典 二 增刪改查 三 常見操作 一 認識字典 字典是一種可變容器模型,且可存儲任意類型對象。 字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(, Python基礎學習筆記(六)學習筆記 當前 read 記得 刪除 enc see 各類 準備 一 文件操作 一 文件操作 在寫程序的時候 有時候會需要對程序外部的文件進行操作 這時候就需要需要用到文件句柄對文件進行操作. 打開文件 f = open(‘文件路徑‘,mode=‘打開模式 Python基礎學習筆記(二)一、Windows平臺 1、下載Python 3.6.4 https://www.python.org/ 2、雙擊安裝即可,注意點選Add python 3.6 to path 3、win+r 輸入cmd 開啟控制檯 輸入python命令,檢視是 內建資料型別(上)---Python基礎學習筆記(四)內建資料的三大主要型別: 1、數字(整數、浮點數) 2、序列(字串、列表、元組) 3、對映(字典) 按照是否可原地修改值分兩大類: 不可變物件(數字,字串,元組,不可變集合) 可變物件(列表,字典,可變集合) 一、整數(不 內建資料型別(下)---Python基礎學習筆記(六)一、if-else條件語句 條件語句,條件滿足,執行一部分程式碼,不滿足,執行另一部分程式碼 四種基本格式: 1、單if …① if條件: 條件滿足時執行的程式碼…② …③ 執行順序: S1:執行① S2 面向物件(中)---Python基礎學習筆記(十)一、單繼承 在程式中,繼承描述的是事物之間的所屬關係,例如貓和狗都屬於動物,程式中便可以描述為貓和狗繼承自動物。 #定義一個父類,如下: class Cat(object): def_in python基礎學習筆記(一)最好有點c++基礎來看,,每天都更新一篇吧 這一篇是一些基礎東西 1.運算子2.變數3.基本輸入輸出4.字串5.列表6.元組7.字典8.集合9.簡單的說下迴圈啥的 1.運算子 特別的 a / b:為浮點數,a // b 為整數,丟棄小數部分 a**b 為a的b次方 還有 c // = a,c ** = a; python基礎學習筆記——運算子計算機可以進行的運算有很多種,可不只加減乘除這麼簡單,運算按種類可分為算數運算、比較運算、邏輯運算、賦值運算、成員運算、身份運算、位運算,今天我們暫只學習算數運算、比較運算、邏輯運算、賦值運算 算數運算 以下假設變數:a=10,b=20 比較運算 &nbs python基礎學習筆記——字串方法索引和切片: 索引:取出陣列s中第3個元素:x=s[2] 切片:用極少的程式碼將陣列元素按需處理的一種方法。切片最少有1個引數,最多有3個引數,演示如下: 我們假設下面所用的陣列宣告為array=[2,3,4,5,6] 1個引數: array[1:]——從下標為1的元素選擇到最後一個元素,返回 python基礎學習筆記——迴圈語句(while、for)while 迴圈 流程控制語句 while 1、基本迴圈 while 條件: # 迴圈體 # 如果條件為真,那麼迴圈則執行 # 如果條件為假,那麼迴圈不執行 2、break break 用於退出當層迴圈 python基礎學習筆記——列表及元組列表 列表的介紹 列表是python的基礎資料型別之一 ,其他程式語言也有類似的資料型別. 列表的索引和切片 列表和字串一樣也擁有索引: lst = ['劉德華','周潤發','周杰倫','向華強'] print(lst[0] python基礎學習筆記——列表技巧列表: 迴圈刪除列表中的每⼀個元素 li = [11, 22, 33, 44] for e in li: li.remove(e) print(li) 結果: [22, 44] 分析原因: for的運⾏過程. 會有⼀個指標來記錄當前迴圈的元素是哪⼀個, ⼀開始這個指標指向第0 個. 然後獲取 C++基礎學習筆記:函式//!時間:2017年9月9日(週六)夜 //!內容:C++函式基礎 //!最後更改時間:10分鐘之後,汗! #include <iostream> #include <string> #include <cassert> using Python基礎學習筆記(1)《Python快速上手》學習筆記 1.數學操作符 ** 指數 例子:2**3 = 8 // 整除/商數取證 例子:23//4 = 5 23/7 = 3 (向下取整) / 得出是float型 例子: 2/1 = 2.0 1010/5 = python基礎學習筆記——生成器與推導式生成器 首先我們來看看什麼是個生成器,生成器本質就是迭代器 在python中有三種方式來獲取生成器 1.通過生成器函式 2.通過各種推到式來實現生成器 3.通過資料的轉換也可以獲取生成器 首先,我們先看一個很簡單的函式: Python基礎學習筆記(一)安裝python可以去官網下載安裝包,各個系統安裝步驟可以自行搜尋。記錄python中常用語法:一、print:字串用'' 或者""print('hello') print("hello")連線字串用+二、運算直接在運行臺上用 加減乘除+-*/int() 和 float(); |