变量和运算符

变量和运算符
一,变量

1.程序中使用数据的两种方式:

1)直接使用数据

print(18)
print((98 + 76) / 2)

2)先将数据保存到变量中,然后再通过使用变量使用数据(推荐使用)

age = 26
print(age)

score1 = 98
score2 = 76
print((score1 + score2) / 2)

msg = '........................'
print(msg)
print(msg)
print(msg)

2.定义变量 - 将数据保存到变量

变量的作用 :保存数据

"""
1) 语法:
变量名 = 数据

2)说明:
a. 变量名       -        程序员自己命名
                        要求:是标识符,不是关键字
                        规范:a.见名知义(看到变量名就大概知道变量中保存的什么数据)
                             b.不使用系统函数名(比如: print,input,type,.......),类名(int,float,str,....)和模块名
                             c.所有的字母都小写,多个单词之间用下划线隔开(PEP8)
b. =    -    固定写法
c.数据   -   需要保存到变量中的具体数据,(可以是具体的个某种类型的数据,也可以是某个运算符的数据)
"""

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

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

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

num = 100

print(100)
print(num)

print(100 + 100)
print(num + 100)

print(type(100))
print(type(num))

print(float(100))
print(float(num))

x = num
print(x)

str1 = '姓名'
name = input(str1)

4.同时定义多个变量

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

a = b = c = 100
print(a,b,c)

2)变量名1,变量名2,变量名3,…= 数据1,数据2,数据3,… - 同时定义多个变量赋不同的值(变量的数据必须和数据的数量保持一致)

x, y = 100, 200
print(x, y)

案例:交换两个变量的值

m = 200
n = 30
# 方法一:
t = m
m = n
n = t
print(m, n)
# 方法2:
m, n = n, m
print(m , n)

5.变量重新赋值

score = 90
print(score)
score = 87
print(score)

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

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

score = '优秀'
print(score)
二,变量的底层逻辑
# 1.python变量存储数据和重新赋值的底层
# python定义变量的时候先申请内存,内存申请多大看数据需要多打,申请完内存后将数据保存到内存中,然后再将变量和对应的内存进行关联;
# 重新给变量赋值的时候,会根据新的值申请新的内存,然后将新的数据保存到新的内存中,最后将变更了和新的内存进行关联。
# id函数  -   获取变量对应的内存地址
a = 10
print(id(a))

a = 100
print(id(a))
数字运算符

所有的数学运算符: +(加),-(减),*(乘),/(除),%(取余,取模),**(幂运算)

  1. +, - , * , /

+, - , * , / 和数学中的功能一样

print(10 + 20)
print(10 - 20)
print(10 * 20)
print(10 / 20)

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

print(10.0 + 20)
print(10.0 - 20)
print(10.0 * 20)

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

  1. %(取余,取模) - 求余数

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

print(10 % 3)
print(20 % 3)

1)应用场景1:判断一个数是否被另外一个数整除 - 判断这两个数的余数是否为零

num1 = 23
num2 = 11
print(num1 % num2)

2)应用场景2:取整数的地位数 - 对10的n次方取余,就可以获取这个数的后n位数

num = 8279123
print(num % 10)
print(num % 100)
print(num % 1000)

3.//(整除) - 求商;商向小取整

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

print(5 // 2)        #2
print(3.8 // 2)      #1
print(99 // 4)       #24
print(-5 // 2)       #-3

应用场景1:求一个数中有多少个完整的另一个数

# 列如:求num中有多少个8
num = 79
print(num // 8)

应用场景2:去掉整数的低位数,保留高位数 - 整除10或者10的N次方

print(8293 // 10)
print(29 // 10)
print(832343 // 1000)

4.**幂运算

# x ** y  -   求x的y的次方
print(3 ** 4)
print(12 ** 2)
print(4 ** -2)
print(8 ** (1/3))
四,比较运算符

比较运算符: <(小于) , >(大于) , ==(等于) , !=(不等于) , <=(小于等于) , >=(大于等于)

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

print(100 > 200)    # False
print(100 == 100)    # True

num = 890
print('num是否是偶数', num % 2 == 0)

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

core = 89
# 判断分数是否大于等于70,小于90
print('是中等成绩', 70 <= score < 90)
五,逻辑运算符

逻辑运算符:and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)

'''
1)应用场景:用来链接要求同时成立的两个条件,相当于生活的并且
2)运算规则:条件1 and 条件2   -    如果两个条件同时成立结果就是True, 只要有一个条件不成立结果就是False
           True and True   -    True
           True and True   -    False 
           False and True   -    False
           False and False  -    False
'''
# 案例:判断num是否能同时被3和8整除
num = 78

# 是否能被3整除: num % 3 == 0
# 是否能被8整除: num % 8 == 0
print('num是否能同时被3和8整除', num % 3 == 0 and num % 8 == 0)

2.(or(逻辑或运算))

"""
1)应用场景:如果要求两个或者多个条件有一个条件成立就行,用or连接,相当于生活中的'或者'
2)运算规则:条件1 or 条件2   -   只要有一个条件成立,结果是True;两个条件都不成立结果是False
          True or True      -       True
          True or False     -       True
          False or True     -       True
          False or False    -       False
"""
# 练习1:判断num是否能够被3或者7整除
num = 89
print('num是否能够被3或者7整除:', num % 3 == 0 or num % 7 == 0)

# 练习2:判断指定的年是否是闰年
# 闰年:闰年分为普通闰年(能被4整除但是不能被100整除的年)和世纪闰年(能被400整除的年)两种
year = 2008

# 普通闰年: year % 4 == 0 and year % 100 != 0
# 世纪闰年: year % 400 == 0
print('否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))

3.(not(逻辑非运算))

"""
1)应用场景:对条件进行否定
2)运算规则:not 条件   -   对指定条件进行否定
           not True     -      False
           not False    -      True
"""
# 案例:判断age是否不大于18
age = 28
print(not age > 18)
print(age <= 18)

# 案例:判断num是否不能被5整除
num = 89
print(not num % 5 == 0)
print(num % 5 != 0)

# 案例:判断num是否不能同时被3和7整除
num = 90
print(not (num % 3 == 0 and num % 7 == 0))
print(num % 21 != 0)
六,赋值运算符

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

注意

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

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

print(18)

a = 10
print(a)

print(10 + 20)

print(10 > 3)

print(a > 5 and a % 2 == 0)

# print(b = 20)     # 报错!赋值运算符没有结果,无法提供数据

b = 20
print(b)
  1. = - 普通赋值运算符

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

  1. +=

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

    注意 复合的赋值运算符前面的变量必须是已经赋值过的变量
    num = 10
    num += 2        # num = num + 2
    print(num)      # 12
    
    num -= 3        # num = num -3 = 12 - 3
    print(num)      # 9
    
    num *= 2
    print(num)      # 18
    
    num %= 3        # num = num % 3 = 18 % 3
    print(num)      # 0
    
七,运算符的优先级
# 1.数学运算符 >  比较运算符 >  逻辑运算符 > 赋值运算符(最低)
# 2. ** > *,/,%,// > +-
# 3. and > or
# 4. 有括号先算括号里面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小*生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值