最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解

 更新時(shí)間:2019年07月19日 09:08:13   作者:Field_Yang  
今天小編就為大家分享一篇對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Python函數(shù)的設(shè)計(jì)規(guī)范

1、Python函數(shù)設(shè)計(jì)時(shí)具備耦合性和聚合性

1)、耦合性:

(1).盡可能通過(guò)參數(shù)接受輸入,以及通過(guò)return產(chǎn)生輸出以保證函數(shù)的獨(dú)立性;

(2).盡量減少使用全局變量進(jìn)行函數(shù)間通信;

(3).不要在函數(shù)中直接修改可變類(lèi)型的參數(shù);

(4).避免直接改變定義在另外一個(gè)模塊中的變量;

2)、聚合性:

(1).每個(gè)函數(shù)都應(yīng)該有一個(gè)單一的、目的統(tǒng)一的目標(biāo);

(2).每個(gè)函數(shù)的功能都應(yīng)該相對(duì)簡(jiǎn)單;

2、Python函數(shù)在腳本中應(yīng)用示例

例1:將/etc/passwd文件中的每一行都分隔為一個(gè)列表

[root@test0528]# vim test1.py

#!/usr/bin/python27

#

importre

filename ='/etc/passwd'

f1 =open(filename,'r')

l1 =f1.readlines()

bash =[]

for i inl1:

  bash.append(i)

defgenList(x):

  y = 0

  x = len(bash)   

  while y <= x:

       yield bash[y]

    y += 1

g1 =genList(bash)

count =0 

whilecount < len(bash):

  gg=g1.next()

  linelist = gg.split(':')

  print linelist

  count += 1

f1.close()

[root@test0528]# ./test1.py

['root','x', '0', '0', 'root', '/root', '/bin/bash\n']

['bin','x', '1', '1', 'bin', '/bin', '/sbin/nologin\n']

['daemon','x', '2', '2', 'daemon', '/sbin', '/sbin/nologin\n']

......

['nginx','x', '496', '493', 'nginx user', '/var/cache/nginx','/sbin/nologin\n']

['mysql','x', '27', '27', 'MySQL Server', '/var/lib/mysql','/bin/bash\n']

['redis','x', '495', '492', 'Redis Database Server', '/var/lib/redis','/sbin/nologin\n']

例2:將任意文件按用戶(hù)指定的分隔符把每一行都分隔為一個(gè)列表

[root@test0528]# vim test2.py

#!/usr/bin/python27

#

importre

#print"PLease input filename:"

#filename= raw_input()

filename =str(raw_input("PLease input filename: "))

f1 =open(filename,'r')

l1 =f1.readlines()

#print"PLease input separator:"

#separator= raw_input()

separator= str(raw_input("PLease input separator: "))

bash =[]

for i inl1:

  bash.append(i)

defgenList(x):

  y = 0

  x = len(bash)   

  while y <= x:

       yield bash[y]

    y += 1

g1 =genList(bash)

count =0 

whilecount < len(bash):

  gg=g1.next()

  linelist = gg.split(separator)

  print linelist

  count += 1

f1.close()

[root@test0528]# ./test2.py

PLeaseinput filename: /etc/passwd

PLeaseinput separator: :

['root','x', '0', '0', 'root', '/root', '/bin/bash\n']

['bin','x', '1', '1', 'bin', '/bin', '/sbin/nologin\n']

['daemon','x', '2', '2', 'daemon', '/sbin', '/sbin/nologin\n']

...

['nginx','x', '496', '493', 'nginx user', '/var/cache/nginx','/sbin/nologin\n']

['mysql','x', '27', '27', 'MySQL Server', '/var/lib/mysql','/bin/bash\n']

['redis','x', '495', '492', 'Redis Database Server', '/var/lib/redis','/sbin/nologin\n']

例3:用折疊的方式(reduce)求階乘

[root@test0528]# vim test3.py

#!/usr/bin/python27

# getn!

num =int(raw_input('please nput a number:'))

num +=1

list =range(1,num)

deffunc(m,n):

  return m*n

x =reduce(func,list)

printx

[root@test0528]# ./test3.py

pleasenput a number:4

24

