21 函式基礎

2021-10-08 06:24:35 字數 2698 閱讀 4151

'''

1、什麼是函式

具備某一功能的工具===》函式

工具的使用:

事先準備好好工具 *****==》 函式的定義

遇到應用場景拿來就用*****》函式的呼叫

2、為何要有函式

1、程式的組織結構不清晰、可讀性差

2、如果要用到重複的功能,只能拷貝功能的實現**=》**冗餘

3、可擴充套件性差

3、如何用函式

函式的使用原則:先定義,後呼叫

定義函式:

def 函式名(引數1,引數2, 引數3.....):

"""文件注釋"""

**1**2

**3...

return 返回值

'''# x = 10

# x()

# 1:定義函式

defsayhi()

:print

('*'*10

)print

('hello!'

)print

('*'*10

)sayhi(

)# 二、定義函式的三種格式:

# 2.1無參函式

deflogin()

: inp_name =

input

('name:'

) inp_psw =

input

('psw:'

)if inp_name ==

'egon'

and inp_psw ==

'123'

:print

('successful'

)else

:print

('login error'

)# 2.2有參函式

defsayhi

(symbol, num)

:print

(symbol * num)

print

('hello'

)print

(symbol * num)

sayhi(

's',20)

defmax2

(x, y)

:if x > y:

print

(x)else

:print

(y)max2(

100,

110)

# 2.3空函式

deffunc()

:pass

# ... python3的新語法和pass一樣

# 三:函式的呼叫

# return:

# 函式內可以有多個return, 但只要執行一次函式就立刻結束,並會把return後的值當作本次呼叫的結果

# 函式內可以有三種返回值:

# 1、return 值:返回的就是該值本身

# 2、return 值1,值2,值3 :返回的是乙個元組

# 3、沒有return:預設返回none。可以用來結束函式,不用返回值

deffunc()

:print

('第一行**執行!'

)return

1print

('第二行**執行!'

)return

2res = func(

)print

(res)

# 四函式呼叫的三種格式

defsayhi

(symbol, num)

:print

(symbol * num)

print

('hello'

)print

(symbol * num)

# 4.1語句形式:單純的呼叫了一下函式就完了

sayhi(

's',20)

# 4.2 表示式形式:

defmax2

(x, y)

:if x > y:

return x

else

:return y

res = max2(11,

22)*12

print

(res)

# 4.3可以把乙個函式的呼叫當作值傳給另乙個函式

print

(max2(11,

22))# 總結:

# 函式的使用一定要分兩個階段去看:

# 1、定義階段:只檢測代表,不執行**

# 2、呼叫階段:執行函式**

# 如果發生的語法錯誤,定義階段就會立馬檢測出來

# def func():

# print('hello'

# 如果發生的不是語法錯誤,而是邏輯錯誤,只能在呼叫階段檢測到

# def func():

# ***

# 示範1:

deffoo()

:print

('from foo'

)def

bar():

print

('from bar'

) foo(

)bar(

)# 示範2:(先定義後呼叫)

deffoo()

:# 只檢查了語法錯誤,執行時才檢查邏輯錯誤

print

('from foo'

) bar(

)def

bar():

print

('from bar'

)foo(

)#

2 1基礎演算法

1.雙指標 2.位運算 3.離散化 1 去除重複元素 vectorall sort all.begin all.end 排序all.erase unique all.begin all.end all.end 刪除末尾的重複元素 2 include include include using nam...

21高階函式

引數和返回值都是函式。傳入引數是函式 val arr array 1,2,3,4 val fun x int x 2 val res arr.map fun 傳入匿名函式 val res2 arr.map x int x 2 val res3 arr.map 2 返回值是函式 def urlbuil...

2 1 搬移函式

源 1 重構前 2class account314 return result 15 16else 1720 21 22private 23 accounttype m type 24int m ndaysoverdrawn 25 搬移函式 1 class accounttype213 return...