手机版
你好,游客 登录 注册
背景:
阅读新闻

Python 编程风格

[日期:2015-02-15] 来源:Linux社区  作者:xiaocen [字体: ]

概要:
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 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-02/113472.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款