日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python速成要多久2019-8-28_Python脱产8期 Day13 2019/4/28

發布時間:2025/3/21 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python速成要多久2019-8-28_Python脱产8期 Day13 2019/4/28 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 函數的嵌套定義

1在一個函數的內部定義另一個函數。

2.為什么有函數的嵌套定義:

# 1)函數fn2想直接使用fn1函數的局部變量,可以講fn2直接定義到fn1的內部,這樣fn2就可以直接訪問fn1的變量

# 2)函數fn2名字就變成fn1的局部變量了,正常只能在fn1中使用,想在外部使用,可以講fn2函數對象作為fn1函數的返回值

# 3)在外部也用同名的變量fn2來接收fn1函數的執行結果(fn1函數的返回值),那么fn2也就是可以在外部被調用

二 global關鍵字

# 作用:將局部的變量提升為全局變量

# 1.全局沒有同名變量,直接提升局部變量為全局變量

# 2.有同名全局變量,就是統一全局與局部的同名變量

# -- 如果局部想改變全局變量的值(發生地址的變化),可以用global聲明該變量

# num = 888

def fn1():

global num

# print(num)

# 沒有global修飾,num就是自己局部的變量

# 有global修飾,num就是全局的num,全局中只能出現一個num,如果出現了值的改變,大家一起變

num = 666

def fn2():

print(num) # 666

fn1()

fn2()

三 nonlocal關鍵字

# 作用:將局部的變量提升為嵌套局部變量# 1.必須有同名嵌套局部變量,就是統一嵌套局部與局部的同名變量# ? ? ? -- 如果局部想改變嵌套局部變量的值(發生地址的變化),可以用nonlocal聲明該變量?def outer(): ? ?num = 888 ? ?def inner(): ? ? ? ?nonlocal num ? ? ? ?num = 666 ? ? ? ?print(num) ?# 666 ? ?inner() ? ?print(num) ?# 666outer()

四 閉包

1.定義:被函數包裹的函數 - 定義在函數內部的函數

2.

閉包的應用場景# 1.閉包中使用的變量可以被外層函數所傳遞 - 外層函數可以為閉包傳遞參數

# 2.延遲執行

五 裝飾器

1.裝飾器:滿足開放封閉原則的一個閉包應用

2.開放封閉原則:在不修改源代碼與調用方式的情況下為函數添加新功能

3.裝飾器公式:

def outer(func): def inner(*args, **kwargs): pass res = func(*args, **kwargs) pass return res return inner

@outerdef fn(): pass

4.例子:

# @outer語法來調用outer,規定傳入被裝飾的函數對象,所以參數固定為一個,接受被裝飾的函數對象

def outer(func):

# 不能確定被裝飾的函數的參數:來者不拒,用可邊長來接受

def inner(*args, **kwargs):

pass # 新功能位

res = func(*args, **kwargs) # 解壓帶給原功能

pass # 新功能位

return res

return inner

# 使用裝飾器(outer),得到新功能(inner)

# 用被裝飾的函數名去接受裝飾器的執行結果,調用裝飾器時傳入被裝飾的函數對象

@outer # fn = outer(fn) = inner

def fn(): pass

# 表面感覺調用的是原函數,本質調用的是閉包(inner),使用fn調用和fn定義及inner需要參數統一

fn()

Python脫產8期 Day014 2019/4/28

一 帶參裝飾器 1.通常,裝飾器為被裝飾的函數添加新功能,需要外界的參數 # -- outer參數固定一個,就是func # -- inner參數固定同被裝飾的函數,也不能添加新參數?# -- 可以借 ...

Python脫產8期 Day12 2019/4/26

一 函數默認值的細節 1.如果函數的默認參數的默認值為變量,在所屬函數定義階段一執行就被確定為當時變量存放的值 例: a = 100def fn(num=a): print(num) # 100a = ...

Python脫產8期 Day10 2019/4/24

一 函數 1.定義:完成 特定 功能的代碼塊,作為一個整體,對其進行特定的命名,該名字就代表函數>>工具. 2.函數的優點:1.避免代碼的冗余:2.讓程序結構代碼更加清晰:3.讓代碼更加具 ...

Python脫產8期 Day03 2019/4/15

