python 基础语法(第一天)


本章学习内容:


     1、python 语言的编写规范

        1.1、注释规范

        1.2、代码缩进规范

        1.3、编码规范

    

      2、保留字与标识符

         2.1、保留字

         2.2、标识符

 


 

1、python 语言的编写规范

  1.1、注释规范

  1.1.1单行注释

     单行注释使用“#”号作为单行注释的符号。#号后面的所有内容都为注释内容。语法如下:

     第一种形式:

    # 要求输入身高,单位为m 如1.70
    height = float(input("请输入您的身高:"))

    第二种形式:

    height = float(input("请输入您的身高:"))       #要求输入身高,单位为m

注意:①、在添加注释时,一定要有意义,即注释能充分解释代码功能及用途。

               ②、注释可以出现在代码的任意位置,但不能分隔关键字和标识符。

 

    多学两招 :在python 自带的 IDLF 开发环境中,快捷键 <ALT+3> 选择代码注释掉,<ALT+4> 取消注释掉的代码

 

 

   1.1.2、多行注释

       在python中,并没有一个单独的多行注释,而是将包含在一对三引号 ('''.....''')或者 ("""....""")之间,并且不属于任何语句的内容都可视为注释,这样的代码将被解释器忽略,由于这样的代码可以分为多行编写,所以称为多行注释。

       语法如下:

  

'''
   注释内容1
   注释内容2
   .....
'''

或者

"""
   注释内容1
   注释内容2
   ......
"""

注意:① 多行注释通常用来为python 文件、模块、类或者函数等添加版权、功能等信息。

           ② 在python 中,三引号('''.....''')或者(""".....""")是字符串定界符,如果三引号作为语句的一部分出现,就不是注释,而是字符串。

 

 

    1.1.3、中文编码声明注释

        该编码的出现主要是为了解决python 2.x中不支持直接写中文的问题,在python 3.x中,虽然该问不存在了,但是为了规范页面的编码,同时方便其他程序员及时了解所用的编码,建议在文件开始加上中文编码什么注释。

 语法格式如下:

# _*_ coding: 编码 _*_

或者

# coding = 编码

注意:在上面的语法中,编码为:文件所使用的字符串类型,如果采用UTF-8编码,则设置为 UTF-8 ;如果采用GBK编码,则设置为gbk或者cp936.

列如指定编码为UTF-8

 

 

 

   1.2、代码缩进规范

       说明:

       ① python 不像其他程序设计语言(如:C 语言、Java)它们采用的大括号 {} 来作为分隔代码块。而python 采用代码缩进和冒号 " : "  区分代码之间的层次。

       ② 缩进可以使用空格或<Tab>键实现,其中使用空格时,通常情况下采用4个空格作为一个缩进量,而使用 Tab 键时,则采用一个 Tab 键作为缩进量,程序员通常都采用空格进行缩进。

       ③ 在python 中,对于 类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进的结束,则表示一个代码块的结束。

列如:下面代码中的缩进为正确的缩进:

height = float(input("请输入您的身高:"))       # 输入身高
weight = float(input("请输入您的体重:"))       # 输入体重
bmi = weight/(height*height)                  # 计算BMI指数

# 判断身材是否合理
if bmi<18.5:
    print("您的BMI指数为:"+str(bmi))          # 输出BMI指数
    print("体重过轻 ~@_@~")
if bmi>1.85 and bmi<24.9:
    print("您的BMI指数为:"+str(bmi))          # 输出BMI指数
    print("正常范围,注意保持 (-_-)")
if bmi>= 24.9 and bmi<29.9:
    print("您的BMI指数为:"+str(bmi))          # 输出BMI指数
    print("您体重过重 ~@_@~")
if bmi >= 29.9:
    print("您的BMI指数为:"+str(bmi))          # 输出BMI指数
    print("肥胖 ^@_@^")

注意:在python 中,对代码缩进要求非常严格,同一级别的代码块的缩进量必须相同。如果同一级的代码块缩进量不同,运行代码时就会报 "SyntaxError" 异常错。列如:

# 判断身材是否合理
if bmi<18.5:
    print("您的BMI指数为:"+str(bmi))
   print("体重过轻")
if bmi>24.9:

这段代码中,两个 if 之间的就称为同一级的代码块,它们的缩进量就不同,就会报错。

 

