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

歡迎訪問 生活随笔!

生活随笔

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

python

Python开发Day03

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

基本類型的補(bǔ)充:

  • set集合

    • 介紹:

      • set集合是一個(gè)無序且不重復(fù)的元素集合,我們可以使用他來對比,去重,查看重復(fù)項(xiàng)(交集),不重復(fù)項(xiàng)(差集),a有很多元素,b中有幾個(gè)元素但是元素都和a中元素相同這樣可以判斷a是不是b的父集,查看兩個(gè)合并后去掉兩個(gè)集合中的重復(fù)元素。
    • 集合元素

      • a={1,2,3,4,5,6,7,8,9}
      • b={3,4,5,6}
    • 方法:

      • ?判斷a集合是不是b集合的父集或是不是子集:

        print(a.issuperset(b)) #判斷a集合是不是b集合的父集,也就是說b中有的a中都有,使用True或者False返回 print(a.issubset(b)) #判斷a集合是不是b集合的子集,也就是說a中有的b中都有,使用True或者False返回 執(zhí)行結(jié)果: True False 判斷a集合是不是b集合的父集或是不是子集
      • 清空集合: a.clear() print(a) 執(zhí)行結(jié)果: set() 清空集合
      • 向集合中添加一個(gè)元素: a.add(10) print(a) 執(zhí)行結(jié)果: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 向集合中添加一個(gè)元素
      • 向集合中添加多個(gè)元素: a.update(['a','b','c','d']) print(a) 執(zhí)行結(jié)果: {1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'c', 'd', 'b'} 向集合中添加多個(gè)元素
      • 刪除a集合中的3元素(這個(gè)方法如果集合中不存在這個(gè)元素會(huì)報(bào)錯(cuò)): a.remove(3) print(a) 執(zhí)行結(jié)果: {1, 2, 4, 5, 6, 7, 8, 9} 刪除a集合中的3元素
      • 刪除a集合中的8元素(該方法若是集合中沒有這個(gè)元素不會(huì)報(bào)錯(cuò)): a.discard(8) print(a) 執(zhí)行結(jié)果: {1, 2, 3, 4, 5, 6, 7, 9} 刪除a集合中的8元素
      • 隨機(jī)刪除一個(gè)元素,因?yàn)榧鲜菬o序的所以它默認(rèn)是刪除最后一個(gè)可是最后一個(gè)不固定: a.pop() print(a) 執(zhí)行結(jié)果: {2, 3, 4, 5, 6, 7, 8, 9} 隨機(jī)刪除一個(gè)元素
      • 輸出兩個(gè)集合中都存在的元素,產(chǎn)生一個(gè)新的值,如果需要用變量接收,或者直接查看(交集)。 print(a.intersection(b)) 執(zhí)行結(jié)果: {3, 4, 5, 6} 輸出兩個(gè)集合中都存在的元素
      • 對比兩個(gè)集合中都存在的元素,修改原來的元素(交集)。 a.intersection_update(b) print(a) 執(zhí)行結(jié)果: {3, 4, 5, 6} 對比兩個(gè)集合中都存在的元素
      • 判斷兩個(gè)集合中有沒交集。 print(a.isdisjoint(b)) 執(zhí)行結(jié)果: False 判斷沒有交集
      • 將兩個(gè)集合合并,可以達(dá)到去重的效果(并集),如果需要值需要將執(zhí)行結(jié)果給一個(gè)變量它不會(huì)修改原來的集合。 print(a.union(b)) 執(zhí)行結(jié)果: {1, 2, 3, 4, 5, 6, 7, 8, 9} 將兩個(gè)集合合并
      • 拿出集合a中存在的b中不存在的,如果需要值需要將執(zhí)行結(jié)果給一個(gè)變量它不會(huì)修改原來的集合(差集)。 print(a.difference(b)) 執(zhí)行結(jié)果: {8, 1, 2, 9, 7} 集合a中存在b中不存在
      • 拿出集合a中存在的b中不存在的,并修改a集合(差集)。 a.difference_update(b) print(a) 執(zhí)行結(jié)果: {1, 2, 7, 8, 9} 拿出集合a中存在b中不存在的值,修改a集合
      • 在a集合或b集合中,但不會(huì)同時(shí)出現(xiàn)在二者中(對稱差集),如果需要值需要將執(zhí)行結(jié)果給一個(gè)變量它不會(huì)修改原來的集合。。 print(a.symmetric_difference(b)) 執(zhí)行結(jié)果: {1, 2, 7, 8, 9} 在a或b集合中的元素,不會(huì)同時(shí)出現(xiàn)在另一個(gè)集合中的
      • 在a集合或b集合中,但不會(huì)同時(shí)出現(xiàn)在二者中(對稱差集),直接修改a集合:

        a.symmetric_difference_update(b) print(a) 執(zhí)行結(jié)果: {1, 2, 7, 8, 9} 對稱差集

