《Python開發技術詳解》試讀:2.2.1命名規則2.2Python的編碼規則Python語言有自己獨特的編碼規則,包括命名規則、代碼書寫規則等。本節將詳細介紹Python中常用的規則,并解釋這些規則的原理和由來。2.2.1命名規則Python語言有一套自己的命名規則" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python命名規范

系統 1653 0

<script type="text/javascript"></script><script type="text/javascript"></script> ?

<script></script>

《Python開發技術詳解》試讀:2.2.1 命名規則

                

??? 2.2? Python的編碼規則

??? Python語言有自己獨特的編碼規則,包括命名規則、代碼書寫規則等。本節將詳細介紹Python中常用的規則,并解釋這些規則的原理和由來。

??? 2.2.1? 命名規則

??? Python語言有一套自己的命名規則,用戶也可以借鑒Java語言的命名規則以形成自己編碼的規則。命名規則并不是規定,只是一種習慣用法。變量名的首字符必須是字母或下劃線,首字符之外的字符可以由字母、數字或下劃線組成,并且不能使用Python的保留字。下面介紹幾種常見的規則。

??? 1.變量名、包名、模塊名

??? 變量名通常由字母和下劃線組成,包名、模塊名通常用小寫字母,如【例2-1】所示。

??? 【例2-1】演示變量名、包名、模塊名的規范寫法。

??? # 變量、模塊名的命名規則

??? # Filename: ruleModule.py

??? _rule = "rule information"

??? 第1行代碼是程序代碼的注釋,關于Python語言的注釋請參見2.2.5節。

??? 第2行代碼也是程序的注釋,用于聲明模塊的名稱,模塊名用小寫字母。也可以不指定模塊名,以py后綴的文件就是一個模塊。模塊名就是文件名。

??? 第4行代碼定義了一個全局變量_rule。

??? 2.類名、對象名

??? 類名首字母用大寫,其他字母采用小寫。對象名用小寫字母。類的屬性和方法名以對象作為前綴,對象通過操作符“.”訪問屬性和方法。類的私有變量、私有方法以兩個下劃線作為前綴。如【例2-2】所示。

??? 【例2-2】演示類的定義和實例化的規范寫法。

??? class Student:# 類名用大寫字母

??? __name = ""# 私有實例變量前必須有兩個下劃線

??? def __init__(self, name):

??? self.__name = name# self相當于Java中的this

??? def getName(self):# 方法名首字母用小寫,其后每個單詞的首字母用大寫

??? return self.__name

??? if __name__ == "__main__":

??? student = Student("borphi")# 對象名用小寫字母

??? printstudent.getName()

??? 第1行代碼定義了一個名為Student的類,類名首字母大寫。

??? 第2行代碼定義了一個私有的實例變量,變量名前有兩個下劃線。

??? 第4行代碼使用self前綴說明__name變量屬于Student類。

??? 第5行代碼定義了一個公有的方法,方法名首字母小寫,其后的單詞“Name”首字母大寫。函數的命名規則與此相同。

??? 第9行代碼創建了一個student對象,對象名小寫。

??? 說明關于面向對象的編程知識將在第8章詳細介紹,讀者此時只要知道類、對象、屬性以及方法的書寫方式即可。

??? 3.函數名

??? 函數名通常采用小寫,并用下劃線或單詞首字母大寫來增加名稱的可讀性,導入的函數以模塊名作為前綴。為了演示導入函數前綴的寫法,下面使用了生成隨機數的模塊random。該模塊有一個函數randrange()。該函數可以根據給定的數字范圍生成隨機數。randrange()的聲明如下所示:

??? randrange(start, stop\[, step\])

??? 參數start表示生成隨機數所在范圍的開始數字。

??? 參數stop表示生成隨機數所在范圍的結束數字,但不包括數字stop。

??? 參數step表示從start開始往后的步數。生成的隨機數在\[start,stop - 1\]的范圍內,取值等于start + step。

??? 例如:

??? randrange(1, 9, 2)

??? 隨機數的范圍在1、3、5、7之間取得。

??? 【例2-3】演示函數的規范寫法,其中定義了一個函數compareNum(),該函數用于比較兩個數字的大小,并返回對應的結果。

??? # 函數中的命名規則

??? import random

??? def compareNum(num1, num2):

??? if(num1 > num2):

??? return 1

??? elif(num1 == num2):

??? return 0

??? else:

??? return -1

