python學習11函式

2022-08-17 05:30:25 字數 2726 閱讀 5744

函式:

1.定義:指通過專門的**組織,用來實現特定的功能的**段,具有相對獨立性,可供其他**重複呼叫

2.語法:

def 函式名([引數]):

函式體[return 返回值]

3.函式名命名規則:

(1)符合基本的識別符號命名原則;

(2)不能與現有內建函式名發生衝突

(3)名稱應該準確的表達函式的功能

4.不帶引數的函式————求因數

def factor_no_para():

for i in range(1,11):

if 10%i==0:

print(i,end=" ")

return none

factor_no_para()

5.帶引數的函式格式————求因數2.0

在def 函式名(引數)這裡面的引數叫形式引數,給自定義函式傳的值(參),叫實際引數

def factor_no_para2(num):

for i in range(1,num+1):

if num%i==0:

print(i,end=' ')

return none

factor_no_para2(num=20)

6.帶返回值的函式

def factor_no_para3(num):

flag = 0 # 標記符,如果這個數有除了1和它本身以外的因數,則標記置為1

for i in range(2,num):

if num%i==0:

print(i,end=' ')

flag=1

return flag

7.函式模組化(把函式放到模組中)

(1)函式模組(module)檔案的建立

建立乙個空白的**檔案,如test_module.py,編寫除錯自己的自定義函式**

(2)呼叫函式模組

通過import語句匯入整個函式模組——匯入後,通過模組名.函式名的連線方式呼叫函式

import test_module

print(test_module.find_factor(10))

還可以只呼叫指定函式:from 模組名 import 函式名1,函式名2...

from test_module import find_factor

print(find_factor(10))

還可以匯入所有函式:from 模組名 import *

from test_module import *

print(find_factor(10))

別名:若模組名,函式名過長,可以通過as語句定義別名的方式解決:模組名【函式名】 as 別名

from test_module import find_factor as ff

print(ff(10))

import test_module as te

print(te.find_factor(10))

5.引數

notes:1.不定長引數:(1)傳遞任意數量的引數值:*

(2)傳遞任意數量的鍵值對:**

2.引數可以傳遞元組,列表和字典

'''def exam(name,score):

print('name:'+name+',score:'+str(score))

exam('liu',100)

exam(name='wang',score=100)

exam(score=90,name='ma')

exam('li',score=50)

def fruit(name,**attribute):

print('name:'+name)

return attribute

print(fruit('watermelon',color='green',shape='圓形',taste='sweet')) #傳遞的是鍵值對

'''結果為:name:watermelon

''''''

6.作用域

(1)全域性變數:從賦值開始,後續**都可以訪問該變數

(2)區域性變數:只能在被定義的函式或者類內部被訪問的變數

7.關鍵字——global

全域性變數在函式中不能對其進行修改,如需修改,要先用global關鍵字宣告

'''i=10

def sum1():

global i #宣告i為全域性變數

i=i+5

print(i)

sum1()

print(i)

'''8.閉包

是介於全域性變數和區域性變數之間的一種特殊變數。

'''j=5

def sum2():

k=2 #閉包變數k

def sum3():

i=k+j

return i

return sum3()

print(sum2())

'''9.nonlocal關鍵字

外部函式定義乙個變數,內部函式去呼叫,這個變數就叫閉包變數,如果內部函式想修改這個閉包變數,需要用nonlocal關鍵字宣告。

10.匿名函式

lambda

11.遞迴函式

'''a=lambda x,y:x*y

m=a(2,3)

print(m)

python學習(11) 函式

函式 1 定義函式 1.1 函式的定義 定義函式是使用def關鍵字來定義的 呼叫函式,可指定函式名以及用括號括起的引數資訊 def say hello 定義乙個函式 print hello world say hello 呼叫函式 1.2 向函式傳遞資訊 可以在函式定義的函式名括號中定義引數資訊,引...

python學習筆記11(函式)

概述 在乙個完整的專案中,某些功能會反覆的使用。那麼會將功能封裝成函式,當我們要使用功能的時候直接呼叫函式即可 本質 函式就是對功能的封裝 優點 1 簡化 結構,增加了 的復用度 重複使用的程度 2 如果想修改某些功能或者除錯某個bug,只需要修改對應的函式即可 定義函式 格式 def 函式名 引數...

Python學習筆記11 函式

定義函式的時候,我們把引數的名字和位置確定下來,函式的介面定義就完成了。對於函式的呼叫者來說,只需要知道如何傳遞正確的引數,以及函式將返回什麼樣的值就夠了,函式內部的複雜邏輯被封裝起來,呼叫者無需了解。python的函式定義非常簡單,但靈活度卻非常大。除了正常定義的必選引數外,還可以使用預設引數 可...