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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python_ 学习笔记(hello world)

發(fā)布時(shí)間:2025/4/14 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python_ 学习笔记(hello world) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python中的循環(huán)語(yǔ)句

循環(huán)語(yǔ)句均可以尾隨一個(gè)else語(yǔ)句塊,該塊再條件為false后執(zhí)行一次

如果使用break跳出則不執(zhí)行。

for it in [1,2,3,4]:print(it,end=",") else:print("執(zhí)行else語(yǔ)句塊") #1,2,3,4,執(zhí)行else語(yǔ)句塊 View Code:不使用break for it in [1,2,3,4]:print(it,end=",")if it == 4:break else:print("執(zhí)行else語(yǔ)句塊") #1,2,3,4, View Code:使用break

?python的pass語(yǔ)句

pass語(yǔ)句只是為了保持程序的結(jié)構(gòu)性,沒有任何內(nèi)容

python的函數(shù)參數(shù)

在函數(shù)的參數(shù)中,類似C++的值傳遞和引用傳遞,python中不可變?cè)卦诤瘮?shù)中修改不會(huì)影響外部的值(number、tuple、string),而可變?cè)貏t相反。

#傳遞可變參數(shù) def mFcn(myDic):myDic['d'] = 2040aDic = {'a':2010,'b':2020,'c':2030} mFcn(aDic) for it in aDic:print(it,aDic[it]) # a 2010 # b 2020 # c 2030 # d 2040#傳遞不可變參數(shù) def umFcn(myStr):myStr = "修改后"aStr = '修改前' umFcn(aStr) print(aStr)#修改前 View Code:測(cè)試傳遞可變或不可變參數(shù)的效果

