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

對Python函數設計規(guī)范詳解

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

Python函數的設計規(guī)范

1、Python函數設計時具備耦合性和聚合性

1)、耦合性:

(1).盡可能通過參數接受輸入,以及通過return產生輸出以保證函數的獨立性;

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

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

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

2)、聚合性:

(1).每個函數都應該有一個單一的、目的統一的目標;

(2).每個函數的功能都應該相對簡單;

2、Python函數在腳本中應用示例

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

[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:將任意文件按用戶指定的分隔符把每一行都分隔為一個列表

[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

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

相關文章

  • Python機器學習多層感知機原理解析

    Python機器學習多層感知機原理解析

    最簡單的深度網絡稱為多層感知機,它們由多層神經元組成,每一層都與下面一層(從中接收輸入)和上面一層(反過來影響當前層的神經元)完全相連
    2021-10-10
  • pyqt5 textEdit、lineEdit操作的示例代碼

    pyqt5 textEdit、lineEdit操作的示例代碼

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

    python按照多個條件排序的方法

    今天小編就為大家分享一篇python按照多個條件排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python獲取當前時間日期的方法總結

    Python獲取當前時間日期的方法總結

    在Python編程中,獲取當前的日期和時間是一個常見的需求,它在許多應用中都有重要作用,本文為大家詳細整理了一些Python中的常用方法,希望對大家有所幫助
    2024-01-01
  • 不管你的Python報什么錯,用這個模塊就能正常運行

    不管你的Python報什么錯,用這個模塊就能正常運行

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

    Python中的urllib模塊使用詳解

    這篇文章主要介紹了Python中的urllib模塊使用詳解,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-07-07
  • Python實現基于HTTP文件傳輸實例

    Python實現基于HTTP文件傳輸實例

    這篇文章主要介紹了Python實現基于HTTP文件傳輸的方法,以實例形式詳細講述了server端與client端的實現代碼,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • Python雙精度浮點數運算并分行顯示操作示例

    Python雙精度浮點數運算并分行顯示操作示例

    這篇文章主要介紹了Python雙精度浮點數運算并分行顯示操作,涉及Python數學運算及顯示相關操作技巧,注釋備有詳盡的說明,需要的朋友可以參考下
    2017-07-07
  • 舉例簡單講解Python中的數據存儲模塊shelve的用法

    舉例簡單講解Python中的數據存儲模塊shelve的用法

    這篇文章主要介紹了舉例簡單講解Python中的數據存儲模塊shelve的用法,shelveshelve模塊與pickle模塊的功能相近,比pickle用起來更為簡單,需要的朋友可以參考下
    2016-03-03
  • Python?Asyncio庫之asyncio.task常用函數詳解

    Python?Asyncio庫之asyncio.task常用函數詳解

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

最新評論

鱼台县| 潞西市| 鄱阳县| 恩平市| 隆化县| 红原县| 宽甸| 宾川县| 施甸县| 会昌县| 三台县| 龙江县| 于都县| 四会市| 鹤庆县| 合川市| 兴义市| 米林县| 合水县| 砚山县| 广元市| 沁水县| 南宫市| 西青区| 石嘴山市| 绥棱县| 平遥县| 惠东县| 白朗县| 中西区| 延庆县| 涟源市| 监利县| 浮梁县| 同仁县| 凤山县| 望江县| 呼图壁县| 砀山县| 高州市| 增城市|