博文概要:
1、Python语句和语法
2、Python标识符
3、基本编程风格

一、Python语句和语法
1、可以从一行的任何地方开始
2、续行
\:
''':闭合操作符,单一语句跨多行

3、代码组
 、缩进相同的一组语句构成的一个代码块
 、首行以关键字开始,如if、while 等,以冒号结束
 、Python使用缩进来分隔代码组,同一代码组的代码行必须严格左对齐,否则会造成语法错误
 、同一行放置多个语句
;:以分号作为分隔符
 、模块
每一个Python脚本文件都可以被当成是一个模块;模块的名称也是脚本名称
模块里的代码可以是一段直接执行的脚本,也可以是一些类似库函数的代码从而可由别的模块执行导入(import) 因为模块在被import的那一刻就会执行;所以模块中一般存放的都是一些可调用的代码段;

  1. #!/usr/bin/python2.6
  2. #coding=utf-8
  3. name = "Tom"
  4.  
  5. def prinName(a):
  6. print a
  7. #缩进相同的一组语句构成的一个代码块;num与之前的代码块已经毫无关系了
  8. num = 4
  9. print num
  10. print prinName(name)
  11.  
  12. #导入模块是需要指定模块的目录路径的;
  13. [root@oracle ~]# cat mod.py
  14. #!/usr/bin/python2.6
  15. def prinName(a):
  16. print a
  17. b = "Black"
  18. print a+b
  19. [root@oracle ~]# cat import.py
  20. #!/usr/bin/python2.6
  21. #
  22. import mod
  23.  
  24. mod.prinName()

二、标识符
1、标识符是计算机语言中允许作为名字的有效字符串集合
其中有一部分是关键字,它们是语言的标识符,因此是保留字,不能用于其它用途
python还有称为"内建"的标识符集合,虽然不是保留字,仍不推荐使用这些特别的名字
2、Python标识符
第一个字符只能使用字母或者下划线
余下的字符可以使用字母、数字或下划线
区分字符大小写

三、Python基本编程风格
1、注释
既不能缺少注释,也要避免过度注释
2、文档
Python允许通过__doc__动态获得文档字符串
3、缩进
统一缩进4个字符
4、标识符名称
见名知意

  1. >>> str.__doc__
  2. '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.'
  3. >>>
  4. >>>
  5. >>> print str.__doc__
  6. str(object) -> string
  7. Return a nice string representation of the object.
  8. If the argument is a string, the return value is the same object

Python的命名惯例
1、以单一下划线开头的变量名(_x)不会被from module import *语句导入
2、前后有下划线的变量名(__x__)是系统变量名,对解释器有特殊意义
3、以两个下划线开头、但结尾没有下划线的变量名(__x)是类的本地变量
4、交互式模式下,只有单个下划线的变量名(_)用于保存最后表表达式的结果

  1. >>> a = "I love:"
  2. >>> b = "pig"
  3. >>> print a+b
  4. I love:pig
  5. >>> print a.__add__(b)
  6. I love:pig
  1. class str(basestring)
  2. | str(object) -> string
  3. |
  4. | Return a nice string representation of the object.
  5. | If the argument is a string, the return value is the same object.
  6. |
  7. | Method resolution order:
  8. | str
  9. | basestring
  10. | object
  11. |
  12. | Methods defined here:
  13. |
  14. | __add__(...)
  15. | x.__add__(y) <==> x+y
  16. |
  17. | __contains__(...)
  18. | x.__contains__(y) <==> y in x
  19. |
  20. | __eq__(...)
  21. | x.__eq__(y) <==> x==y
  22. |
  23. | __format__(...)
  24. | S.__format__(format_spec) -> string
  25. |
  26. | __ge__(...)
  27. | x.__ge__(y) <==> x>=y
  28. |
  29. | __getattribute__(...)
  30. | x.__getattribute__('name') <==> x.name
  31. |
  32. | __getitem__(...)
  33. | x.__getitem__(y) <==> x[y]

Python 文件结构

  1. #!/usr/bin/python2.6 # (1)起始行
  2. #coding=utf-8 #mod.__doc__ 引用类的文档
  3. #"this is test module" (2)模块文档(文档字符串)
  4. import sys #(3)模块导入
  5. import os
  6.  
  7. debug = true
  8. name = "Tom" #(4)全局变量
  9.  
  10. class FooClass(object): #(5)类定义(若有)
  11. "Foo class"
    pass
  12.  
  13. def test():
      "test function"
  14.   foo = FooClass() #将类实例化
      if debug:
        print 'ran test()'
  15. def prinName(a): #(6)函数定义(若有)
  16. print a
  17. #缩进相同的一组语句构成的一个代码块;num与之前的代码块已经毫无关系了
  18. num = 4
  19. print num
  20. print prinName(name)
  21.  
  22. if __name__ == '__main__'#(7)主程序
    test()
    prinName()

Python文件主程序
1、主程序
无论当前模块是被别的模块导入还是作为脚本直接执行,都会执行这部分代码
2、注意:所有的模块都有能力执行代码
最高级别的python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
3、妥当的做法:除了那些真正需要执行的代码之外,所有的功能代码都通过函数建立,因此
仅在主程序模块中编写大量的顶级可执行代码
用于被导入的模块只应该存在较少的顶级执行代码
4、__name__指示模块应该如何被加载 每一个模块都有一个名为__name__的内建变量,此变量值会根据调用此模块的方式发生变化
如果模块是被导入,__name__的值是模块的名字
如果模块是直接执行,__name__的值是"__main__":

Pyhton 编程风格的更多相关文章

  1. C++服务器开发之基于对象的编程风格

    Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include <pthread.h> #include <boost/functio ...

  2. ES6深入学习记录(三)编程风格

    今天学习阮一峰ES6编程风格,其中探讨了如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 v ...

  3. 个人c语言编程风格总结

    总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...

  4. Google Java编程风格指南

    出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...

  5. 编程风格(Coding Style)要求

    编程风格(Coding Style)要求2.1.1 文件(1) 每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同.(2) 每个设计文件开头应包含如下注释内容:? 年份 ...

  6. Javascript编程风格

    Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它 ...

  7. Google Java编程风格指南中文版

    作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...

  8. 《C#编程风格》还记得多少

    开始实习之后,才发现自己是多么地菜.还有好多东西还要去学习. 公司很好,还可以帮你买书.有一天随口问了一下上司D,代码规范上面有什么要求.然后D在Amazon上面找到了这本书<C#编程风格(Th ...

  9. Java学习笔记(四)——google java编程风格指南(上)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

随机推荐

  1. 树莓派指定静态IP

    1.备份并清空 interfaces 文件 cp /etc/network/interfaces /etc/network/interfaces.bak vi /etc/network/interfa ...

  2. java基础18 String字符串和Object类(以及“equals” 和 “==”的解析)

    一.String字符串 问:笔试题:new String("abc")创建了几个对象?答:两个对象,一个对象是 位于堆内存,一个对象位于字符串常量池 class Demo17 { ...

  3. centos7.2下caffe的安装及编译

    1.前期准备 安装依赖 sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5 ...

  4. javaweb作业二

    作业:1.书写servlet的类架构及重要方法.(ServletConfig,Servlet)<---GenericServlet(getInitParameter(String str);in ...

  5. CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析

       Adobe Acrobat和Reader都是美国Adobe公司开发的非常流行的PDF文件阅读器. 基于Window和Mac OS X的Adobe Reader和Acrobat 9.4之前的9.x ...

  6. CentOS7.5安装MongoDB4.0与CRUD基本操作

    一 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数 ...

  7. 【51nod】1531 树上的博弈

    题解 我们发现每次决策的时候,我们可以判断某个点的决策,至少小于等于几个点或者至少大于等于几个点 我们求最大值 dp[u][1 / 0] dp[u][1]表示u这个点先手,至少大于等于几个点 dp[u ...

  8. USACO 4.4 Pollutant Control (网络流求最小割割集)

    Pollutant ControlHal Burch It's your first day in Quality Control at Merry Milk Makers, and already ...

  9. 在VMware虚拟机中安装Mac OS 操作系统

    1. 安装VMware 我这里是安装VMWARE12.exe,其他的版本我不知道是否可以正常运行,最好大家安装12版本的比较好. 2. 安装 Mac OS X Unlocker for VMware ...

  10. 全文搜索引擎 Elasticsearch (二) 使用场景

    1.场景—:使用Elasticsearch作为主要的后端 传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力.这是因为早期的搜索引擎不能提供耐用的​​存储或其他经常需要的功能 ...