歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python 編程風格

Python 編程風格

日期:2017/3/1 9:33:12   编辑:Linux編程

概要:
1、Python語句和語法
2、Python標識符
3、基本編程風格

一、Python語句和語法
1、可以從一行的任何地方開始
2、續行
\:
''':閉合操作符,單一語句跨多行

3、代碼組
、縮進相同的一組語句構成的一個代碼塊
、首行以關鍵字開始,如if、while 等,以冒號結束
、Python使用縮進來分隔代碼組,同一代碼組的代碼行必須嚴格左對齊,否則會造成語法錯誤
、同一行放置多個語句
;:以分號作為分隔符
、模塊
每一個Python腳本文件都可以被當成是一個模塊;模塊的名稱也是腳本名稱
模塊裡的代碼可以是一段直接執行的腳本,也可以是一些類似庫函數的代碼從而可由別的模塊執行導入(import) 因為模塊在被import的那一刻就會執行;所以模塊中一般存放的都是一些可調用的代碼段;

#!/usr/bin/python2.6
#coding=utf-8
name = "Tom"

def prinName(a):
print a
#縮進相同的一組語句構成的一個代碼塊;num與之前的代碼塊已經毫無關系了
num = 4
print num
print prinName(name)

#導入模塊是需要指定模塊的目錄路徑的;
[root@Oracle ~]# cat mod.py
#!/usr/bin/python2.6
def prinName(a):
print a
b = "Black"
print a+b
[root@oracle ~]# cat import.py
#!/usr/bin/python2.6
#
import mod

mod.prinName()

二、標識符
1、標識符是計算機語言中允許作為名字的有效字符串集合
其中有一部分是關鍵字,它們是語言的標識符,因此是保留字,不能用於其它用途
python還有稱為"內建"的標識符集合,雖然不是保留字,仍不推薦使用這些特別的名字
2、Python標識符
第一個字符只能使用字母或者下劃線
余下的字符可以使用字母、數字或下劃線
區分字符大小寫


三、Python基本編程風格
1、注釋
既不能缺少注釋,也要避免過度注釋
2、文檔
Python允許通過__doc__動態獲得文檔字符串
3、縮進
統一縮進4個字符
4、標識符名稱
見名知意

>>> str.__doc__
'str(object) -> string\n\nReturn a nice string representation of the object.\nIf the argument is a string, the return value is the same object.'
>>>
>>>
>>> print str.__doc__
str(object) -> string
Return a nice string representation of the object.
If the argument is a string, the return value is the same object

Python的命名慣例
1、以單一下劃線開頭的變量名(_x)不會被from module import *語句導入
2、前後有下劃線的變量名(__x__)是系統變量名,對解釋器有特殊意義
3、以兩個下劃線開頭、但結尾沒有下劃線的變量名(__x)是類的本地變量
4、交互式模式下,只有單個下劃線的變量名(_)用於保存最後表表達式的結果

>>> a = "I love:"
>>> b = "pig"
>>> print a+b
I love:pig
>>> print a.__add__(b)
I love:pig

class str(basestring)
| str(object) -> string
|
| Return a nice string representation of the object.
| If the argument is a string, the return value is the same object.
|
| Method resolution order:
| str
| basestring
| object
|
| Methods defined here:
|
| __add__(...)
| x.__add__(y) <==> x+y
|
| __contains__(...)
| x.__contains__(y) <==> y in x
|
| __eq__(...)
| x.__eq__(y) <==> x==y
|
| __format__(...)
| S.__format__(format_spec) -> string
|
| __ge__(...)
| x.__ge__(y) <==> x>=y
|
| __getattribute__(...)
| x.__getattribute__('name') <==> x.name
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]

Python 文件結構

#!/usr/bin/python2.6 # (1)起始行
#coding=utf-8 #mod.__doc__ 引用類的文檔
#"this is test module" (2)模塊文檔(文檔字符串)
import sys #(3)模塊導入
import os

debug = true
name = "Tom" #(4)全局變量

class FooClass(object): #(5)類定義(若有)
"Foo class"
pass

def test():
  "test function"
  foo = FooClass() #將類實例化
  if debug:
    print 'ran test()'

def prinName(a): #(6)函數定義(若有)
print a
#縮進相同的一組語句構成的一個代碼塊;num與之前的代碼塊已經毫無關系了
num = 4
print num
print prinName(name)


if __name__ == '__main__'#(7)主程序
test()
prinName()

Python文件主程序
1、主程序
無論當前模塊是被別的模塊導入還是作為腳本直接執行,都會執行這部分代碼
2、注意:所有的模塊都有能力執行代碼
最高級別的python語句(沒有縮進的)在模塊被導入時就會執行,無論是否真的需要執行
3、妥當的做法:除了那些真正需要執行的代碼之外,所有的功能代碼都通過函數建立,因此
僅在主程序模塊中編寫大量的頂級可執行代碼
用於被導入的模塊只應該存在較少的頂級執行代碼
4、__name__指示模塊應該如何被加載 每一個模塊都有一個名為__name__的內建變量,此變量值會根據調用此模塊的方式發生變化
如果模塊是被導入,__name__的值是模塊的名字
如果模塊是直接執行,__name__的值是"__main__":

--------------------------------------分割線 --------------------------------------

CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved