概述
Python基本语法
1. 变量
1.1 同时定义多个变量
- 同时定义多个变量并赋相同的值
语法:变量名1 = 变量名2 = 变量名3 = ... = 数据
例 1.1.1:
x = y = z = 0
- 同时定义多个变量赋不同的值
变量名1, 变量名2, 变量名3, ... = 数据1, 数据2, 数据3, ...
例 1.1.2:
name, age, gender = '小明', 25, '男'
注:变量的个数和数据的个数要保持一致
1.2 变量重新赋值
将新的数据重新赋值给已经赋值过的变量
例 1.2.1:
score = 100 # 定义变量score,并将100赋值给score
print(score) # 此时变量里存储的数据为100
score = 99 # 将99重新赋值给score
print(score) # 此时变量里存储的数据为99
1.3 定义变量和变量赋值的原理
内存单位:
bit(位)
1byte(字节)=8 bit
1Kb=1024byte
1Mb=1024Kb
1Gb=1024Mb
1Tb=1024Gb
在Python中定义变量时,先根据被保存数据需要的内存大小申请内存(运行内存),然后将变量与内存区域关联;在重新赋值时,先根据新数据需要的内存大小申请内存,然后将变量与新的内存区域关联,并将旧数据存储区销毁。
d函数:获取变量的内存地址。
语法:id(变量)
在Python中,定义变量时申请内存大小跟数据类型无关,只跟数据需要的内存大小相关。
优点:不考虑数据类型,不会因为数据过大或过小导致内存溢出或浪费。
缺点:效率较低。
2.运算符
2.1 数学运算符
在Python中,数学运算符包括以下几种:
+ 、- 、* 、/ 、% 、// 、**
2.1 +、 -、*、/、和数学中功能相同
例 2.1.1:
print(11 + 16)
print(3 - 8)
print(2 * 5)
print(8 / 5)
注:除法运算的结果是浮点数
2.2 % 取余(取模)
语法:print(x % y) #求x除以y的余数,不会得到x除以y的商。
在程序中的应用:
- 判断两个数是否存在整除关系(判断两个数的余数是否为零);
- 取整数的低位数(对10**n取余,n为需要获取的位数);
例 2.2.1:
if (10 % 2):
print(True) #判断10与2之间是否存在整除关系
num = 158
print(num % 100) #取158的个位数
-
// 整除(商向小取整)
如果运算结果是小数,则取结果相邻两个整数中小的整数。
在程序中的应用:去除低位数(对10**n整除,n为需要去除的位数)
例 2.2.2:
num = 358
print(num // 100) #去除个位数
2.3 幂运算
语法:x ** y 求x的y次方
例 2.3.1:
print(8 ** 5) #求8的5次方
print(1.8 ** 9) #求1.8的9次方
print(2 ** (1/3)) #求2的3次方根(开方)
2.4 比较运算符
所有的比较运算符运算结果都是布尔值(bool),即运算结果为True或False。
> 大于
< 小于
== 等于
!= 不等于
<= 小于等于
>= 大于等于
在Python中,比较运算符支持连写表示范围
例 2.4.1
print(1 > 2)
print(2 < 6)
print(2 == 8)
print(8 != 8)
print(88 >= 22)
print(48 <= 5585)
print(1 <= 2 <= 6)
2.5 逻辑运算符
表示几个条件之间的逻辑关系。
and 逻辑与运算,用于需要多个条件同时满足。 语法:条件1 and 条件2 and ...。
只有两个条件都是True时,运算结果才为True;只要有一个条件是False,运算结果就为False。
or 逻辑或运算,用于多个条件只需满足其中之一。语法:条件1 or 条件2 or ...。
只要有一个条件是True,运算结果就为True;所有条件均为False时,运算结果才为False。
not 逻辑非运算,当一个条件正向写很复杂,反向写会变得简单时,用not对反向条件进行否定,达到正向实现条件的目的。语法:not 条件。
- 短路操作:不被执行的程序
- and的短路:如果第一个条件False(不成立),则由and连接的后续条件不会被执行。
- or的短路:如果第一个条件True(成立),则由or连接的后续条件不会被执行。
重要结论:在Python中,任何类型的数据都有布尔值,除了 0(零值)和 None (空值)是False以外,其他都是True
验证:
print(bool(0), bool(0.0), bool(''), bool(None))
print(bool(8), bool('jj'), bool(0.2))
执行结果:
- 逻辑运算符的通用运算规则
- 当数据1(非布尔值) and 数据2(非布尔值)或 数据1(非布尔值) or 数据2(非布尔值)时,得到的运算结果必然是数据1或数据2;
- 当 not 数据(非布尔值)时,得到的数据必然是布尔值。
- 结合重要结论可以得出运算结果
例 2.5.1
print(7 and 8) #根据重要结论可知,7为True,则输出结果为8
print(7 or 8) #根据重要结论可知,7为True,则输出结果为7
print(not 8) #根据重要结论可知,8为True,则输出结果为Flase
验证结果:
1.6 赋值运算符
在Python中,赋值运算符包括:
= 、 += 、-= 、*= 、/= 、%= 、//= 、**=
-
赋值运算符的作用不是计算出一个结果,而是将数保存到变量当中;
-
所有的赋值运算符左边必须是变量,右边可以是任何有结果的表达式、函数表达式、各类数据;
-
赋值语句的运算表达式是没有结果的,不能打印。
语法: 变量 + 赋值运算符 + 数据
变量 = 数据 将数据赋值给变量
变量 += 数据 将变量中保存的数据和+=后面的数据进行加法运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 -= 数据 将变量中保存的数据和-=后面的数据进行减法运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 *= 数据 将变量中保存的数据和*=后面的数据进行乘法运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 /= 数据 将变量中保存的数据和/=后面的数据进行除法运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 %= 数据 将变量中保存的数据和%=后面的数据进行取余运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 //= 数据 将变量中保存的数据和//=后面的数据进行整除运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
变量 **= 数据 将变量中保存的数据和**=后面的数据进行幂运算,将运算结果重新赋值给签名的变量(复合赋值运算符前的变量必须是已经赋值过的变量)
2.7 运算符的优先级
- 运算符优先级:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
- 数学运算符中:有括号先算括号里的,先算幂运算(**),再算乘除、取余(//)、整除(%),最后算加减。
注:如果布尔数据参与了数学运算,那么False表示0,True表示1。
验证:
num1 = 100 + False
print(num1)
num2 = 100 + True
print(num2)
验证结果:
总结
以上就是今天学习的全部内容,通过今天的学习,深入的认识了各类运算符在程序当中的应用场景,并根据不同的场景练习加深了对各类运算符的记忆,加强了对各类运算符的运用。同时了解了定义变量和变量赋值的基本原理,学习到了多变量同时定义的方法。但是现在对一些数学运算符和逻辑运算符的使用还不够熟练,还需要再加强练习。
最后
以上就是迷人书本为你收集整理的每日一结--0915 定义变量、变量赋值原理&运算符Python基本语法总结的全部内容,希望文章能够帮你解决每日一结--0915 定义变量、变量赋值原理&运算符Python基本语法总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复