变量和数据结构
# 变量和数据结构
# 注释
# 单行注释
# 注释内容,但只能注释一行内容
1
# 多行注释
"""
多行注释的一种写法
"""
'''
多行注释的第二种写法
'''
1
2
3
4
5
6
2
3
4
5
6
注释的意义在于便于维护代码
应用习惯于:单行注释注释一行代码,多行注释注释多行代码
# 变量
变量名定义,要满足标识符命名规则
- 由数字、字母、下划线组成
- 不能由数字开头
- 不能使用内置关键字
- 严格区分大小写
# python的一些关键字
False None True and
as assert break class
continue def del elif
else except finally for
from global if import
in is lambda nonlocal
not or pass raise
return try while with yield
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 数据类型
数据类型 | 描述 | |
---|---|---|
数值类型Number(int、float) | 整型和浮点型 | 10、10.1 |
布尔类型bool(True、False) | 正值和假值 | True、False |
str | 字符型 | "yuadh" |
list | 列表 | [3,7,2,1] |
tuple | 元组 | (4,8,3,2) |
set | 集合 | {10,20,30} |
dict | 字典 | {'name':'yuadh','age':22} |
# 数据类型检测
type(变量)
可以检测数据变量的数据类型,
# 输出格式化
# 基本输出
- 格式化符号
- f - 字符串
格式化符号 | 转换类型 |
---|---|
"%s" | 字符串 |
"%d" | 有符号的十进制整数 |
"%f" | 浮点数 |
"%c" | 字符 |
"%u" | 无符号十进制整数 |
"%o" | 八进制整数 |
"%x" | 十六进制整数小写 |
"%X" | 十六进制整数大写 |
"%e" | 科学计数法小写e |
"%E" | 科学计数法大写E |
"%g" | %f和%e合并的简写 |
"%G" | %f和%E合并的简写 |
示例
age = 18
name = 'tom'
weight = 77.7
stu_id = 1
print('my age is %d' % age)
print('my name is %s' % name)
print('my weight is %.3f' % weight) #保留几位小数%[.n]f
print('my stu id is %03d' % stu_id) #格式输出自动补零
print('my name is %s, age is%d,weight is %.2f,stu_id is %2d' %(age,name,weight,stu_id)) #多变量格式化输出
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
扩展格式化字符串
以上的示例中,也可以全部使用 str
的形式输出
# f格式化字符串
print(f'my name is {name}, age is {age},weight is {weight},stu_id is {stu_id}') #多变量格式化输出
1
# 转义字符
# 指定输出结束符
print('hello',end='\n')
print('hello',end='\t')
print('hello',end='...')
print('hello')
#console
hello
hello hello...hello
1
2
3
4
5
6
7
2
3
4
5
6
7
# 输入数据
input("提示信息")
1
- 遇到
input
,等待输入 - 输入的数据类型都是字符串,可以用变量来接收
# 转换数据类型
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag 为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个Unicode字符 |
ord(x ) | 将一个字符转换为它的ASCII整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
# 运算符
- 算术运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符
# 算术运算符
运算优先级的顺序是递增的
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果为 2 |
- | 减 | 1-1 输出结果为 0 |
* | 乘 | 2 * 2 输出结果为 4 |
/ | 除 | 10 / 2 输出结果为 5 |
// | 整除 | 9 // 4 输出结果为2 |
% | 取余 | 9 % 4 输出结果为 1 |
** | 指数 | 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2 |
() | 小括号 | 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9 |
# 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将= 右侧的结果赋值给等号左侧的变量 |
单变量赋值
num = 1 print(num)
1
2多变量赋值
num1, float1, str1 = 10, 0.5, 'hello world' print(num1) print(float1) print(str1)
1
2
3
4多变量赋相同值
a = b = 10 print(a) print(b)
1
2
3
# 复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
# 比较运算符
比较运算符也叫关系运算符, 通常用来判断。
运算符 | 描述 | 实例 |
---|---|---|
== | 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True |
!= | 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True |
> | 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a > b) 为 True |
< | 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False |
>= | 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True |
<= | 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=3,b=3,则(a <= b) 为 True |
# 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
习惯于用小括号把需要判断的语句括起来,防止歧义
逻辑运算符的返回值
a = 0
b = 1
c = 2
# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48