02变量和运算符

一、变量

1.语法:变量名 = 数据

变量名:

a.程序员自己命名,是标识符,不是关键字

b.规范:

见名知义:1.看见变量名就大概知道保存的什么数据

​ 2.不使用系统函数名(比如: print、input、type、…)、类名(int、float、str…)和模块名

​ 3.所有字母小写,多个单词用下划线隔开

2.数据

需要保存到变量中的具体的数据(可以是具体的某种类型的数据,也可以是某个运算的结果)

3.使用变量 - 使用变量中保存的数据

使用变量就是使用变量中保存的数据,所有数据能做的事情,保存数据的变量都可以做

注意:变量必须先定义再使用

4.同时定义多个变量

1)变量名1, 变量名2,变量名3 ,…= 数据1,数据2,数据3… -同时定义多个变量赋不同的值

2)变量名1=变量名2=变量名3 ,…= 数据 -同时定义多个变量赋相同的值

3)交换两个变量的值

#方法1
m = 200
n = 100
m,n = n,m
print(m,n) # 100 200
#方法2
t = m #t=200
m = n #m =100
n = t #n =200

4)变量重新赋值

​ 1.定义完变量以后可以重新给变量赋值,重新赋值以后再使用变量,使用的是新的值

​ 2.重新赋值的时候可以赋不同类型的值

5.变量的底层逻辑

1.python变量存储数据和重新赋值的底层

python和C定义变量的区别:

C:c语言定义变量的时候要先申请内存,内存申请的大小由数据的类型决定。

python:python定义变量的时候会先申请内存,内存申请多大看数据需要多大,申请完内存后将数据保存到内存中。然后再将变量和对应的内存进行关联。

重新给变量赋值的时候,会根据新的值重新申请新的内存,然后将新的数据保存到新的内存中,最后将变量和新的内存关联。

id函数 – 获取变量对应的内存地址

a = 10
print(id(a))

二、运算符

1、数学运算符

+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)

特点:

1.+、-、*、/和数学中的+、-、×、÷的功能一样

如果运算对象中有一个是浮点数,那么结果一定是浮点数(应用于所有数学运算符)

除法运算的运算结果一定是浮点数

2.%(取余、取模)–求余数

x % y — 求x除以y的余数

print(10 % 3) #1

应用场景:

1)判断一个数是否能够被另外一个数整除 --判断这两个数的余数是否为0

2)取整数的低位数 --对10的N次方取余,就可以获取这个数的后N位数

num = 8679
print(num % 10) #9
print(num % 100) #79
print(num % 1000) #679

3.//(整除)–求商,商向小取整

x // y – 求x除以y的商,商向小取整的结果

print(5//2) #2.5-->2
print(3.8//2) #1.9--> 1.0
print(99//4) #24.xx --> 24
print(-5//2) #-2.5 -->-3 向小取整

应用场景:

1)求一个数中有多少个完整的另一个数

例如:求num中有多少个8

num = 79
print(num//8) #9

练习:已知t的值是总的秒数,求t中有多少个完整的小时

t = 282929
print(t//3600) #78

2)去掉整数的低位数,保留高位数 - - 整除10或者10的N次方

print(8732//10) #873
print(87//10)#8
print(87327//100)#873
print(9302//1000)#9

练习:写程序提取任意一个整数的百位数

num = 2833
print(num // 100 % 10) #8
print(num %1000 //100) #8
num1 = 123
print(num1 // 100) #1
num2 = 82929
print(num2 // 100 %10) #9

4.**(幂运算)

x ** y – 求x的y次方

print(3**4) #81
print(8**(1/3)) #2.0
print(4**-2) #0.0625

2、比较运算符

比较运算符: > 、< 、 == 、!= 、>=、<=

1.所有比较运算符的运算结果都是布尔值

print(100 >200) #False

2.python中的比较运算符支持连写表示范围

score = 82
#判断分数是否大于等于70,小于90
print('是中等成绩:',70<= score <90) #是中等成绩: True

3、逻辑运算符

逻辑运算符: and(逻辑和运算)/or(逻辑或运算)/not(逻辑非运算)

1)and(逻辑和运算)

应用场景:用来连接要求同时成立的两个条件,相当于生活中的并且

运算规则:条件1 and 条件2 -如果两个条件同时成立,结果就是True,只要有一个条件不成立结果就是False

#案例:判断num是否能同时被3和8整除
num = 24
print('num是否能同时被3和8整除:',num % 3==0 and num % 8 ==0) #True

#判断num是否是能够被7整除的偶数
num = 92
print('num是否是能够被7整除的偶数:',num % 2 == 0 and num % 7 ==0) #num是否是能够被7整除的偶数: False

2)or(逻辑或运算)

应用场景:如果要求两个或者多个条件有一个条件成立就行,用or连接,相当于生活中的或者

运算规则:条件1 or 条件2 -只要有一个条件成立,结果就是True,两个条件都不成立结果就是False

#判断num是否能够被3或者7整除
num = 89
print('num是否能够被3或者7整除',num % 3 == 0 or num % 7 == 0) #num是否能够被3或者7整除 False

#判断指定的年是否是闰年
#闰年:普通闰年(能被4整除 但是不能被100整除的年)和世纪闰年(能被400整除的年)
year = 2008
print('是否是闰年:',(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)) #是否是闰年: True

4、赋值运算符

赋值运算:=、+=、-=、*=、/=、%=、//=、**=

注意:

a.所有赋值运算符最终的功能都是完成对变量的赋值操作(将数据保存到变量中)

b.所有的赋值运算都没有结果,无法提供数据

1.普通的赋值运算符

变量名 = 数据 – 将数据直接保存到变量中

2.复合的赋值运算符

变量名 += 数据 – 先将变量中保存的数据取出来,和后面的数据进行加法运算,然后将运算结果重新赋值给前面的变量

num = 10
num += 2 #num = 10+2
print(num) #12

num %= 3 #num = num % 3
print(num) #0

5.运算符的优先级

1.数学运算符 > 比较运算符 >逻辑运算符>赋值运算符(最低)

2.数学运算符的优先级和数学一样的:** > * 、/、%、// > + 、-

3.and > or

4.有括号先算括号里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值