三目運(yùn)算(三元運(yùn)算):?

  • 介紹:

    • 三目運(yùn)算就是是對簡單的條件語句的縮寫,讓之前需要3-4行的特殊代碼寫成一行:
    • 使用方法: c=0 name='Wu' if c== 0 else 'Qi' #先做if判斷如果c等于0那么name的值就是Wu否則值為Qi print(name) 執(zhí)行結(jié)果: Wu

?

深淺拷貝:

  • 數(shù)字和字符串

    • 對于數(shù)字和字符串而言深淺拷貝、賦值,沒有是沒意義,因?yàn)樗麄內(nèi)绻嗤肋h(yuǎn)指向同一個(gè)內(nèi)存地址: a='hello' b='hello' c=1 d=1 print(id(a)) #id()查看變量的內(nèi)存地址
      print(id(b))
      print(id(c))
      print(id(d)) 執(zhí)行結(jié)果: 1902418750296 1902418750296 1521807152 1521807152

  • 其他基本數(shù)據(jù)類型的深淺拷貝賦值:

    • 介紹:

      • 賦值就是你創(chuàng)建了一個(gè)變量然后有值,又創(chuàng)建一個(gè)變量給的值指向的就是你之前創(chuàng)建的變量名。 n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n2 = n1 print(id(n1)) #查看n1字典在內(nèi)存的位置 print(id(n2)) #查看n2字典在內(nèi)存的位置 print(id(n1['k1'])) #查看n1字典中k1值的內(nèi)存位置 print(id(n2['k1'])) #查看n2字典中k1值的內(nèi)存位置 執(zhí)行結(jié)果: 1961536305736 1961536305736 1961536697040 1961536697040 賦值的拷貝分析

?

        

  • 淺拷貝:

    • 介紹:在內(nèi)存中只創(chuàng)建第一層數(shù)據(jù)結(jié)構(gòu):

      • 分析:

        import copy #拷貝模塊 n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n2 =copy.copy(n1) #淺拷貝n1 print(id(n1)) #輸出n1在內(nèi)存的位置 print(id(n2)) #輸出n2在內(nèi)存的位置 print(id(n1['k3'])) #輸出n1中列表在內(nèi)存的位置 print(id(n2['k3'])) #輸出n2中列表在內(nèi)存的位置 執(zhí)行結(jié)果: 2162448251464 2162448682888 2162450147144 2162450147144 淺拷貝分析

?

        

?

?

  • 深拷貝:

    • 介紹:

      • 在內(nèi)存中將所有的數(shù)據(jù)重新創(chuàng)建一遍,除了字符串和數(shù)字使用的還是原來的內(nèi)存地址,因?yàn)镻ython對他們做了優(yōu)化。
    • 深拷貝的分析:

      import copy n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n2 = copy.deepcopy(n1) #深拷貝 print(id(n1)) #查看n1字典的內(nèi)存地址 print(id(n2)) #查看n2字典的內(nèi)存地址 print(id(n1['k3'])) #查看n1字典中的k3值的內(nèi)存地址 print(id(n2['k3'])) #查看n2字典中的k3值的內(nèi)存地址 print(id(n1['k1'])) #查看n1字典中的k1值的內(nèi)存地址 print(id(n2['k1'])) #查看n2字典中的k1值的內(nèi)存地址 執(zhí)行結(jié)果: 2398849710664 2398850108872 2398851605768 2398851575624 2188442383056 2188442383056 Python深拷貝分析

