第二章Python语言基础
一、Py基本语法元素
1.程序格式框架
1.1缩进
-
识别代码块和代码的逻辑关系;(如同{ }、;、等字符)
-
一个缩进 == 1个tab键 或 4个空格键
-
相同代码块保持相同缩进
1.2注释
-
单行注释:#… 或 …#
-
多行注释:’‘’ 多行 ‘’‘
2.语法元素
2.1变量
-
保存和表示数据值 的一种语法;
-
赋值:符号 = 表达式
a = 99
a = a+1
print(a)
'''结果:
100
'''
2.2命名
-
允许使用大小写字母、数字、下划线(_)、汉字及其组合给变量命名。
-
名字首字符不能是数字;中间不能有空格;长度无限制。
-
区分大小写。
2.3保留字
3.数据类型
3.1数字类型
-
整数 == (数学)整数
-
浮点型 == (数学)实数
-
复数 == (数学)复数
(1)整数型
(2)浮点型
科学计数法使用字母e或者E作为幂的符号, 以10为基数,含义如下:
e = a*10b
(3)复数型
Py中(a,bj)表示:a+bj b=1时 不可省略;
获取虚部实部
>>>(1.23e4+5.67e4j).real
12300.0
>>>(1.23e4+5.67e4j).imag
56700.0
>>>1.23e4+5.67e4j.imag # 先获得5.67e4j的虚部,再与1.23e4进行求和计算
69000.0
4.运算
4.1数值运算
- 混合运算后数据类型规则:复数 > 浮点 > 整数(“ / ”的运算结果为浮点型)
4.2数值运算函数
4.3关系运算
>= (大于等于)
返回 x 是否大于或等于 y。
x = 4; y = 3; x>=3 返回 True。
<=
3<=4为True
== (等于)
比较两个对象是否相等。
x = 2; y = 2; x == y 返回 True。
x = 'str'; y = 'stR'; x == y 返回 False。
x = 'str'; y = 'str'; x == y 返回 True。
!= (不等于)
比较两个对象是否不相等。
x = 2; y = 3; x != y 返回 True。
4.4逻辑运算
-
not (非) and(与) or(或)
-
逻辑短路:
(1)当 x 是 False 时,y = True; x and y 将返回 False。在这一情境中,Python 将不会计算 y,因为 and 表达式的左侧是 False。
(2)x = True; y = False; x or y 将返回 True。在这里短路计算同样适用。
4.4.1运算符的结合性
-
优先级相同时,遵循此规则
-
大多数从左开始运算
-
乘方:** 和 条件表达式从右开始计算
5.语句元素
5.1条件表达式
- 形式:<表达式1> if <表达式2> else <表达式3>
(计算顺序:先计算<表达式2>的值,如果这个值为True,计算<表达式1>,否则计算<表达式3>)
5.2字符串
-
字符串是用两个双引号 “ ” 或者单 引号 ‘ ’ 括起来的
-
获取字符串的字符:[N: M]获取字符串中从N到M(但不包含M)间连续的子字符串。
-
获取字符串长度:len( ),(一个中文或英文字符长度均为 1 )
-
两种序号表达方式
(字符串长度为L,正向递增需要以最左侧字符 序号为0,向右依次递增,最右侧字符序号为L-1; 反向递减序号以最右侧字符序号为-1,向左依次递 减,最左侧字符序号为-L。)
5.3赋值语句
-
<变量> = <表达式> (右侧计算后赋值给左侧)
-
同步赋值语句:<变量1>, …, <变量N> = <表达式1>, …, <表达式N>
5.4引用
-
引用当前程序外的功能库。
-
import<功能库名称>
-
调用方法:<功能库名称> . <函数名称>()
示例:
6.基本输入输出函数
6.1 input()函数
- 形式:<变量> = input(<提示性文字>)
6.2 eval()函数
- 形式:eval(<字符串>) 执行括号内的表达式
示例:
a=eval("1.2+3.4")
print(a)
//4.6
- 与input()一起使用: <变量> = eval ( input(<提示性文字>) )
value = eval(input("请输入要计算的数值: "))
//请输入要计算的数值: 1024.256
print(value*2)
//2047.512
6.3 print()函数
- 形式1:print(<待输出字符串>)
print("世界和平")
//世界和平
- 形式2:print(<变量1>, <变量2>,…, <变量n>)
value = 123.456
print(value, value, value) 123.456 123.456 123.456
- 形式3:print(<输出字符串模板>.format(<变量1>, <变量2>,…, <变量n>))
a, b = 123.456, 1024
print("数字{}和数字{}的乘积是{}".format(a, b, a*b))
//数字123.456和数字1024的乘积是126417.944
- 形式4:对print()函数的end参数进行赋值,print(<待输出内容>, end=“<增加的输出结尾>”)
a = 24
print(a,end="%")
//24%
6.4 format()方法
插入format()方法括号里的内容给调用它的地方
-
形式:<模板字符串>.format(<逗号分隔的参数>)
用 { } 来控制字符串和变量的显示
"{}曰:学而时习之,不亦说乎。".format("孔子")
//'孔子曰:学而时习之,不亦说乎。'
- 多个 { }且无参数的序号在{}中时,按照format括号内的字符串默认顺序在 { }中显示
"{}曰:学而时习之,不亦{}。".format("孔子","说乎")
//'孔子曰:学而时习之,不亦说乎。'
- 多个{ }且有参数序号时,参数从0开始编号
"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")
//'孔子曰:学而时习之,不亦说乎。'
6.5format()方法的格式控制
目的:来控制参数显示时的格式
-
形式:{<参数序号>: <格式控制标记>}
-
格式控制标记:
示例1:
s = "软件工程"
"{:25}".format(s) #默认左对齐
//'软件工程 '
"{:^25}".format(s) #居中对齐
//' 软件工程 '
"{:>25}".format(s) #右对齐
//' 软件工程'
"{:*^25}".format(s) #居中对齐,填充*
//'**********软件工程***********'
"{:=^25}".format(s) #居中对齐,填充=
//'==========软件工程===========‘
"{:=^2}".format(s) #宽度不足,按实际输出
//'软件工程'
示例2:<.精度><类型>主要用于对数值本身的规范;<.精度>由小数点(.)开头。对于浮点数,精度表示小 数部分输出的有效位数。对于字符串,精度表示输出的 最大长度。
"{:.2f}".format(12345.67890)
//'12345.68'
"{:>25.3f}".format(12345.67890)
//' 12345.679'
"{:.5}".format("全国计算机等级考试")
//'全国计算机'
示例3:<类型>表示输出整数和浮点数类型的格式规则。
(整数型)
-
b: 输出整数的二进制方式;
-
c: 输出整数对应的Unicode字符;
-
d: 输出整数的十进制方式;
-
o: 输出整数的八进制方式;
-
x: 输出整数的小写十六进制方式;
-
X: 输出整数的大写十六进制方式;
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
//'110101001,Ʃ,425,651,1a9,1A9'
(浮点型)
-
e: 输出浮点数对应的小写字母e的指数形式;
-
E: 输出浮点数对应的大写字母E的指数形式;
-
f: 输出浮点数的标准浮点形式;
-
%: 输出浮点数的百分形式。
"{0:e},{0:E},{0:f},{0:%}".format(3.14)
//'3.140000e+00,3.140000E+00,3.140000,314.000000%'
"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) # 对比输
出
//'3.14e+00,3.14E+00,3.14,314.00%'
7.类型判断和类型间转换
- type(x):对变量进行类型判断
x = input()
//345
type(x)
//<class 'str'>
x = int(input())
//345
type(x)
//<class 'int'>
x = float(input())
//345
type(x)
//<class 'float'>
-
转换方法:
函数 描述 int(x) 将x转换为整数,x可以是浮点数或字符串 float(x) 将x转换为浮点数,x可以是整数或字符串 str(x) 将x转换为字符串,x可以是整数或浮点数