Python编程风格

前言

Python语言的编程风格我个人认为还是比较简洁的,如果你之前接触过其他的编程语言,例如C、C++、Java等语言,他们之间我感觉大同小异,不过还是有一些差异的,下面我们就来看下Python的一些基础语法。

python程序

对于python程序的入手,python给我们提供了交互式与脚本式两种学习方式,那么我们先来看一下两种方式:

交互式(linux下shell提示符下输入python)

[root@localhost ~]# python
Python 2.7.12 (default, Aug  8 2016, 09:01:20) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> 

在python交互模式下我们来试试打印一个字符

>>> print "hello world"
hello world   

脚本式

通过脚本参数来调取解释器来执行python程序,直至python程序执行完毕,那么此解释器将会退出,下面我们来看看如何通过脚本式编写程序

[root@localhost python_script]# vim PrintHello.py   
#!/usr/bin/env python 
#
print "hello python"

注意:以上的脚本/usr/bin/env python会自动去搜索PATH路径中你的python安装路径,一般适用于系统安装了不同的python版本时。

给脚本程序添加可执行权限,并执行查看输出效果

[root@localhost python_script]# chmod +x PrintHello.py 
[root@localhost python_script]# python PrintHello.py 
hello python

python语句和语法

注释

Python中单行注释使用#来注释

#!/usr/bin/python
# -*- coding: UTF-8 -*-   # python2版本默认不支持utf-8字符集
# 文件名:test.py

# 第一个注释
print "Hello, Python!";  # 第二个注释

Python中多行注释用”’或“”“来表示

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# filename:test.py


'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

续行

Python语句中一般以新行作为为语句的结束符。但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

>>> num = 1 + 2 + 3 \
... + 4 + 5 + 6 \
... + 7 + 8 + 9
>>> print num
45

代码组

缩进相同的一组语句构成一个代码块,首行以关键字开始,如if、while等,以(:)冒号结束
Python使用缩进来分隔和识别代码组,同一代码组的代码行必须严格左对齐,否则将会造成语法错误,例如语法如下:

if expression:
   statement(s)
elif expression:
   statement(s)
else:
   statement(s)

下面来使用if代码组来演示一段语句,关于 if 等语句的语法会在后续讲解。

#!/usr/bin/env python
# coding: utf-8  
# filename: test2.py
x = 1
y = 2
if x < y:  
    print "Max number is %d" % y
else:
    print "Max number is %d" % x

同一行放置多个语句

Python中可以一行写入多个语句,每个语句中间以(;)分号作为分隔符,但一般不建议这样来做。

#!/usr/bin/env python
# coding: utf-8  
# filename: test3.py
import os;x = '/root';os.path.isdir(x)

以上代码输出结果为

[root@localhost python_script]# python test3.py
True

Python标识符

标识符是计算机语言中允许作为名字的有效字符串集合. 其中有一部分是关键字,它们是语言的标识符,因此是保留字,不能用于其他用途
python还有称为”内建”的标识符集合,虽不是保留字,扔不推荐使用这些特别的名字

  • 在python中,标识符有字母、数字、下划线组成。
  • python中所有的标识符可以包括英文、数字以及下划线,但第一字符只能使用字母或下划线,不能使用数字
  • python中标识符的第二个字符可以使用字母、数字或下划线等 python中的标识符是严格区分字符大小写

Python命名惯例

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

Python保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
所有Python的关键字只包含小写字母。

andexec not
assertfinallyor
breakfor pass
classfrom print
continueglobalraise
def if return
del importtry
elif in while
else iswith
exceptlambdayield

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。

Python行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:

if True:
    print "True"
else:
    print "False"

以下代码就没有按照严格要求进行缩进,那么将会执行错误:

#!/usr/bin/env python
# coding: utf-8  
# filename: test7.py
str1 = 'hello world'
str2 = 'hello python'
if len(str1) == len(str2):  
    print "%s and %s are same." %(str1,str2)
else:
   print "%s and %s are different."% (str1,str2)
  print "quitting..."

以上代码执行结果如下报错:

[root@localhost python_script]# python test7.py 
  File "test7.py", line 10
    print "quitting..."
                      ^
IndentationError: unindent does not match any outer indentation level

Python文件结构

以下为python的整体的程序架构图,此架构图还符合PEP8的规范,对于PEP8的规范在项目中是必须严格遵守的,后续我们会讲到。

python文件结构

Python主程序

  • 无论当前模块是被别的模块导入还是作为脚本直接执行,都会执行这部分代码
    注意:所有的模块都有能力执行代码
  • 最高级别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
  • 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此
    • 仅在主程序模块中编写大量的顶级可执行代码
    • 用于被导入的模块只应该存在较少的顶级执行代码
  • __name__指示模块应该如何被加载
    • 如果模块是被其他程序导入,那么name_的值就是此模块的名字
    • 如果模块是被直接执行,那么__name__的值就为”__main__”

Python模块

每一个Python脚本文件都可以作为一个模块
模块里的代码可以是一段直接的执行的脚本,也可以是一些类似库函数的代码从而可由别的模块执行导入(import)

python基本编程风格

END

Python中基本的语法以及编程的风格基本就这么多了,对于PEP8的编程规范我个人感觉还是比较重要的,因为后续如果你做项目那么PEP8是你必须遵守的规范,后续有时间也搞一下关于PEP8的一些基本编程规范。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值