python函式知識總結
函式知識點總結
- 1.什麼是函式
函式就是具備某一特定功能的工具
- 2.函式的作用以及如何使用
函式可以減少重複程式碼、增強程式的擴充套件性、可讀性;使用原則是先定義後呼叫,在定義階段只檢測語法不執行函式體程式碼,呼叫階段才執行函式體程式碼。
語法:
def foo(引數1, 引數2):
''' 文件註釋 '''
code1
code2
return 返回值
- 引數:形參與實參
形參:位置形參,預設形參,可變長引數
def foo(x, y): #位置形參
pass
def foo(x, y = 1): #預設形參y
pass
def foo(x, *args, **kwargs): # 可變長引數*args,**kwargs
pass
實參:位置實參,關鍵字實參,可變長實參(*後面必須跟可迭代物件, **後面必須是字典)
呼叫階段:
foo(1, 2)
foo(x = 1, y =2)
foo(*"hello", **{'x': 1, 'y': 2})
- 函式的返回值:
return是函式結束的標誌,函式內可以有多個return,但只要執行一次函式就會立刻結束,並把return的值作為本次呼叫結果返回。返回值可以是任意型別,沒有個數限制,沒有return預設返會None,若返回多個值,會將多個值放在一個元組裡一起返回。
def foo(x, y):
return x + y
- 函式物件:函式物件可以被當做資料去處理
1、引用
def foo():
pass
f = foo
2、當做引數
print(foo)
3、當做返回值
def bar()
def wrapper()
pass
return wrapper
f = bar()
4、當做容器型別的元素
def f1():
pass
def f2():
passl = [f1, f2,]
l[0]() #函式名加括號即呼叫該函式
- 函式巢狀:
函式巢狀呼叫
def foo():
bar()
f1()
f2()
foo()
函式巢狀定義
def f1():
def f2():
pass
f2()
- 名稱空間與作用域
名稱空間:內建名稱空間、全域性名稱空間、區域性名稱空間
def foo(x, y):
pass
foo(1,2)
載入順序:內建———>全域性———>區域性
載入是指程式執行之初,名稱空間載入至記憶體的順序
查詢的順序:從當前位置向上查詢,若當前位置為區域性,即:區域性——>全域性——>內建
查詢指的是查詢一個變數名所對應的值
def outter():
def wrapper():
print(x)
return wrapper
f=outter()
def bar():
x=111111
f()
全域性作用域:全域性存活,全域性有效(全域性名稱空間,內建名稱空間)
區域性作用域:臨時存活,臨時有效(區域性名稱空間)
- 閉包函式:
x=1
def outter():
x=10
def wrapper():
print(x)
return wrapper
f=outter()- 裝飾器
def wrapper(*args,**kwargs):
res=func(*args,**kwargs)
retutrn res
return wrapper
def deco1(x=1,y=2): #有參裝飾器
def deco(func):
def wrapper(*args,**kwargs):
res=func(*args,**kwargs)
retutrn res
return wrapper
return deco
@deco #使用裝飾器
def index():
pass
- 迭代器(迭代器後面必須跟可迭代物件)
for
max (求可迭代物件中的最大值)
min (求可迭代物件中的最小值)
sorted (將可迭代物件進行排序)
filter (按照條件篩選可迭代物件中滿足條件的元素)
map (對映)
具體用法參見之前的部落格內容。。。。。
- 匿名函式
lambda 引數1, 引數2 : 表示式
通常配合以下函式使用:max、min、sorted、map、filter
- 三元表示式、列表推導式,字典生成式,生成器表示式
res=條件成立的結果 if 條件 else 條件成立的結果 # 三元表示式
l=[表示式 for i in 可迭代物件 if 條件] # 列表推導式
g=(表示式 for i in 可迭代物件 if 條件) #生成器表示式
d={k:v for i in 可迭代物件 if 條件} #字典生成式- 還有部分內建函式以及函式遞迴,參見之前寫的部落格,這裡不在贅述。
相關推薦
python函式知識總結
函式知識點總結1.什麼是函式 函式就是具備某一特定功能的工具2.函式的作用以及如何使用 函式可以減少重複程式碼、增強程式的擴充套件性、可讀性;使用原則是先定義後呼叫,在定義階段只檢測語法不執行函式體程式碼,呼叫階段才執行函式體程式碼。語法:def foo(引數1,
python基礎知識總結
基礎 roc python基礎 C4D water pytho tex ima adf python基礎知識總結
Python培訓知識總結系列- 第一章Python編程基礎
python培訓 編程 數據 相關 python 歷史 類型 charm 進制 第一章主要是講了下面幾點: Python的基本歷史,Python2,Python3的差別。 Python的數據類型,變量,順序執行,分支,循環語句。 Python的開發工具,老師推薦的是Pyt
Python培訓知識總結系列- 第二章Python數據結構第一部分,列表與for循環
數據結構 hello actual 答案 系列 define print count man 列表與循環問題 編寫一個函數 tag_count,其參數以字符串列表的形式列出。該函數應該返回字符串中有多少個 XML 標簽。XML 是類似於 HTML 的數據語言。你可以通過一
Python培訓知識總結系列- 第二章Python數據結構第二部分,字符串拼接
拼接 連接 pytho 適用場景 必須 不可 第二章 但是 通過 python字符串連接的三種方法及其效率、適用場景詳解python字符串連接的方法,一般有以下三種:方法1:直接通過加號(+)操作符連接website=& 39;python& 39;+&am
Python培訓知識總結系列- 第二章Python數據結構第四部分-字典操作
... 哈希 int lis san 變量 ems python python字典 python字典鍵值對的添加和遍歷 添加鍵值對 首先定義一個空字典 dic={}1直接對字典中不存在的key進行賦值來添加 dic[‘name‘]=‘zhangsan‘dic{‘name‘:
Python培訓知識總結系列- 第二章Python數據結構第三部分-字典,集合
而是 結構 move 原子 返回 總結 刪除 添加元素 pen 編寫一個函數 remove_duplicates,該函數將列表作為參數,並返回一個包含源列表中唯一元素的新列表。新列表中未重復出現的元素可采用任何順序。target=[]def remove_duplicate
Python培訓知識總結系列- 第三章 Python3文件操作(一)
readline new socket 總結 排序 tin strip() list 是否 open 123456789f = open(‘filename‘,‘r‘) # 讀模式f = open(‘filename‘,‘w‘) # 寫模式f = open(‘filenam
python面試知識總結
出現 數據庫引擎 字典 訪問 管理員 value 學什麽專業 生成器 說明 2. 做Python幾年了?為什麽選擇Python?3. 學歷?大學什麽專業?4. 除了Python以外對其他語言有沒有了解?5. 你對Python這門語言的看法?6. 在學習Python過程中有
第二篇 python基礎知識總結:數據、運算符
pre http 賦值 float 異或 mage IT ext inpu 引子 我們跟任何人交流,說的每一句都是都一些文字組成,包含名詞、動詞、語句、標點符號等,組成我們說普通話構成的基本要素。同理我們學習python語言也要明白這些基本要素,也就是我們常說的
python基礎知識總結(不斷更新。。。。)
python可以簡便的方法:(1)lambda x,y:x*y(2)list1 = list(filter(lambda x:x%3 == 0,range(100)))filter 第一個參數是過濾條件,第二個是要過濾的內容返回值是個Object,得轉換為其他類型(3)map: list1 = map(lam
python爬蟲知識總結
con import spa 運行 結果 span 知識總結 har 環境 環境要求: 1、編程語言版本python3; 2、系統:win10; 一、安裝python3 不是本文重點,提供幾個思路: 1、官網:https://www.python.org/
python基礎知識總結(一)
字母 內容 查看 二進制 代碼 大寫字母 del 源碼 解決 一。python版本區別 宏觀上python2與python3的區別: python2:源碼不標準,混亂,重復的代碼太多,默認編碼方式是ascill碼。 python3:
python基礎知識總結(二)
優先 轉化 情況 顯示 判斷 指定 賦值運算 true 比較運算 基礎數據類型初始: int(數字):+ 加 - 減 * 乘 / 除 % 取余數 str(字符串):python中凡是用引號引起
python基礎知識總結之一
1.字符集問題 windows下面儘量用#coding:gbk Linux下面儘量用#coding:utf-8 2.什麼是序列 序列是指有序和無序的資料結構 包括:字串,列表,元組,字典,集合 3.程式設計規範 命名規範: 類定義用駝峰式 &n
python route 知識總結
route 可以從url提取相應的引數,如controller,action或者其它使用者自己定義的變數 1.Mapper().connect Mapper().match from routes import Mapper map = Mapper() map.connect(No
函式知識總結
一、函式引數 函式的引數按位置順序傳遞 #Example x = '全域性變數' def example(a,b='2b',*c,**d): y = '實參' print('所有引數:', a, b, c, d, y) return print('已執行函式') examp
python入門知識總結
window = Tk() counter=IntVar() counter.set(0) #設定計數器初值 def click(var,value): var.set(var.get()+value)
Python函式引數總結(位置引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數)
Python函式的引數多達5種,不像Java那樣引數只有一種,而是像C++那樣提供預設引數,除此之外,還提供可變引數、關鍵字引數、命名關鍵字引數,這樣就使得Python函式的引數變得十分複雜。但複雜意味著靈活便捷,Python語言之所以流行起來,與起本身巨大
Python 入門、量化策略、量化知識總結貼
量化交易 移動平均 出了 編程入門 股票 知識 經濟學 python 入門 原因 Ricequant 量化社區的初衷讓各位愛好量化的人士可以碰撞思維,在分享和爭辯中學習到有用且實戰的量化知識。有賴於各位在社區中貢獻滿滿的幹貨以及有質量的討論,從編程入門教學到技術指標再到多因