一 變量的命名規范 1.只能由 字母, 數字,? _, 組成. 2. 不能以數字開頭 3.避免與系統關鍵字重名:重名不會報錯,但系統的功能就被自定義的功能屏蔽掉了(嚴重不建議這樣來做) 4.以_開頭的 ...

Python脫產8期 Day11 2019/4/25

一 字符串比較 1.字符串比較:字符串對應的ascii進行比較 2.多個字符的字符串進行比較:從前往后逐個字符進行比較,一旦哪個位置的字符出現了大小關系就結束比較. 二 形參與實參 1.參數介紹: 函 ...

Python脫產8期 Day09 2019/4/23

內存管理 一.引用計數:垃圾回收機制的依據 1.變量的值被引用,該值的引用計數 +12.變量的值被解綁,該值的引用計數 -13.引用計數為0時就會被垃圾回收機制回收 二.引用計數會出現循環引用問題:相 ...

Python脫產8期 Day08 2019/4/22

一.三種字符串 1.普通字符串:u'以字符作為輸出單位‘? #print(u‘abc’)#用于顯示 2.二進制字符串:b'以字節作為輸出單位’#用于傳輸 3.原義字符串:r‘以字符作為輸出單位,原樣輸 ...

Python脫產8期 Day07 2019/4/19

一 數據類型的相互轉化 1.哪些類型可以轉換為數字類型 2.數字轉換為字符串 print(str(10)) 3.字符串與列表相互轉換 1.字符串轉化為列表:list(字符串) 2.列表轉換為字符串:' ...

Python脫產8期 Day06 2019/4/18

一 深淺拷貝 例:ls = [1, 'abc', [10]] 1.值拷貝:s1 = ls? ? # ls1直接將ls中存放的地址拿過來,>ls內部的值發生任何變化,ls1都會隨之變化. 2.淺拷 ...

隨機推薦

a primary example for Functional programming in javascript

background In pursuit of a real-world application, let’s say we need an e-commerce web applicationfo ...

【LeetCode】1. Two Sum

題目: Given an array of integers, return?indices?of the two numbers such that they add up to a specifi ...

mysqlroot passwd

grant all on *.* to 'root'@'192.168.0.%' identified by 'bloablabar'; 更改用戶密碼: update user set passwor ...

Linux查看用戶登陸歷史記錄

last 命令: 功能說明:列出目前與過去登入系統的用戶相關信息. 語 法:last [-adRx][-f ][-n ][帳號名稱-][終端機編號-] 補充說明:單獨執行last指令,它會讀取位于/v ...

從零開始學習jQuery (十一) 實戰表單驗證與自動完成提示插件

一.摘要 本系列文章將帶您進入jQuery的精彩世界, 其中有很多作者具體的使用經驗和解決方案,? 即使你會使用jQuery也能在閱讀中發現些許秘籍. 本文是介紹兩個最常用的jQuery插件. 分別用 ...

在cygwin下編譯c語言

#include int main (void) { printf("Hello World!\n"); ; } 1.保存到cygwin工作目錄下 ...

HD2 Tmobile 重新分區代碼(使用clk 1.6.5 de)

fastboot oem part-resize misc: fastboot oem part-resize recovery: fastboot oem part-resize boot: fas ...

5個常常被大家忽略的Python小技巧

下面我挑選出的這幾個技巧常常會被人們忽略,但它們在日常編程中能真正的給我們帶來不少幫助. 1. 字典推導(Dictionary comprehensions)和集合推導(Set comprehensi ...

IE8兼容問題

最近做的網站,需要兼容IE8,在這里記錄一下,碰到的問題,方便以后查看補充 1.CSS選擇器nth-child 不兼容 ul li:nth-child(2){ background-image: ur ...

【30集iCore3_ADP出廠源代碼(ARM部分)講解視頻】30-6底層驅動之多路開關選擇器

視頻簡介:該視頻介紹iCore3應用開發平臺中多路開關選擇器的應用,多路開關選擇器的硬件電路連接以及軟件實現的方法. 源視頻包下載地址:鏈接:http://pan.baidu.com/s/1geQ4W ...

總結

以上是生活随笔為你收集整理的python速成要多久2019-8-28_Python脱产8期 Day13 2019/4/28的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。