亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python題目積累2

系統(tǒng) 2069 0

1 python中的數(shù)據(jù)類型:數(shù)字(整數(shù)型 int , 浮點(diǎn)數(shù)型 float, 布爾型 bool , 復(fù)數(shù) complex ),字符串,元組(只讀列表,只能查詢,不可更改),集合,列表,字典
可變數(shù)據(jù)類型:列表list[ ]、字典dict{ } 數(shù)據(jù)發(fā)生改變,但內(nèi)存地址不變
不可變數(shù)據(jù)類型:整型int、字符串str’ '、元組tuple() 當(dāng)該數(shù)據(jù)類型的對(duì)應(yīng)變量的值發(fā)生了改變,那么它對(duì)應(yīng)的內(nèi)存地址也會(huì)改變

2 有一段python的編碼程序如下:urllib.quote(line.decode(“gbk”).encode(“utf-16”)),請(qǐng)問經(jīng)過該編碼的字符串的解碼順序是
url解碼 utf16 gbk

3 一種統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù)的方法

            
               import math
def sieve(size):
    # 初始化一個(gè)待判斷統(tǒng)計(jì)列表,用于表示該位置的索引是否為素?cái)?shù)
    sieve = [True] * size
    # 眾所周知,0和1都不是素?cái)?shù),所以為False
    sieve[0] = False
    sieve[1] = False
    # 循環(huán)找到所有的非素?cái)?shù),賦值False
    for i in range(2, int(math.sqrt(size)) + 1):
        k = i * 2
        while k < size:
            sieve[k] = False
            k += i
    # 統(tǒng)計(jì)所有為True的元素個(gè)數(shù),也就是素?cái)?shù)的個(gè)數(shù)
    return sum(1 for x in sieve if x)
# 一千億之內(nèi)的素?cái)?shù)個(gè)數(shù)
# 4118054813
print(sieve(100000000000))

            
          

4 python中主要存在四種命名方式:
1、object #公用方法
2、_object #半保護(hù)
#被看作是“protect”,意思是只有類對(duì)象和子類對(duì)象自己能訪問到這些變量, 在模塊或類外不可以使用,不能用’from module import *’導(dǎo)入。
# object 是為了避免與子類的方法名稱沖突, 對(duì)于該標(biāo)識(shí)符描述的方法,父類的方法不能輕易地被子類的方法覆蓋,他們的名字實(shí)際上是 classname__methodname。
3、
_ object #全私有,全保護(hù)
#私有成員“private”,意思是只有類對(duì)象自己能訪問,連子類對(duì)象也不能訪問到這個(gè)數(shù)據(jù),不能用’from module import *’導(dǎo)入。
4、
_ object
_ #內(nèi)建方法,用戶不要這樣定義 前后雙下劃線的命名方式用于python里的特殊方法。

5 a = ‘123’
b = ‘123’
a is b a,b為字符串不可變類型,所以指向相同地址,所以 a is b is指地址相同
內(nèi)容相同
123是int類型,而a的值為字符a+b=‘123123’ a
"123"

6 Python定義參數(shù)
python函數(shù)的幾種參數(shù)可以任意組合,但必須按順序?qū)懀駝t會(huì)報(bào)錯(cuò),順序?yàn)椋ㄎ恢脜?shù),默認(rèn)參數(shù),可變參數(shù),命名關(guān)鍵字參數(shù),關(guān)鍵字參數(shù))
位置參數(shù) def fn1(a): def fn2(a,b):
默認(rèn)參數(shù) def enroll(name, gender, age=6, city=‘Beijing’ ): 默認(rèn)參數(shù)必須指向不變對(duì)象!
可變參數(shù) 傳入?yún)?shù)的個(gè)數(shù)是可變的 *args是可變參數(shù),args接收的是一個(gè)tuple;
關(guān)鍵字參數(shù) 可變參數(shù)允許你傳入0個(gè)或任意個(gè)參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時(shí)自動(dòng)組裝為一個(gè)tuple。而關(guān)鍵字參數(shù)允許你傳入0個(gè)或任意個(gè)含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動(dòng)組裝為一個(gè)dict。 **kw是關(guān)鍵字參數(shù),kw接收的是一個(gè)dict。
命名關(guān)鍵字參數(shù) 如果要限制關(guān)鍵字參數(shù)的名字,就可以用命名關(guān)鍵字參數(shù),例如,只接收city和job作為關(guān)鍵字參數(shù)。
def f1(a, b, c=0, *args, **kw):

7
x = 1
def change(a):
x += 1
print x
change(x) 報(bào)錯(cuò) change(a) 函數(shù)內(nèi)的局部變量 x 在使用前未定義。

8 Python中的閉包
在一個(gè)外函數(shù)中定義了一個(gè)內(nèi)函數(shù),內(nèi)函數(shù)里運(yùn)用了外函數(shù)的臨時(shí)變量,并且外函數(shù)的返回值是內(nèi)函數(shù)的引用。這樣就構(gòu)成了一個(gè)閉包。
一般情況下,如果一個(gè)函數(shù)結(jié)束,函數(shù)的內(nèi)部所有東西都會(huì)釋放掉,還給內(nèi)存,局部變量都會(huì)消失。但是閉包是一種特殊情況,如果外函數(shù)在結(jié)束的時(shí)候發(fā)現(xiàn)有自己的臨時(shí)變量將來會(huì)在內(nèi)部函數(shù)中用到,就把這個(gè)臨時(shí)變量綁定給了內(nèi)部函數(shù),然后自己再結(jié)束。

            
              #閉包函數(shù)的實(shí)例
