小菜鳥的python路之函式,引數的型別

2021-09-25 09:50:04 字數 4426 閱讀 2596

執行特定**來實現特定功能的一段**,進行封裝,直接呼叫。

#定義函式

def say_hello()

:print

('hello1'

)print

('hello2'

)print

('hello3'

)#呼叫函式,函式只有被呼叫了才會有輸出值

say_hello

()

執行結果:

示例1:定義求和函式(計算 40+ 30)

def sum

(a,b)

: sum = a+b

return sum ##返回值為sum

sum =

sum(30,

40) ##呼叫函式

print

(sum)

執行結果:

函式的呼叫引數方法:

(1)位置傳參:將實參的值傳給形參。
(

2)關鍵字傳參

(1)0的布林值為false

(2)非0的布林值為true

(3)如果函式執行完畢不需要給呼叫處提供資料,return可以省略不寫。

(4)如果函式的返回值為多個,則返回的結果為元組。

b =[1

,5,6

,34,56

,78,99

]def fun

(a):

o =j =

for i in a:

if i%2:

j.(i)else

: o.

(i)return o,j

roushu=

fun(b)

print

(roushu)

(1)預設形參def(a,b=10)

def fun

(a,b=10)

:print

(a,b)

fun(

2)

執行結果:當只給乙個引數傳參時,已設定的引數不受影響。

def fun

(a,b=10)

:print

(a,b)

fun(2,

3)

執行結果: 我們發現,設定的形參已經被實參傳的引數覆蓋。

(2)可變形參

個數可變的位置實參:

3,4) ###按順序傳

fun(45,

45,34,

45,'34t'

)執行結果:

個數可變的關鍵字實參:

)執行結果:注意是以字典形式列印出來的

不論是關鍵字實參還是位置實參,個數可變的引數只能定義乙個。

(3)必選引數:

def max

(num1:

int,num2:

int)

->

int:

return num1 if num1>num2 else num2

result =

max(78,

32)print

(result)

def fun1()

:print

('world'

) def fun2()

:print

('hello'

) # 呼叫函式2

(必須在函式1裡先呼叫函式2

)fun2()

#呼叫函式1

fun1

()

引數分為:形參  實參
#形參:定義函式的時候的變數(可以任意起名)

def welcome

(a):

print

('hello'

,a)#實參:真實的資料資訊,即呼叫函式的時候傳的引數

welcome

('lily'

)welcome

('tom'

)

形參分為: 位置引數 預設引數 可變引數 關鍵字引數
(1)位置引數

形參和實參個數必須保持一致,最好按位置傳參

def getinfo

(name,age)

:print

(name,age)

getinfo

('westos',21

)getinfo

(age=

11,name=

'westos'

)

執行結果:

(2).預設引數

形參和實參可以不一致
#計算x的y次方

def mypow

(x,y=2)

:print

(x *

* y)

mypow(4

,3) # 4的3次方

mypow(2

) # 2的2次方

執行結果:

(3).可變引數

可以接收任意個引數
# 累加運算

def mysum

(*args)

: # *args:可變引數(也可以簡寫為*a)

# args的資料型別為:元組(tuple)

print

(args)

print

(type

(args)

) sum =

0for item in args:

sum +

= item

print

(sum)

mysum(1

,2,3

,4,5

,6,7

,8,9

)mysum(1

,2,3

,4,5

)

執行結果:

(4).關鍵字引數

def getstuinfo

(name,age,

**kwargs)

: # *

*kwargs是乙個字典,可以傳遞任意多的key-value

print

(name,age)

print

(kwargs)

getstuinfo

('westos',19

,hobbies=

['coding'

,'running'

],gender=

'female'

)

npm之小菜鳥的探索

1 什麼是npm npm node package manager 是node.js的包管理者 2 npm能幹什麼 它允許開發人員在node.js應用程式中建立,共享,並重用模組,它也可以用於共享完整的node.js應用程式 3 什麼是模組 可以在不同專案中重用的 庫 4 如何使用模組 5 模組的本...

python函式之 傳參

數學定義 y f x y是x的函式,x是自變數。y f x0,x1,x2,xn python函式定義與作用def 函式名 引數列表 函式體 塊 return 返回值 deffn x,y sumnumber x y return sumnumber函式引數 函式在定義時要約定好形式引數,呼叫時也提供足...

python小菜的學習之路之python初識

筆者介紹 本文python初學者,因為名字內帶xiong,因此自嘲 熊小菜 熊小菜因為在解決課題問題時,接觸到過多的python,這對於乙個c 程式設計師而言是鬱悶的,此處,引用一句名言 既然你改變不了環境,那就學會適應它 因此,熊小菜開始進行python的學習,希望終有一天從熊小菜轉變成熊小神。話...