日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python題目積累2

系統(tǒng) 2076 0

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

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

3 一種統(tǒng)計素數(shù)個數(shù)的方法

            
               import math
def sieve(size):
    # 初始化一個待判斷統(tǒng)計列表,用于表示該位置的索引是否為素數(shù)
    sieve = [True] * size
    # 眾所周知,0和1都不是素數(shù),所以為False
    sieve[0] = False
    sieve[1] = False
    # 循環(huán)找到所有的非素數(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)計所有為True的元素個數(shù),也就是素數(shù)的個數(shù)
    return sum(1 for x in sieve if x)
# 一千億之內(nèi)的素數(shù)個數(shù)
# 4118054813
print(sieve(100000000000))

            
          

4 python中主要存在四種命名方式:
1、object #公用方法
2、_object #半保護
#被看作是“protect”,意思是只有類對象和子類對象自己能訪問到這些變量, 在模塊或類外不可以使用,不能用’from module import *’導(dǎo)入。
# object 是為了避免與子類的方法名稱沖突, 對于該標(biāo)識符描述的方法,父類的方法不能輕易地被子類的方法覆蓋,他們的名字實際上是 classname__methodname。
3、
_ object #全私有,全保護
#私有成員“private”,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個數(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會報錯,順序為(位置參數(shù),默認參數(shù),可變參數(shù),命名關(guān)鍵字參數(shù),關(guān)鍵字參數(shù))
位置參數(shù) def fn1(a): def fn2(a,b):
默認參數(shù) def enroll(name, gender, age=6, city=‘Beijing’ ): 默認參數(shù)必須指向不變對象!
可變參數(shù) 傳入?yún)?shù)的個數(shù)是可變的 *args是可變參數(shù),args接收的是一個tuple;
關(guān)鍵字參數(shù) 可變參數(shù)允許你傳入0個或任意個參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple。而關(guān)鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict。 **kw是關(guān)鍵字參數(shù),kw接收的是一個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) 報錯 change(a) 函數(shù)內(nèi)的局部變量 x 在使用前未定義。

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

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

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

    demo2 = outer(7)
    demo2()#17

            
          

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

            
              #修改閉包變量的實例
# outer是外部函數(shù) a和b都是外函數(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 正則表達式
正則表達式也叫做匹配模式(Pattern),它由一組具有特定含義的字符串組成,通常用于匹配和替換文本。
re模塊 廖雪峰

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

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


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 东海县| 桃园市| 莒南县| 陇西县| 华宁县| 永平县| 东辽县| 弥勒县| 柞水县| 江门市| 海阳市| 平阴县| 岢岚县| 德阳市| 卢湾区| 东兰县| 西丰县| 盖州市| 红河县| 平泉县| 那坡县| 同仁县| 清苑县| 临城县| 长丰县| 乐东| 苏州市| 普格县| 布拖县| 奎屯市| 两当县| 兴文县| 崇仁县| 金坛市| 探索| 扎囊县| 孟津县| 乌兰浩特市| 太谷县| 锦屏县| 庆安县|