# outer是外部函數(shù) a和b都是外函數(shù)的臨時(shí)變量
def outer( a ):
    b = 10
    # inner是內(nèi)函數(shù)
    def inner():
        #在內(nèi)函數(shù)中 用到了外函數(shù)的臨時(shí)變量
        print(a+b)
    # 外函數(shù)的返回值是內(nèi)函數(shù)的引用
    return inner

if __name__ == '__main__':
    # 在這里我們調(diào)用外函數(shù)傳入?yún)?shù)5
    #此時(shí)外函數(shù)兩個(gè)臨時(shí)變量 a是5 b是10 ,并創(chuàng)建了內(nèi)函數(shù),然后把內(nèi)函數(shù)的引用返回存給了demo
    # 外函數(shù)結(jié)束的時(shí)候發(fā)現(xiàn)內(nèi)部函數(shù)將會(huì)用到自己的臨時(shí)變量,這兩個(gè)臨時(shí)變量就不會(huì)釋放,會(huì)綁定給這個(gè)內(nèi)部函數(shù)
    demo = outer(5)
    # 我們調(diào)用內(nèi)部函數(shù),看一看內(nèi)部函數(shù)是不是能使用外部函數(shù)的臨時(shí)變量
    # demo存了外函數(shù)的返回值,也就是inner函數(shù)的引用,這里相當(dāng)于執(zhí)行inner函數(shù)
    demo() # 15

    demo2 = outer(7)
    demo2()#17

            
          

在基本的python語法當(dāng)中,一個(gè)函數(shù)可以隨意讀取全局?jǐn)?shù)據(jù),但是要修改全局?jǐn)?shù)據(jù)的時(shí)候有兩種方法:1 global 聲明全局變量 2 全局變量是可變類型數(shù)據(jù)的時(shí)候可以修改。在閉包內(nèi)函數(shù)也是類似的情況。在內(nèi)函數(shù)中想修改閉包變量(外函數(shù)綁定給內(nèi)函數(shù)的局部變量)的時(shí)候:
在python3中,可以用nonlocal 關(guān)鍵字聲明 一個(gè)變量, 表示這個(gè)變量不是局部變量空間的變量,需要向上一層變量空間找這個(gè)變量。

            
              #修改閉包變量的實(shí)例
# outer是外部函數(shù) a和b都是外函數(shù)的臨時(shí)變量
def outer( a ):
    b = 10  # a和b都是閉包變量
# inner是內(nèi)函數(shù)
    def inner():
        #內(nèi)函數(shù)中想修改閉包變量
        #nonlocal關(guān)鍵字聲明
        nonlocal  b
        b+=1
    # 外函數(shù)的返回值是內(nèi)函數(shù)的引用
    return inner

if __name__ == '__main__':

    demo = outer(5)
    demo() # 6  11

            
          

8 正則表達(dá)式
正則表達(dá)式也叫做匹配模式(Pattern),它由一組具有特定含義的字符串組成,通常用于匹配和替換文本。
re模塊 廖雪峰

9 python my.py v1 v2 命令運(yùn)行腳本,通過 from sys import argv如何獲得v2的參數(shù)值?
argv[2] sys.argv是命令參數(shù)表,包括文件名 argv[0]為該腳本自身路徑,其余為命令行參數(shù)

10
1)解釋性語言:
運(yùn)行一句代碼,就翻譯一句,因此效率比較低。常見的解釋性語言:javascript、matlab、python 非獨(dú)立 效率低
2)編譯性語言:
先一次性的將代碼翻譯成機(jī)器語言,形成一個(gè)執(zhí)行文件。運(yùn)行時(shí)就直接調(diào)用執(zhí)行文件,因此效率比較高。常見的編譯性語言:c,Object-C,c++,c#,java


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久精品免费看 | 国产精品一级香蕉一区 | 国产亚洲欧美日韩在线看片 | 国内精品视频一区二区三区八戒 | 日韩精品一区二区三区中文字幕 | 中文一级黄色片 | 一区二区免费看 | 青青久久国产成人免费网站 | 日韩毛片在线影视 | 交换国产精品视频一区 | 国产成人午夜精品影院游乐网 | 久久国产精品一国产精品金尊 | 国产精品视频久久久 | 亚洲精品综合一区二区三区 | 目韩一区二区三区系列片丶 | 四虎国产精品永久在线 | 午夜精品久久久久久毛片 | 欧美娇小www | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 射综合网| 久久婷婷五色综合夜啪 | 成人夜色香网站在线观看 | 免费一级淫片 | 中文字幕久热精品视频免费 | 日韩在线一区二区三区视频 | 久久久国产精品四虎 | 日韩一级a毛片欧美一级 | 豆奶视频污 | 免费看片黄 | 精品一区二区视频 | 精品国产91在线网 | 久久免费精品高清麻豆 | 欧美劲爆第一页 | 免费看黄色的视频 | 国产精品麻豆视频 | 综合色在线观看 | 久久视频免费在线观看 | www.欧美精品 | www欧美com| 尻逼影院 | 亚洲色综合 |