1.1 良好的代码格式
良好的代码格式可以提升代码的可读性,与其他语言不通,不符合格式规范的python代码在运行期间很有可能因为存在语法问题,从而导致产生错误。
1.1.1 注释
注释可分为单行注释和多行注释
#单行注释#
以"#"号开头,用于说明当前行或之后代码的功能的就是‘单行注释’。单行注释既可以独占一 行,也可以位于标识的代码之后,雨标识的代码共占一行。
# 第一个注释
print(Hello,Python)# 第二个注释
#多行注释#
由三对双引号或单引号包裹的语句就是'多行注释',主要用于说明函数或类的功能。
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout,flush=False)
"""
1.1.2 缩进
Python代码的缩进可以通过Tab键控制,也可以使用空格控制。空格是Python3首选的缩进方法,一般使用4个表示一级缩进;Python3不允许混合使用Tab和空格。
if Ture:
print("Ture")
else:
print("False")
print("False")
1.1.3 语句换行
Python官方建议每行代码不超过79个代码,若代码过长应该换行。Python会将圆括号,中括号和大括号中的行进行隐式链接,我们可以根据这个特点实现过长语句的换行显示。
string=("Python是一种面向对象,解释型计算机设计语言,"
"由Guido van Rossum 于1989年底发明。"
"第一个公开发行版发行于1991年,"
"源代码同样遵循GPL(GNU General Public License) 协议。" )
1.2.1 标识符
若希望在程序中表示一些事物,开发人员需要自定义一些符号和名称,这些符号和名称叫做标识符。Python中的标识符需要遵守一定的贵规则。
命 ● 标识符由字母下划线和数字组成,且数字不能开头。
名 ● Python中的标识符是区分大小写的。例如,andy和Andy是不同的标识符。
规 ● Python中的标识符不能使用关键字。
则
1.2.2 关键字
关键字是Python已经使用的,不允许开发人员重复定义的标识符。Python3中一共有35个关键字,每个关键字都有不同的作用。在Jupyter单元格中执行"help("关键字")"可查看关键字的声明。
1.3.1 变量
标识内存单元的标识符又称为变量名,Python通过赋值运算符“=”将内存单元中存储的数值与变量名建立联系,即定义变量,具体语法格式如下:变量 = 值。例如:
data=100
1.3.2 数据类型
根据数据存储形式的不同,数据类型分为基础的数字类型和比较复杂的组合类型,其中数字类型又分为整型、浮点型、布尔类型和复数类型;组合类型分为字符串、列表、元组、字典等。
Python内置的数字类型有整型(int)、浮点型(float)、复数类型(complex)和布尔类型(bool),其中int、float和complex分别对应数学中的整数、小数和复数;bool类型比较特殊,它是int的子类,只有True和False两种取值。数字类型的示例如下:
● 整型: 0 101 -239 False True
● 浮点型: 3.1415 4.2E-10 -2.334E-9
● 复数类型: 3.12+1.2.3j -1.23-93j
● 布尔类型: True False
字符串是一个由单引号,双引号或者三引号包裹的,有序的字符集合。例如:
● 使用单引号包含: 'Python123¥'
● 使用双引号包含: "Python4*&%"
● 使用三引号包含: '''Python s1 ~(())'''
1.3.3 变量的输入与输出
程序要实现人机交互功能,需能从输入设备接收用户输入的数据,也需要向显示设备输出数据。
input()函数用于接收用户键盘输入的数据,返回一个字符串类型的数据,其语法格式如下所示:
input([prompt])
prompt表示函数的参数,用于设置接收用户输入时的提示信息。
input示例:
#输入
name=input("请输入您的姓名:")
print(name)
结果为:请输入您的姓名:李四
李四
print()函数用于向控制台中输出数据,它可以输出任何类型的数据,其语法格式如下
所示:
print(*objects, sep=' ', end='\n', file=sys.stdout)
print示例:
#输出
print('123456')
print('这是字符串类型')
print('123.456789')
结果:
123456789
这个是字符串
123.456789
1.4.1 整数型
整数类型(int)简称整型,它用于表示整数。整型常用的计数方式有4种,分别是二进制(以“0B”或“0b”开头)、八进制(以数字“0o”或“0O”开头)、十进制和十六进制(以“0x”或“0X”开头)。以4种计数方式表示整型数据5 。例如:
● 0b101 # 二进制
● 0o5 # 八进制
● 5 # 十进制
● 0x5 # 十六进制
为了方便使用各进制的数据,Python中内置了用于转换数据进制的函数:bin()、oct()、int()、hex(),关于这些函数的功能说明如下。
函数 | 说明 |
bin(x) | 将x转换为二进制数据 |
oct(x) | 将x转换为八进制数据 |
int(x) | 将x转换为十进制数据 |
hex(x) | 将x转换为十六进制数据 |
整数示例:
dec=15
b = bin(dec)
o = oct(dec)
h = hex(dec)
print("转其他进制结果:",dec,b,o,h)
print("转进制函数的返回结果类型:",type(b),type(o),type(h))
print("转回十进制:",dec,eval(b),eval(o),eval(h))
结果:
转其他进制结果: 15 0b1111 0o17 0xf
转进制函数的返回结果类型: <class 'str'> <class 'str'> <class 'str'>
转回十进制: 15 15 15 15
1.4.2 浮点型
浮点型(float)用于表示实数,由整数和小数部分(可以是0)组成例如,3.14、0.9等。较大或较小的浮点数可以使用科学计算法表示。
科学计数法会把一个数表示成a与10的n次幂相乘的形式,数学中科学计数法的格式为:
a×10n (1≤|a|<10,n∈N)
Python程序中省略“×”,使用字母e或E代表底数10,示例如下:
● -3.14e2 # 即-314
● 3.14e-3 # 即0.00314
1.5 运算符
Python运算符是一种特殊的符号,主要用于实现数值之间的运算。根据操作数数量的不同,运算符可分为单目运算符、双目运算符;根据运算符的功能,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和成员运算符。
1.5.1 算术运算符
Python中的算术运算符包括+、-、*、/、//、%和**。以操作数a = 2,b = 8为例对算术运算符进行使用说明。
运算符 | 功能说明 | 示例 |
+ | 加:使用两个操作相加,获取操作数的和。 | a+b,结果为 10 |
- | 减:使用两个操作相减,获取操作数的差。 | a-b,结果为 -6 |
* | 乘:使用两个操作相乘,获取操作数的积。 | a*b,结果为 16 |
/ | 除:使用两个操作相除,获取操作数的商。(除数不能为0) | a/b,结果为 0.25 |
// | 整除:使用两个操作相除,获取商的整数部分。 | a//b,结果为 0 |
% | 取余:使两个操作数相除,获取余数 | a%b,结果为 2 |
** | 幂:使用两个操作数进行幂运算,获取a的b次幂 | a**b,结果为 256 |
Python中的算术运算符既支持对相同类型的数值进行运算,也支持对不同类型的数值进行混合运算。在混合运算时,Python会强制将数值的类型进行临时类型转换,这些转换遵循如下原则:
● 整型与浮点型进行混合运算时,将整型转化为浮点型。
● 其他类型与复数运算时,将其他类型转换为复数类型。
赋值运算符的作用是将一个表达式或对象赋值给一个左值。左值是指一个能位于赋值运算符左边的表达式,它通常是一个可修改的变量,不能是一个常量。例如将整数3赋值给变量num:num=3。
赋值运算符允许同时为多个变量赋值
x = y = z = 1 # 变量x、y、z均赋值为1
1.5.2 赋值运算符
Python中的算术运算符可以与赋值运算符组成复合赋值运算符,赋值运算符同时具备运算和赋值两项功能。以变量num为例, Python复合赋值运算符的功能说明及示例如下:
Python3.8中新增了一个赋值运算符——海象运算符“:=”,该运算符用于在表达式内部为变量赋值,因形似海象的眼睛和长牙而得此命名。
num_one = 1
# 使用海象运算符为num_two赋值
result = num_one + (num_two:=2)
print(result)
1.5.3 比较运算符
比较运算符也叫关系运算符,用于比较两个数值,判断它们之间的关系。Python中的比较运算符包括==、!=、>、<、>=、<=,它们通常用于布尔测试,测试的结果只能是True或False。以变量x=2,y=3为例,具体如下:
1.5.4 逻辑运算符
Python中分别使用“or”,“and”,“not”这三个关键字作为逻辑运算符,其中or与and为双目运算符,not为单目运算符。以x=10,y=20为例,具体如下:
1.5.5 成员运算符
成员运算符in和not in用于测试给定数据是否存在于序列(如列表、字符串)中,关于它们的介绍如下:
in:如果指定元素在序列中返回True,否则返回False。
not in:如果指定元素不在序列中返回True,否则返回False。
成员运算符示例:
a = 0
b = 2
list = [1, 2, 3, 4, 5]
if (a in list):
print("变量a在列表list中")
else:
print("变量a不在列表list中")
if (b not in list):
print("变量b不在列表list中")
else:
print("变量b在列表list中")
结果:
变量a不在列表list中
变量b在列表list中
1.5.6 位运算符
位运算符用于按二进制位进行逻辑运算,操作数必须为整数。下面介绍位运算符的功能,并以a=2,b=3为例进行演示,具体如下:
按位左移(<<)是指将二进制形式操作数的所有位全部左移n位,高位丢弃,低位补0。以十进制9为例,9转为二进制后是00001001,将转换后的二进制数左移4位。
按位右移(>>)是指将二进制形式操作数的所有位全部右移n位,低位丢弃,高位补0。以十进制8为例,8转换为二进制后是00001000,将转换后的二进制数右移2位。
按位与(&)是指将参与运算的两个操作数对应的二进制位进行“与”操作。当对应的两个二进制位均为1时,结果位就为1,否则为0。以十进制9和3为例,9和3转换为二进制后分别是00001001和00000011。