函數(shù):

  • 背景:

    • 在學(xué)習(xí)函數(shù)之前,我們一直遵循:面向過程編程,就是所謂的從上到下的執(zhí)行實(shí)現(xiàn)功能,有時(shí)候會(huì)有很多重復(fù)的代碼我們就需要復(fù)制粘貼,這樣就會(huì)導(dǎo)致我們的開發(fā)效率,而且容易出錯(cuò)。

    • 函數(shù)的使用:假設(shè)我們有一個(gè)腳本在不斷的循環(huán)查看服務(wù)器的各個(gè)狀態(tài)是否正常如果不正常就會(huì)發(fā)送郵件但是郵件發(fā)送使用面向過程的大方會(huì)有很多重復(fù)的代碼既浪費(fèi)空間還浪費(fèi)時(shí)間。

      while True:if cpu利用率 > 90%:#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接 if 硬盤使用空間 > 90%:#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接if 內(nèi)存占用 > 80%:#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接 面向過程的編寫方式 def 發(fā)送郵件(內(nèi)容)#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接while True:if cpu利用率 > 90%:發(fā)送郵件('CPU報(bào)警')if 硬盤使用空間 > 90%:發(fā)送郵件('硬盤報(bào)警')if 內(nèi)存占用 > 80%:發(fā)送郵件('內(nèi)存報(bào)警') 函數(shù)式編程的編寫方式

      可以看出來上面的兩種方法第二種要比第一種重用性和可讀性要好很多,這就是面向過程和函數(shù)式編程的區(qū)別

    • 解釋:

      • 函數(shù)式編程:將寫好的某些功能代碼封裝到函數(shù)中,以后便不需重復(fù)編寫,直接調(diào)用函數(shù)就可以。(函數(shù)式編程最重要的是增強(qiáng)代碼的重用性和可讀性
      • 面向?qū)ο?#xff1a;對函數(shù)進(jìn)行分類和封裝,讓開發(fā)者開發(fā)的效率“更快更好更強(qiáng)...”
      • 面向過程:這個(gè)代碼從上到下的執(zhí)行。
  • 定義和使用

    • 函數(shù)結(jié)構(gòu):

      def 函數(shù)名(參數(shù)): ...函數(shù)體...返回值 函數(shù)結(jié)構(gòu)
    • 函數(shù)的定義主要有以下幾點(diǎn):

      • def:表示函數(shù)的關(guān)鍵字。
      • 函數(shù)名:函數(shù)的名稱,以后根據(jù)函數(shù)名調(diào)用函數(shù)。
      • 函數(shù)體:函數(shù)中進(jìn)行一系列的邏輯計(jì)算。
      • 參數(shù):為函數(shù)體提供數(shù)據(jù)
      • 返回值:當(dāng)函數(shù)執(zhí)行完畢后,給調(diào)用者返回需要的數(shù)據(jù)。
  • 返回值

    • 解釋:

      • 函數(shù)是一個(gè)功能塊,該功能到底執(zhí)行是否成功,需要通過返回值來告知調(diào)用者。
    • 列如:

      def test():a=0if a == 0 :return '成功'else:return '失敗' print(test()) 執(zhí)行結(jié)果: 成功 Python函數(shù)返回值的例子
  • 參數(shù)

    • 解釋:

      • 參數(shù)可以更好、更準(zhǔn)確的去執(zhí)行處理,因?yàn)槿绻麤]有參數(shù)那么就相當(dāng)于函數(shù)被寫死了。
    • 參數(shù)例子

      • 如果沒有參數(shù)將會(huì)成為這樣,需要寫很多函數(shù),調(diào)用每一個(gè)不同的函數(shù),但是函數(shù)內(nèi)部就是改了一個(gè)內(nèi)容而已,這樣就和面向過程變成一樣了。 def CPU報(bào)警郵件()#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接def 硬盤報(bào)警郵件()#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接def 內(nèi)存報(bào)警郵件()#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接while True:if cpu利用率 > 90%:CPU報(bào)警郵件()if 硬盤使用空間 > 90%:硬盤報(bào)警郵件()if 內(nèi)存占用 > 80%:內(nèi)存報(bào)警郵件() 沒有參數(shù)的函數(shù)
      • 加參數(shù)函數(shù),這樣我們的可讀性變得會(huì)很好,而且可以很好的操作。 def 發(fā)送郵件(郵件內(nèi)容)#發(fā)送郵件提醒連接郵箱服務(wù)器發(fā)送郵件關(guān)閉連接while True:if cpu利用率 > 90%:發(fā)送郵件("CPU報(bào)警了。")if 硬盤使用空間 > 90%:發(fā)送郵件("硬盤報(bào)警了。")if 內(nèi)存占用 > 80%:發(fā)送郵件("內(nèi)存報(bào)警了。") 加參數(shù)的函數(shù)
    • 函數(shù)中三種不同的參數(shù)

      • 普通參數(shù)就和我們上面說的一樣,但是他必須是有幾個(gè)形參就要有多少實(shí)參,形參就是函數(shù)名后面()里的參數(shù)個(gè)數(shù),實(shí)參就是調(diào)用函數(shù)時(shí)的()里寫的內(nèi)容。 def test(name): #參數(shù)name,(形參)return name print(test('Wu')) 執(zhí)行結(jié)果: print(test('Wu')) #執(zhí)行test函數(shù)傳參Wu。(實(shí)參) 執(zhí)行結(jié)果: Wu 普通參數(shù)
      • 默認(rèn)參數(shù): def test(name='None'): #默認(rèn)參數(shù)必須在形參后面,也可以理解為寫到最后面才可以使用。return name print(test()) 執(zhí)行結(jié)果: None 默認(rèn)參數(shù)
      • 動(dòng)態(tài)參數(shù)一: def test(*name):return name print(test(1,2,3,4,5,7)) #給test函數(shù)傳很多數(shù)字 執(zhí)行結(jié)果: (1, 2, 3, 4, 5, 7) #輸入結(jié)果為元組類型的。 Python動(dòng)態(tài)參數(shù)一
      • 動(dòng)態(tài)參數(shù)二: def test(**name):return name print(test(name='Wu',age=20)) #給函數(shù)test傳實(shí)參,多個(gè)參數(shù),必須是**=**因?yàn)檫@種動(dòng)態(tài)參數(shù)會(huì)以字典的形式返回 執(zhí)行結(jié)果: {'name': 'Wu', 'age': 20} Python動(dòng)態(tài)參數(shù)二
      • 動(dòng)態(tài)參數(shù)一和二可以同時(shí)使用: def test(*args,**kwargs):#python默認(rèn)提供的動(dòng)態(tài)參數(shù)名稱*args和**kwargsreturn args,kwargs print(test(123,123,234,name='Wu',age=20)) 執(zhí)行結(jié)果: ((123, 123, 234), {'age': 20, 'name': 'Wu'}) Python動(dòng)態(tài)參數(shù)同時(shí)使用兩個(gè)
      • 向動(dòng)態(tài)參數(shù)傳元組需要加一個(gè)*,字典加兩個(gè)*。
  • 練習(xí):

    • 簡述普通參數(shù)、指定參數(shù)、默認(rèn)參數(shù)、動(dòng)態(tài)參數(shù)的區(qū)別。
    • 寫函數(shù),計(jì)算傳入字符串中【數(shù)字】、【字母】、【空格] 以及 【其他】的個(gè)數(shù)
    • 寫函數(shù),判斷用戶傳入的對象(字符串、列表、元組)長度是否大于5。
    • 寫函數(shù),判斷用戶傳入的對象(字符串、列表、元組)長度是否大于5。
    • 寫函數(shù),檢查傳入列表的長度,如果大于2,那么僅保留前兩個(gè)長度的內(nèi)容,并將新內(nèi)容返回給調(diào)用者。
    • 寫函數(shù),檢查獲取傳入列表或元組對象的所有奇數(shù)位索引對應(yīng)的元素,并將其作為新列表返回給調(diào)用者。
    • 寫函數(shù),檢查傳入字典的每一個(gè)value的長度,如果大于2,那么僅保留前兩個(gè)長度的內(nèi)容,并將新內(nèi)容返回給調(diào)用者。 dic = {"k1": "v1v1", "k2": [11,22,33,44]}

      PS:字典中的value只能是字符串或列表

    • 寫函數(shù),利用遞歸獲取斐波那契數(shù)列中的第 10 個(gè)數(shù),并將該值返回給調(diào)用者。 def func(arg1,arg2):if arg1 == 0:print arg1, arg2arg3 = arg1 + arg2print arg3func(arg2, arg3) func(0,1) 斐波那契
    • 尋找差異

      # 數(shù)據(jù)庫中原有old_dict = {"#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 },"#2":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }"#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }}# cmdb 新匯報(bào)的數(shù)據(jù)new_dict = {"#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 800 },"#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }"#4":{ 'hostname':c2, 'cpu_count': 2, 'mem_capicity': 80 }} 選做

      提示是否刪除:?
      提示是否新建:?
      提示是否更新:?
      注意:無需考慮內(nèi)部元素是否改變,只要原來存在,新匯報(bào)也存在,就是需要更新,憑自己想法去做。

