[toc] 一、python语法

python定义变量不需要声明数据类型,使用方法:变量名 = 变量值,直接使用“=”对变量进行赋值

[toc] 二、数据类型

python定义变量不需要赋值,但不代表他不区分数据类型,各数据类型赋值如下:

# 整形赋值语句
int_num1 = 123
print(type(int_num1))

# 浮点型赋值语句 ()
float_num = 1.23
print(type(float_num))

# 布尔型赋值语句 (true / false)
bool_flag = True
print(type(bool_flag))

# 字符型赋值语句 (一般用单引号'',或者双引号""把字符串包裹起来)
str1 = "这是一个字符串"
print(type(str1))

使用print(type())打印输出,查看变量的数据类型

img

[toc] 三、变量

[toc] 1、变量的使用

python的变量标识符(变量名)只能用数字字母下划线(a-z,A-Z,0-9,_)进行命名,不能以数字开头(划重点!!!),也不能使用python保留的关键字进行命名(关键字见如下表格)。

序号 保留字 说明
1 and 逻辑与操作,用于表达式运算
2 as 用于转换数据类型
3 assert 用于判断变量或条件表达式的结果
4 async 用于启用异步操作
5 await 用于异步操作中等待协程返回
6 break 中断循环语句的执行
7 class 定义类
8 continue 继续执行下一次循环
9 def 定义函数或方法
10 del 删除变量或序列的值
11 elif 条件语句,与 if、else 结合使用
12 else 条件语句,与 if、else 结合使用;也可用于异常或循环语句
13 except 包含捕获异常后的处理代码块,与 try、finally 结合使用
14 False 含义为“假”的逻辑值
15 finally 包含捕获异常后的始终要调用的代码块,与 try、except 结合使用
16 for 循环语句
17 from 用于导入模块,与 import 结合使用
18 global 用于在函数或其他局部作用域中使用全局变量
19 if 条件语句,与 elif、else 结合使用
20 import 导入模块,与 from 结合使用
21 in 判断变量是否在序列中
22 is 判断变量是否为某个类的实例
23 lambda 定义匿名函数
24 None 表示一个空对象或是一个特殊的空值
25 nonlocal 用于在函数或其他作用域中使用外层(非全局)变量
26 not 逻辑非操作,用于表达式运算
27 or 逻辑或操作,用于表达式运算
28 pass 空的类、方法或函数的占位符
29 raise 用于抛出异常
30 return 从函数返回计算结果
31 True 含义为“真”的逻辑值
32 try 测试执行可能出现异常的代码,与 except, finally 结合使用
33 while 循环语句
34 with 简化 Python 的语句
35 yield 从函数依次返回值

[toc] 2、变量的输出

[toc](1)直接输出

# 定义一个变量a,赋值为"hello, world"
a = "hello, world"

# 输出变量a的值
print(a)

# 定义一个变量b,赋值为5
b = 5

# 输出变量b
print(b)

[toc] (2)格式化输出

[toc] 1、format的基本使用

语法:

<模板字符串>.format(参数1,参数2,······)

format里面的参数,对应的是模板字符串中的“{}”

实操:

print("{} {} {}".format(1, 2, 3))
# 输出结果:1, 2, 3

print("小明考试成绩为:{},排名:{}".format(90, 3))
# 输出结果:小明考试成绩为:90,排名:3

[toc] 2、format的进阶使用

类型 描述
a 将字符串按Unicode编码输出
b 将一个整数格式化为一个二进制数
c 将一个整数解释为一个二进制数
d 将整数格式化为十进制的整数
e 将十进制数格式化为科学计数法形式,用小写字母 e 表示
E 将十进制数格式化为科学计数法形式,用大写字母 E 表示
f 将十进制数格式化为浮点数,会将特殊值(nan和inf)转换为小写
F 与 f 的功能江铜,只是将特殊值(nan和inf)转换为大写
g 会根据整数值的位数,在浮点数和科学计数法之间,在整数位超过6位时,与 e 相同,否则与 f 相同
G 与 g 的功能相同,只是科学计数法中的 E 以及特殊值会大写
o 将一个整数格式化位八进制数
s 按原样格式化为字符串
x 将一个整数格式化为十六进制数,字符部分用小写
X 与 x 的功能相同,只是字母部分用大写
% 将数值格式化为百分比格式

实例:

s = "hello"
f = 123.456789

# 输出的字符串变量 s 输出宽度为10,默认左对齐
print("***{:10}***".format(s))      # 运行结果:***hello     ***

# 输出的字符串变量 s 居中对齐、输出宽度为10 且使用"?"填充
print("***{:?^10}***".format(s))    # 运行结果:***??hello???***

# 输出f,小数点后保留2位小数
print("{:.2f}".format(f))           # 运行结果:123.46

# 输出f,小数点后保留4位小数,并且右对齐、输出宽度为15,用*填充
print("{:*>15.4f}".format(f))       # 运行结果:*******123.4568

# 多个参数,以槽的格式控制按序号对应参数替换
print("{0} 的 {2} 成绩是:{1} 分".format("小明", 95, "语文"))      # 运行结果:小明 的 语文 成绩是:95 分