??? num1 = random.randrange(1, 9)

??? num2 = random.randrange(1, 9)

??? print "num1 =", num1

??? print "num2 =", num2

??? print compareNum(num1, num2)

??? 第2行代碼導入了random模塊。

??? 第4行代碼定義了一個函數compareNum(),參數num1、num2為待比較的兩個變量。

??? 第5行到第10行代碼比較兩個數的大小,根據比較結果返回不同的結果。

??? 第11行、第12行代碼調用random模塊的randrange()返回兩個隨機數。

??? 第13行、第14行代碼輸出隨機數,不同的機器、不同的執行時間得到的隨機數均不相同。

??? 第15行代碼調用compareNum(),并把產生的兩個隨機數作為參數傳入。

??? 良好的命名習慣可以提高編程效率,使代碼閱讀者在不了解文檔的情況下,也能理解代碼的內容。

??? 下面以變量的命名為例,說明如何定義有母實際含義的名稱。許多程序員對變量的命名帶有隨意性,如使用i、j、k等單個字母。代碼閱讀者并不知道這些變量的實際含義,需要閱讀文檔或仔細查看源代碼才能了解其含義。

??? 【例2-4】演示變量命名不規范的寫法。

??? # 不規范的變量命名寫法

??? sum = 0

??? i = 2000

??? j = 1200

??? sum = i + 12 * j

??? 這段代碼定義了一個求和變量sum,以及兩個變量i、j。如果只看代碼片段,并不知道該運算的含義是什么,需要通讀整個函數或功能模塊才能理解此處各個變量的含義。

??? 【例2-5】演示符合命名規則的寫法。

??? # 規范的變量命名寫法

??? sumPay = 0

??? bonusOfYear = 2000

??? monthPay = 1200

??? sumPay = bonusOfYear + 12 * monthPay

??? bonusOfYear表示年終獎金、monthPay表示月薪,因此sumPay表示全年的薪水。使變量的名字有實際含義可以節省閱讀程序的時間,能更快地理解程序的含義。

??? 注意變量的命名應盡可能的表達此變量的作用,盡量避免使用縮寫,以便使任何人都能理解變量名的含義。不要過多的擔心變量名的長度,長的變量名往往能更表達清楚該變量的作用。

??? 以上討論的命名方式同樣適用于模塊名、類名、方法名、屬性名等。遵守命名規則會帶來很多好處。統一的命名規則便于程序開發團隊合作開發同一個項目;便于統一代碼的風格,理解不同程序員編寫的代碼;命名規范的變量名可以使程序代碼更容易被理解;避免項目中隨意命名變量的情況,促進程序員之間的交流。規則并不是絕對的,統一規則、表達清楚名稱的含義才是制定規則的目的。

<script id="db-templ-remarks" type="text/x-jquery-tmpl"></script><script></script>

> Python開發技術詳解

Python開發技術詳解
作者: 周偉, 宗杰
isbn: 7111270150
書名: Python開發技術詳解
頁數: 532
定價: 69.00元
出版社: 機械工業出版社
裝幀: 平裝
出版年: 2009

<script type="text/javascript"></script><script type="text/javascript"></script>

<!-- baggins1-->

Python命名規范


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 爱爱综合网 | 热久久免费 | 日本精品不卡 | 一区二区三区回区在观看免费视频 | 天天插天天狠天天透 | 亚洲精品a| 欧美日韩操 | 日韩成人免费在线视频 | 日韩午夜在线视频 | 欧美精品综合在线 | 在线一区观看 | 91成人在线视频 | 美味人妻2中文A片 | 爱爱爱av| 欧美日韩精品一区二区三区视频 | 涩涩操| 亚洲一区二区三区在线免费观看 | 黄色在线观看 | 一级特黄欧美 | 天天视频国产 | 播五月开心婷婷综合 | 亚洲国产精品热久久 | 成人欧美一区二区三区黑人3p | 成人免费视频 | www.久久久 | 国产精品久久人妻无码蜜 | 激情网址在线观看 | 国产免费A片好硬好爽好深小说 | 色综合久久天天综合网 | 欧美黄色大片在线观看 | 日韩婷婷| 成人黄色小视频网站 | 中文字幕在线视频日本 | 5278.cc | 精品久| 中文字幕在线观看电影 | 91亚洲精品在线观看 | 久久久久久综合 | 久久久久久久蜜桃 | 岛国色情A片无码视频免费看 | 日本黄页在线观看 |