以上這篇對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    最簡(jiǎn)單的深度網(wǎng)絡(luò)稱(chēng)為多層感知機(jī),它們由多層神經(jīng)元組成,每一層都與下面一層(從中接收輸入)和上面一層(反過(guò)來(lái)影響當(dāng)前層的神經(jīng)元)完全相連
    2021-10-10
  • pyqt5 textEdit、lineEdit操作的示例代碼

    pyqt5 textEdit、lineEdit操作的示例代碼

    這篇文章主要介紹了pyqt5 textEdit、lineEdit操作的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python按照多個(gè)條件排序的方法

    python按照多個(gè)條件排序的方法

    今天小編就為大家分享一篇python按照多個(gè)條件排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Python獲取當(dāng)前時(shí)間日期的方法總結(jié)

    Python獲取當(dāng)前時(shí)間日期的方法總結(jié)

    在Python編程中,獲取當(dāng)前的日期和時(shí)間是一個(gè)常見(jiàn)的需求,它在許多應(yīng)用中都有重要作用,本文為大家詳細(xì)整理了一些Python中的常用方法,希望對(duì)大家有所幫助
    2024-01-01
  • 不管你的Python報(bào)什么錯(cuò),用這個(gè)模塊就能正常運(yùn)行

    不管你的Python報(bào)什么錯(cuò),用這個(gè)模塊就能正常運(yùn)行

    說(shuō)到python強(qiáng)大的地方,那真是太多了,優(yōu)雅、簡(jiǎn)潔、豐富且強(qiáng)大的第三方庫(kù),開(kāi)發(fā)速度快,活躍度高等,本文講到的就是其中一個(gè)模塊,用了它,再也不用擔(dān)心代碼不能運(yùn)行了
    2018-09-09
  • Python中的urllib模塊使用詳解

    Python中的urllib模塊使用詳解

    這篇文章主要介紹了Python中的urllib模塊使用詳解,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-07-07
  • Python實(shí)現(xiàn)基于HTTP文件傳輸實(shí)例

    Python實(shí)現(xiàn)基于HTTP文件傳輸實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)基于HTTP文件傳輸?shù)姆椒?以實(shí)例形式詳細(xì)講述了server端與client端的實(shí)現(xiàn)代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例

    Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例

    這篇文章主要介紹了Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作,涉及Python數(shù)學(xué)運(yùn)算及顯示相關(guān)操作技巧,注釋備有詳盡的說(shuō)明,需要的朋友可以參考下
    2017-07-07
  • 舉例簡(jiǎn)單講解Python中的數(shù)據(jù)存儲(chǔ)模塊shelve的用法

    舉例簡(jiǎn)單講解Python中的數(shù)據(jù)存儲(chǔ)模塊shelve的用法

    這篇文章主要介紹了舉例簡(jiǎn)單講解Python中的數(shù)據(jù)存儲(chǔ)模塊shelve的用法,shelveshelve模塊與pickle模塊的功能相近,比pickle用起來(lái)更為簡(jiǎn)單,需要的朋友可以參考下
    2016-03-03
  • Python?Asyncio庫(kù)之a(chǎn)syncio.task常用函數(shù)詳解

    Python?Asyncio庫(kù)之a(chǎn)syncio.task常用函數(shù)詳解

    Asyncio在經(jīng)過(guò)一段時(shí)間的發(fā)展以及獲取Curio等第三方庫(kù)的經(jīng)驗(yàn)來(lái)提供更多的功能,目前高級(jí)功能也基本完善。本文主要介紹了Asyncio庫(kù)中asyncio.task常用函數(shù)的使用,需要的可以參考一下
    2023-03-03

最新評(píng)論

手机| 巴南区| 个旧市| 大庆市| 信宜市| 淮阳县| 罗定市| 平邑县| 福贡县| 博兴县| 和平县| 卢湾区| 富宁县| 城口县| 高密市| 潼关县| 沂水县| 云南省| 南昌县| 东丽区| 桃源县| 丰宁| 临海市| 蒙自县| 汕头市| 于田县| 凤台县| 镇宁| 上犹县| 沙洋县| 洛扎县| 历史| 鄂托克前旗| 囊谦县| 和龙市| 保康县| 北流市| 东源县| 唐河县| 京山县| 黑龙江省|