[toc] 3、变量的运算

# 变量的 加减乘除( + - * / )
x = 10
y = 20

a = x + y
b = x - y
c = x * y
d = x / y
print("结果为 加:{},减:{},乘:{},除:{}".format(a, b, c, d))
# 代码运行结果:结果为 加:30,减:-10,乘:200,除:0.5

[toc] 4、导入库

在变量运算中,可能会使用一些开根号,求立方的多种运算,math库是python提供的内置数学类函数库,支持各种类型整数和浮点数的运算,math库中的函数不能直接使用,需要使用关键字 import 来引用该库。

# 导入math库,方便使用math库中的函数
# 导入方法1:import 库名,引用函数时为:库名.函数名
import math
# 导入方法2:form 库名 import 函数名 ,引用函数时,直接使用函数名
# form math import sqrt

a = 9
# 使用 sqrt() 函数,输出 a 变量的平方根
print(math.sqrt(a))

# 输出圆周率
print(math.pi)

# 输出 a 变量的绝对值
print(math.fabs(a))

代码运行结果:

3.0
3.141592653589793
9.0

[toc] 四、变量的内置函数与条件表达式

python不仅提供了加减乘除,还有另外的4种基本运算符(商,余数,幂,负值)

x = 10
y = 20

# 求 x 与 y 的商,然后取整.
a = x // y
print(a)

# 求 x 与 y 之间的余数,也成为取模运算
b = x % y
print(b)

# 求 x 的 y 次幂
c = x ** y
print(c)

# 求 x 的负值
d = -x
print(d)

代码运行结果:

0
10
100000000000000000000
-10

[toc] 五、运算符

[toc] 1、位运算符

位运算符 说明 使用形式 举 例
& 按位与 a & b 4 & 5
\ 按位或 a \ b 4 \ 5
^ 按位异或 a ^ b 4 ^ 5
~ 按位取反 ~a ~4
<< 按位左移 a << b 4 << 2,表示整数 4 按位左移 2 位
>> 按位右移 a >> b 4 >> 2,表示整数 4 按位右移 2 位

[toc] 2、比较运算符

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等。python3 已废弃。 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

[toc] 3、逻辑运算符

逻辑运算符 含义 基本格式 说明
and 逻辑与运算,等价于数学中的“且” a and b 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or 逻辑或运算,等价于数学中的“或” a or b 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not 逻辑非运算,等价于数学中的“非” not a 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

[toc] 六、选择结构与循环结构

[toc] 1、单分支选择结构

[toc] 实例:

# 从键盘上输入一个数字,如果小于0,则输出他的相反数
a = int(input("请输入一个数字:"))

if (a < 0):
    print(a * -1)

代码运行结果:

请输入一个数字:-11
11

[toc] 2、多分支选择结构

[toc] 实例一

# 从键盘上输入一个数字,如果大于0,则输出它本身,否则输出它的相反数
a = int(input("请输入一个数字:"))

if (a >= 0 ):
    print(a)
else:
    print(a * -1)

代码运行结果

请输入一个数字:11
11

请输入一个数字:-11
11

[toc] 实例二

# 从键盘上输入一个数字,分数由百分制划分为五级
# 如输入的数字为61,判断score >= 90, 结果为假,再次判断 score >= 70,结果为假,再次判断,日次类推,判断到结果为真时结束判断,输出结果为"合格"

score = int(input("请输入分数:"))

if(score >= 100):
    print("优秀")
elif(score >= 80):
    print("较好")
elif(score >= 70):
    print("良好")
elif(score >= 60):
    print("及格")
else:
    print("不及格")

代码运行结果:

请输入分数:65
及格

[toc] 3、while语句

while语句,一般使用在不固定次数的循环语句中,其基本语法为:

while (条件表达式):
    # 代码块

当条件为 true 时,while里的代码块会重复执行,直到当条件为 false 时,才会终止while的循环,执行后续代码。例如:

k = 2
while (k < 5):
    print(k)
    k += 1

代码运行结果:

2
3
4

[toc] 实例:

要求:定义一个变量 i 并将其赋值为 1 ,,使用 while 进行判断,输出 小于10 的所有数字。

代码:

i = 1
while (i < 10):
    print(i)
    i += 1

代码运行结果:

1
2
3
4
5
6
7
8
9

[toc] 4、for语句

for语句通常用于执行固定次数的循环。其基本语法结果是:

for 变量 in 列表:
    # 代码块

例:

arr = [1, 2, 3, 4, 5]
for i in arr:
    print(i)

运行结果:

1
2
3
4
5

[toc] 实例:

1、遍历字符串 “abcdef”

代码:

for i in "abcdef":
    print(i)

运行结果:

a
b
c
d
e
f

[toc] 第二章练习

[toc] 习题

使用for循环,打印出一个99乘法表。

代码:

for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\t'.format(j, i, i*j), end='')
    print()

代码运行结果:

1x1=1
1x2=2   2x2=4
1x3=3   2x3=6   3x3=9
1x4=4   2x4=8   3x4=12  4x4=16
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81