python的正式參數(shù)類型(必須參數(shù)、關(guān)鍵子參數(shù)、默認(rèn)參數(shù)、可變長(zhǎng)參數(shù))

  • 必須參數(shù):不需要提供的參數(shù),否則會(huì)報(bào)錯(cuò)。
  • 關(guān)鍵子參數(shù):既命名參數(shù),直接通過參數(shù)名賦值,此時(shí)可以忽略參數(shù)提供的順序。
  • 默認(rèn)參數(shù):當(dāng)沒有供參數(shù)時(shí)自動(dòng)采用的值。
  • 可變長(zhǎng)參數(shù):*t 相當(dāng)于提供一個(gè)元組,**d 相當(dāng)于提供一個(gè)字典。
    def fcn4(*t):print(type(t))for it in t:print(it)fcn4('a','v','d') # <class 'tuple'> # a # v # d View Code:不定長(zhǎng)數(shù)組參數(shù)的傳入方式 def fcn5(**d):print(type(d))for it in d:print(it , d[it])fcn5(k1=1,k2='v2') # <class 'dict'> # k1 1 # k2 v2 View Code:不定長(zhǎng)字典參數(shù)的傳入方式

    參數(shù)傳遞中,* 可單獨(dú)出現(xiàn),強(qiáng)制其后的參數(shù)使用關(guān)鍵子參數(shù)的方式賦值

    def testFcn(a,b,*,num1,num2):pass#testFcn(1,2,3,4)#TypeError: testFcn() takes 2 positional arguments but 4 were given testFcn(1,2,num1 = 3, num2 = 4) View Code:必須使用關(guān)鍵子參數(shù)賦值,否則報(bào)錯(cuò)

    ?

  • python匿名函數(shù)

    python的lambda只是一個(gè)表達(dá)式,語(yǔ)法如下:

    sum = lambda arg1,arg2:arg1+arg2 print(sum(10,90)) View Code:lambda表達(dá)式例子

    python的return關(guān)鍵子

  • 如果沒有使用return,則返回none,使用type()獲取為:<class 'NoneType'>
  • 可以返回多個(gè)值,以tuple方式返回
  • python的變量作用域

    ?python的作用域有四種:按照查找順序依次排列

    • 局部作用域
    • 嵌套作用域:閉包函數(shù)外的函數(shù)中
    • 全局作用域
    • 內(nèi)置作用域:內(nèi)置函數(shù)所在的模塊范圍

    在python中,只有類(class)、模塊(model)和函數(shù)(def? lambda)會(huì)引入新的作用域

    這也就是說,如果實(shí)在if語(yǔ)句、try-catch語(yǔ)句或者for/while語(yǔ)句中賦值定義的對(duì)象,和在其外部定義效果相同

    為了區(qū)分不同作用域中的同名對(duì)象,可能需要使用關(guān)鍵子nonlocal和global

    • nonlocal:引入嵌套作用域的變量
    • global:引入全局作用域的變量
      以nonlocal舉例,global類似:
      1 #測(cè)試nonloacl和global關(guān)鍵子 2 3 def fcn0(): 4 num = 0 5 print('嵌套作用域頭:' + str(num)) 6 #下面定義 7 def fcn2(): 8 nonlocal num 9 num = 1 10 print('局部作用域:' + str(num)) 11 #下面調(diào)用 12 fcn2() 13 print('嵌套作用域尾:' + str(num)) 14 15 fcn0() View Code:nonlocal使用舉例

      由以上代碼可以看出,局部作用域內(nèi)的num其實(shí)是來(lái)自嵌套作用域,在局部的操作影響的嵌套作用域中的對(duì)象。

    python3的數(shù)據(jù)結(jié)構(gòu)

    • 列表
      列表可以用作堆棧和隊(duì)列等,列表內(nèi)置了基本的棧操作和隊(duì)列操作
      列表推導(dǎo)式:
      一般用于對(duì)序列的每一個(gè)(或條件)元素都進(jìn)行操作后,用這每一個(gè)新的結(jié)果生成一個(gè)新的列表
      每個(gè)列表推導(dǎo)式都在for后跟一個(gè)表達(dá)式,然后有零到多個(gè)for或if子句。推導(dǎo)元組必須使用括號(hào)
      #測(cè)試列表推導(dǎo)式 l1 = [-0.5,-0.33,-0.1,0,1,33,5.55] #全部遍歷 li2 = [it*2 for it in l1] print(li2) #[-1.0, -0.66, -0.2, 0, 2, 66, 11.1] View Code:遍歷所有元素 #測(cè)試列表推導(dǎo)式 l1 = [-0.5,-0.33,-0.1,0,1,33,5.55] #條件遍歷:只遍歷符合條件的元素 li2 = [it*2 for it in l1 if it >= 0] print(li2)#[0, 2, 66, 11.1] View Code:遍歷符合條件的元素
    • del語(yǔ)句
      del可以使用下表來(lái)刪除元素,也可以用來(lái)刪除實(shí)體變量
    • 元組和序列
      元組:元組由多個(gè)值組成 a = 123,456,'nihao'
      序列。。。
    • 集合:
      集合內(nèi)部元素不重復(fù),集合內(nèi)部元素?zé)o序,集合也可以使用推導(dǎo)式
    • 字典:
      字典創(chuàng)建鍵值對(duì)推導(dǎo)式
      d = {k:k**2 for k in (1,2,3,4,5,6)} for k,v in d.items():print(k,v) # 1 1 # 2 4 # 3 9 # 4 16 # 5 25 # 6 36 View Code:字典推導(dǎo)式
    • 遍歷技巧:
  • 對(duì)字典的遍歷,使用items()同時(shí)獲取鍵和值;
    d = {k:k**2 for k in (1,2,3,4,5,6)} for k,v in d.items():print(k,v) # 1 1 # 2 4 # 3 9 # 4 16 # 5 25 # 6 36 View Code:遍歷字典技巧
  • 對(duì)序列遍歷時(shí),使用enumrate()同時(shí)獲取下標(biāo)和元素; t = [x*2 for x in range(5)] for index,item in enumerate(t, 0):print(index,item) # 0 0 # 1 2 # 2 4 # 3 6 # 4 8 View Code:遍歷序列的技巧
  • 同時(shí)對(duì)多個(gè)序列遍歷時(shí),使用zip(t1,t2)組合
    t1 = ['name:','age:','id:'] t2 = ['lyn', 23, 20130430721]msg = [str(t) + str(c) for t,c in zip(t1,t2)] print(msg) #['name:lyn', 'age:23', 'id:20130430721'] View Code:遍歷多個(gè)序列技巧
  • 反轉(zhuǎn)序列,序列排序

    • 模塊
        __Name__ 屬性,當(dāng)模塊是自身在運(yùn)行是__name__屬性為“__main__”,如果不是自生在運(yùn)行,而是被其他模塊導(dǎo)入,則__name__屬性是當(dāng)前模塊的名稱!
    • 異常處理try...excepte ex1...except ex2...except ...else...finally
      嘗試執(zhí)行try塊中的代碼,如果發(fā)生異常則逐個(gè)匹配except的異常類型,如果匹配到則執(zhí)行并執(zhí)行異常處理之后的代碼。
      • except后不跟任何異常類型則匹配所有的異常,你可以在這里輸出異常,并再次拋出給上層代碼。
      • else塊在沒有發(fā)生異常時(shí)執(zhí)行。
      • finally,無(wú)論如何都會(huì)執(zhí)行,finally會(huì)再次拋出這個(gè)異常
    • 拋出異常
      使用raise語(yǔ)句拋出一個(gè)異常,raise NameError("這是一個(gè)異常"),raise后面的必須是異常的實(shí)力或者異常的類(也就是exception的子類);
      如果我們只想檢測(cè)是否有異常,而不是處理它,那么我們可以直接使用raise不跟任何語(yǔ)句,就可以再次拋出這個(gè)異常;
      通過繼承Exception類,我們可以定義自己的異常類,名稱一般以Error結(jié)尾,這和標(biāo)準(zhǔn)的異常命名一樣!

    • with語(yǔ)句,類似于C#using對(duì)于非托管資源的處理
      無(wú)論發(fā)生什么,這個(gè)資源都會(huì)被正確的執(zhí)行清理方法
      with open(r"G:\PythonWorkSpace\testWith.py") as withFd:pass print(withFd.closed)#True View Code:with關(guān)鍵字的用法

      ?

    轉(zhuǎn)載于:https://www.cnblogs.com/bbdr/p/10428775.html

    總結(jié)

    以上是生活随笔為你收集整理的python_ 学习笔记(hello world)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。