練習(xí)解答在另一篇中出現(xiàn)?!

?

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

總結(jié)

以上是生活随笔為你收集整理的Python开发Day03的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: www.激情五月.com | 中文字幕在线免费观看视频 | 久久精品综合视频 | 欧美色交 | 午夜在线免费视频 | 欧美片免费网站 | 国产亚洲精品美女久久久久 | 欧美激情视频在线观看 | 日本黄色录像 | 日韩熟妇一区二区三区 | 日韩精品一二三四区 | 人乳videos巨大吃奶 | 日本一级黄色录像 | 婷婷免费| 日日碰日日摸 | 中文国产在线观看 | 青青综合网| 黄色成人av| av影院在线观看 | 日韩一卡二卡三卡 | 夜夜夜综合 | 秋霞三区 | 国产一二三精品 | 国内毛片毛片 | 一级黄色免费观看 | 日韩激情视频在线观看 | 国产精品久久久久电影 | 国产涩涩| 日本嫩草影院 | 黄色精品视频在线观看 | a在线免费观看 | 久久人人妻人人人人妻性色av | 91视频一区二区 | 中文字幕av久久 | 18黄暴禁片在线观看 | 中文在线一区二区 | 色人阁在线视频 | 一区二区三区在线免费播放 | 国产21区 | 雷电将军和丘丘人繁衍后代视频 | 亚洲七区| 波多野42部无码喷潮在线 | 日韩污污 | 日韩不卡免费视频 | 欧洲美女与动交zozzo | 欧美国产第一页 | 亚洲欧美另类激情 | 国毛片 | av片久久| 欧美精品一区二区三区视频 | 高清乱码免费网 | 国产九色| 中文字幕在线视频第一页 | 香蕉在线看 | 国产亚洲欧美一区二区三区 | 黑人毛片网站 | 鲁鲁久久 | 亚洲人精品午夜射精日韩 | 91精品国产高清一区二区三密臀 | 国产乱强伦一区二区三区 | 欧美成人视屏 | 91淫黄大片 | 上海毛片 | 97超碰资源总站 | 欧美人与动物xxxxx | 污网在线观看 | 性欧美欧美巨大69 | 日本高清视频免费看 | 狠狠操欧美 | 污污视频网站在线免费观看 | 人人射人人 | 国产无遮挡a片又黄又爽 | 伊人网在线视频 | 97超碰在线播放 | 国产av无码专区亚洲av | 国产又粗又猛又黄又爽 | 日本精品黄色 | 成年人久久 | 久久伊人成人 | 婷婷激情六月 | 午夜精品久久久久久久91蜜桃 | 大白屁股一区二区视频 | 国产男女视频 | 沟厕沟厕近拍高清视频 | www.亚洲一区 | 97精品超碰一区二区三区 | 欧美大尺度视频 | 日韩av三级在线观看 | 六月丁香综合网 | 伊人久久大香网 | 91插插插插插插插插 | 亚洲久久久久 | 麻豆成人91精品二区三区 | 亚洲国产av一区二区三区 | 91精品国产综合久 | 最近中文字幕在线观看 | 欧美精品一区二区免费 | 95看片淫黄大片一级 | 免费在线精品视频 |