Python变量与表达式详解:从常量运算到变量类型命名规则
[id_6[id_43[id_1795786252]44573]2206000]

[id_[id_1437041103]42680470]
[id_816911470] print(1 + 2 * 5) print(1 + 2 - 5) print(1 + 2 / 5) # 运行结果 8 11 -2 1.4
我们发现加减乘与其它语言基本没有区别。然而,除法在其它语言(如 C、Java)中,当整数除以整数时,结果仍为整数,即小数部分会被截断。而在 Python 中,这种情况不会被截断,这更符合人的日常计算的直觉。
2. 变量的命名规则
userName = '驼峰命名法' user_name = "蛇形命名法" _test = 10
3. 变量的类型
Python 与 C/Java 有所不同。在定义变量这一方面,它不需要明确地去指定变量的类型。而在进行赋值操作的时候,变量的类型会自动得以确定。
1)整数
tmp = 10 print(type(tmp)) # 运行结果
Python 内置有 type 函数,利用 type 可以查看一个变量的类型。需注意,与 C、Java 等语言不同,Python 的 int 类型变量,其能表示的数据范围没有上限,只要内存足够,从理论上讲可以表示无限大小的数。
tmp = 1234567891011121314 print(tmp)
Python 的 int 能够依据要表示的数据大小自动进行扩容。正因如此,Python 便没有像 long、byte/short 这类类型了。
2)浮点数
tmp = 3.14 print(type(tmp)) # 运行结果
Python 的小数类型与 C/Java 不同,Python 只有 float 一种小数类型,不存在 double 类型。然而实际上,python 就如同 C/Java 中的 double 一样,它表示的是双精度浮点数,且占 8 个字节。
3)字符串
`str1` 的值为 `hello`,对其使用 `type` 函数进行类型判断,输出其类型。接着直接输出 `str1` 的值。然后 `str2` 的值为 `world`,直接输出 `str2` 的值。helloworldastr1 = 'hello' str2 = "world" print(type(str1)) print(str1) print(str2) # 运行结果 hello world
在 python 里,字符串可以用单引号来引起来。在 python 里,字符串也可以用双引号来引起来。这两种方式在 python 中并没有什么区别。
但是出现了字符串中出现了单引号,就可以嵌套了
str3 = "hello:'java'" str4 = 'hello: "python"' print(str3) print(str4) # 运行结果 hello:'java' hello: "python"
在Python中还有一个三引号,里面可以包含单引号和双引号
"hello:'java'" 处于 test 之中。 str4 等于“test ,其中包含'hello:'java'” print(str3) print(str4) # 运行结果 test "hello:'java'" test "hello:'java' str3 = "'''test '''" str4 = '""" test """' print(str3) print(str4) # 运行结果 '''test ''' """ test """
在 Python 中,通过使用内置函数 len 来求取字符串的长度。
str1 = 'hello' str2 = "world" print(len(str1)) print(len(str2)) str3 = "'''test '''" str4 = '""" test """' print(len(str3)) print(len(str4)) # 运行结果 5 5 11 12
在 Python 中,有这样一个注意事项:只能将字符串与字符进行拼接操作。如果尝试拼接其他类型的变量,就会引发错误。
str1 = 'hello' str2 = "world" print(str1 + str2) print(str2 + str1) # 运行结果 helloworld worldhello
4)布尔类型
布尔类型属于特殊类型,它的取值仅有两种,一种是 True(真),另一种是 False(假)。
a = True b = False print(type(a)) print(type(b)) # 运行结果
如果将布尔类型与整数或浮点数类型进行运算,那么,布尔类型中的 True 表示 1,False 表示 0。
4. 动态类型特性
在 Python 里,一个变量的类型在“程序运行”期间是可以发生变化的。这种特性被称作“动态类型”。
tmp = 10 print(type(tmp)) tmp = 'test' print(type(tmp)) tmp = False print(type(tmp)) # 运行结果
5. 显示指定类型
虽然在Python不用手动指定类型,但也可以显示的指定类型
a: int = 10 b: str = 'str' c: float = 3.14
注释1. 行注释
在Python中# 开头的行都是注释
# 这是第一行注释 # 这是第二行注释
2. 文档字符串
被称为“文档字符串”的东西可以被视为一种注释。
""" 这 是 多行注释 """ ''' 这 也是多行注释 '''
输入输出1.通过控制台输出
前面已经提及使用 Python 内置的 print 函数来将数据输出到控制台。
number = 10 tmp = False print(number) print(tmp) # 输出 10 False
更多的时候, 我们希望能够输出的内容是混合了字符串和变量的
示例
name = '张三'
age = 18
打印("age = " + age)
# 运行结果
name = 张三age = 18
2. 通过控制台输入
Python 会运用 input 函数,从控制台当中去读取用户所输入的内容。
tmp = input() print(tmp)
或者有提示的输入
name = input('请输入姓名:')
age = input('请输入年龄:')
print(f'name = {name}')
print(f'age = {age}')
# 运行结果
请输入姓名:张三
请输入年龄:18
name = 张三
age = 18
因为输入的数据默认都是字符串类型的。如果有需要,就需要进行强制类型转换。
输入“请输入第一个数字:”,然后将输入的内容转换为整数并赋值给 num1 输入“请输入第二个数字:”,然后将输入的内容转换为整数赋值给 num2 。 打印出“num1 加 num2 等于 num1 与 num2 的和”。
运算符1. 算数运算符
Python 中存在七种运算符,分别是加(+)、减(-)、乘(*)、除(/)、取余(%)、幂(**)、整除(//)。
注意事项1: 0是不能作为除数的,如果作为除数就会抛出异常
print(5/0)
在 Python 中,整数除以整数时,其结果可能会是小数,因为不会进行截断操作。
print(9/4) # 执行结果 2.25
在 Python 中,//这个符号的作用等同于 C/Java 中的除号。当整数除以整数时,它会得到整数,并且会发生截断。
print(9//4) 运行结果 2
注意事项 4:“**”表示次方的意思。例如,3**4 表示的是 3 的 4 次方;它还可以表示小数次方,像 9**0.5 就表示对 9 开方。
print(3**4) print(9**0.5) 运行结果 81 3.0
注意事项5: 正对负数取余,结果会是正数
2. 关系运算符
关系运算符是用来比较两个操作数大小是否相等的。它包括“>”“>=”“==”“!=”等。
关系运算符会返回布尔值。当表达式为真时,它返回 True;当表达式为假时,它返回 False。
a = 10 b = 15 print(a > b) print(a = b) print(a关系运算符既能针对数字进行比较,也能够对字符串进行比较,还可以比较字符是否相等。
a = 'hello' b = 'hello' print(a == b) 运行结果 True可以比较字符串的大小,其比较方式是依据字典序。首先查看首字母在字母表中的顺序,首字母小的就排在前面;若首字母相同,就依次比较第二个字母、第三个字母等。
a = 'abcd' b = 'abce' print(a > b) print(a注意事项 对于浮点数来说,使用
==比较相等时存在风险,因为浮点数在内存中的存储与表示可能有误差,此误差在进行算数运算时可能被放大,进而导致==的判断出现误判a = 0.1 + 0.2 b = 0.3 print(a == b) print(a) print(b) 运行结果 False 0.30000000000000004 0.3浮点数的正确比较方式是:不进行严格的相等比较,而是判断其差值是否在允许的误差范围之内。
a = 0.1 + 0.2 b = 0.3 print(-0.0000013. 逻辑运算符
在Python中逻辑运算符为
and or nota = 10 b = 20 c = 30 print(b > a and b > c) print(b > a or b > c) print(not a > b) 运行结果 False True TruePython一种特殊写法 a 这个等价于a
短路操作 or和and都有短路
a = 10 b = 20 c = 30 print(b a or 10/0)4. 赋值运算符
链式赋值
a = b = c = 10多元赋值
a, b, c = 10, 20, 30示例:交换两个变量的值 传统写法
a = 10 b = 20 tmp = a a = b b = tmp使用多远赋值
a = 10 b = 20 a, b = b, a注意:Python中不存在像 C/Java的++、–操作
Python 中除了上述的运算符之外,还有一些其他的运算符。其中有身份运算符,像 is 和 is not ;还有成员运算符,例如 in 和 not in ;另外还有位运算符,像 &、|、~、^、> 等。
Python免费学习笔记(深入):立即学习
你将在学习笔记里探索 Python 的核心概念,同时也将在学习笔记里探索 Python 的高级技巧。