多学两招:在python 自带的开发软件 "IDLE" 中,可以通过选择菜单中的 "Format"→"Indent Region"菜单项(快捷键<Ctr+]>),将选中的代码缩进(向右移动指定的缩进量)也可以通过主菜单中的 "Format"→"Dedent Region" 菜单选项(快捷键(<Ctr+[>)对代码进行反(向左)缩进。

 

 

    1.3、编码规范

       本小节将对python代码编写规则及命名规范进行介绍

       1.3.1、编写规则

           python 中采用 PEP 8 (python增强建议书的缩写,8为版本号)作为编码规范,下面介绍 PEP 8 中编码规范中的的一些应该严格遵守的条目:

           ● 每个 import 语句只导入一个模块,尽量避免一次导入多个模块。列如:

 推荐写法:

import os    # import 语句作用就是用来导入模块的,它可以出现在程序中的任何位置
import sys

 

不推荐写法:

import os,sys

● 不要在行尾添加分号 ";" 也不要用分号将两条命令放在同一行,列如:

推荐写法:

print("要么出众")
print("要么出局")

不推荐写法:

print("要么出众");print("要么出局")
 
height = float("请输入您的身高:"));
weight = float("请输入您的体重:"));

● 每行不超过80个字符,如果超过,建议使用小括号 "()" 将多行内容隐式的连接起来,而不推荐使用反斜杠 "\" 进行连接,(用反斜杠来进行换,也能正常运行)。一般超过字符的有两种情况,这两种情况如果超过了就需要换行了。如下两种情况:

          ⑴ 字符串超过80个字符;

          ⑵ 正常的语句超过80个字符;

          如果超过80个字符该怎么办,列如:

if bmi >=18.5 and (
    bmi < 24.9):

这段代码比如说是语句超过了80个字符,就在第一个括号按回车换行。(这段代码其实没有超过80个字符,是演示换行的方法用的)

如果字符串超过了怎么办,列如:

s = ("我一直认为我是一只蜗牛。我一直在爬,也许还没爬到金字塔的顶端。"
    "但是只要你在爬,就足以给自己留下生命感动的日子。")

注意:有一下两种情况不能换行:

   ① 导入模块的语句过长

   ② 注释里面的URL

   

    1.3.2 空行的使用

        ⑴ 使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,而方法定义之间空一行。另外在用于分隔某些功能的位置也可以空一行。

        ⑵ 通常情况下,运算符两侧、函数参数之间、"," 两侧建议使用空格进行分隔。

        ⑶ 应该避免在循环中使用 "+" 和 "+=" 运算符累加字符串。这是因为字符串是不可变得,这样做会创建不必要的临时对象。推荐将每个字符串加入列表,然后在循环结束后使用 join() 方法连接列表。

        ⑷ 适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。

 

    1.3.3、命名规范

        命名规范应该遵循以下几点:

        ① 模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母,列如:game_main、bmiexponet。

        ② 包名尽量短小,并且全部使用小写字母,不推荐使用下划线,列如:com.mingrisoft、com.mr、com.mr.book。

        ③ 类名采用单词的首写字母大写形式(Pascal风格),列如定义一个借书类可以命名为:BorrowBook

        ④ 模块内部的类采用下划线 "_" + Pascal风格的类名组成。列如在BorrowBook类中的内部类可以使用:_BorrowBook 命名。

        ⑤ 函数、类的属性和方法的命名规则同模块名命名一样。

        ⑥ 常量命名时全部使用大写字母,可以使用下划线。

        ⑦ 使用单下划线 "_" 开头的模块变量或函数是受保护的,比如:在使用导入语句:from ***(模块名) import 语句从模块中导入时,这些变量或者函数不能被导入的。

        ⑧ 使用双下划线 "__" 开头的实例变量或方法类是私有的。

 

 

   2、保留字与标识符

     2.1、保留字

        保留字是python语言中一些已被赋予特定意义的单词,在开发程序时,不可以把这些保留字作为:变量、函数、类、模块和其他对象的名称来使用。

 

表2.1 python 中的保留字

and

as

assert

break

class

continue

def

del

elif

else

except

finally

for

form

False

global

if

import

in

is

lambda

nonlocal

not

None

or

pass

raise

return

try

True

while

with

 

注意:所有保留字是区分字母大小写的,列如:if是保留字,而IF就不属于保留字。如果在开发程序时,使用保留字作为模块、函数、类、或者变量等的名称,则会提示报错:"invalid syntax"

 

多学两招:在IDLE中输入:

import keyword
keyword.kwlist

输出结果就可以查看python中的所有保留字。

 

   2.2、标识符

      标识符可简单的理解为一个名字,比如说每个人都有自己的名字,它主要是用来标识:变量、函数、类、模块和其他对象的名称。标识符也有命名规则如下几点:

      ① 由字母、下划线 "_"和数字组成,第一个字符不能是数字。

      ② 不能使用python中的保留字

      ③ 区分字母大小写

      说明:标识符中的字母是严格区分大小写的,两个同样的单词,如果大小写不一样,所代表的意义是完全不同的。

      ④ 在python中以下划线开头的标识符有特殊意义的,一般应避免使用相似的标识符。如一下几点:

      ● 以单下划线开头的标识符(如_width)表示不能直接访问的类属性,另外,也不能通过 "from ***(模块名) import *"导入。

      ● 以双下划线开头的标识符如:(__add)标识类的私有成员。

      ● 以双下划线开头和结尾的是python里专用的标识,如:

__init__() 标识函数构造。