day2数据类型和运算符1

变量

1)感觉变量是有用的

message = "11111"
for i in range(1,999):
    print(message)

不然的话

print(message)
print(message)
print(message)
print(message)
print(message)
print(message)
print(message)
...999...

2)认识变量和定义(创建)变量

a.
什么是变量 - 变量是用来保存数据 更清楚数据是怎样的
在程序中使用数据的时候 不要直接用 用变量把数据存起来 然后通过使用变量
来使用数据)

b.定义变量(创建变量) - 将数据保存到变量中

语法: 变量名 = 数据

**①变量名  -  由程序员自己命名的  
    要求:是标识符 不是关键字  
    规范:见名知义(看到变量名就大概知道变量中保存的是什么数据)****
    **不使用系统的函数名 ,类名 和 模块名**
    **所有的字母都小写,多个单子之间用下划线隔开**
**②b =  赋值符号:固定写法**
**③ 数据  可以式任何有结果的表达式, 例如 具体的某个类型的数据,有结果的运算表达式**** 
age = 18
name = 18

#  int = 20 ??? 会导致后面和int有关的操作全部失败
#  int 定义为变量 本身功能就会消失 变量优先级大于 本身关键字

dog_name = 1
dogName = 2 # 驼峰式命名
dogNamE = 3 #和上面不是一个变量

a = 19
b = 'abc'
c = 10+20
d = a

3)使用变量

# 使用变量就式使用变量中保存的数据

x = 100
y = 200
print(x,y)
print(x*10)
print(x+10)

4)重新给变量赋值

print('开始了')
xx= 100
print(xx)

xx=11122200   #重新赋值为200
print(xx)

xx = 'abc变化' #重新赋值的时候可以赋不同累心的值  会覆盖原来的值
print (xx)

5)同时定义多个变量: 变量名1 =变量名2= 变量名3

# 1)同时定义多个变量:变量名1 = 变量名2 变量名3
print('又开始了')
x1 = x2 = x3 =199
print(x1,x2,x3)

# 2)同时定义多个变量赋不同的值:变量名1 ,变量名2,变量名3 = 数据1, 数据2,数据3
y1,y2,y3 = 10,20,30
print(y2)
print(y1,y2,y3)

6)交换变量的值

#应用:交换变量的值
m = 10
n = 20
i = m
m = n
n = i
print(m,n)

# 方法2  随便交换 布尔和其他的也能交换
m ='abc'
n =20
m,n = n,m   # 直接加个逗号进行交换
print(m,n)

定义变量和重新给变量赋值的底层原理

1)为什么python的定义变量不需要写类型

因为屌

a = 10
# C语言  int a = 10   需要单独申请固定内存空间 定义变量申请完 类型不能变  ---- 直接编译
#  2.重新赋值的时候 为什么可以赋 不同类型的值 - 重新赋值的时候会冲洗你申请新内存
b = 20
b = 'abc'
b = [10,20,30]

2)为什么python可以计算9999*99999

#  申请内存的时候会提前计算存储这个数据需要多大的内存,需要多大
# 就申请多大
# 重新申请新的内存 --- 解释编译
a = 9999*9999
b = 200

tip:

#补充1 : 获取内存地址的工具:  id (变量)
x = 101
print('打印内存地址')
print(id(x))
x=102
print(id(x))
# python定义变量不需要写类型 - python定义变量申请内存的时候,内存申请
# 多大看数据需要多大,不看类型


# 补充2 计算机内存单位:
# 位(bit)
# 1字节(bytes) = 8 bit 8位
# 1kb = 1024字节
# 1Mb = 1024kb
# Gb 1Tb
# B Bytes  b bit

数学运算符

#   +、-、*、/、%(取余数 取模)、//(整除)、**(幂运算)
#  + - * / 和数据中加减乘除都一样
#  注意 + - * 如果操作得数据中有浮点数结果就是浮点,都是整数结果就是整数
# / 运算结果一定是浮点数

print(5-2)  # 3
print(5.0-2) #3.0
print(5*2)  #10
print(5/2) #2.5
print(4/2)   #2.0


#  2. % 取余 取摸 求余数
# x % y - 求x除以y的余数
print( 10 % 3)
print(15%4) # 3

# 应用场景一: 判断整除关系(判断一个数是否能被另外一个数整除)
# 如果两个数存在整除关系,那么他们余数是0
num = 3233
print(53%2)
print(90%2)



# 应用场景二: 取一个正整数的低位数
num = 35393
print(80883%10)
print(num%100)  #取两位后余数
print(num%1000)   #取后三位数  无脑敲代码

print(-10%3) #借2取摸2
print(10//3)
print(-10//3)

#被除数 = 除数* 商 + 余数 ->余数 = 被除数 - 除数*商
print(5//2) #2
print(-5//2) # -3
print(-3232//17)

#应用场景1: (在知道两个数能整除的情况下)获取整形的商
nums = [28,89,23,45,56,90,23,80]
# print=(nums[len(nums)])
print(8/2) #4.0
print(8//2)  # 4

#应用场景2 : 整数去掉低位数,保留高位数
num = 324
# 324 ->32
print(num//10)  #32

# 324->3
print(num//100)   #3

#写代码获取num的十位数

num = 36732131
num = num//10
num = num%10

# 方法2
num = num %100//10


# 4) ** - 幂运算
# x**y - 求x的y次方
print(2**5)
print(2**3)
print(4**0.5)  #2.0
print(8 ** (1/3))  #2.0
print(2 ** -2)  #0.25

比较运算符

# > < == !=

print(5 > 4)
print(5 > 4)
# 比较运算符: >大于 <小于 > 大于等于 <=小于等于 == 等于 !=不等于
# 说明:所有的比较运算符的运算结果都是布尔

print(10 > 30)
print(10 == 20)

# 判断num是否被4整除
num = 23
print(num % 4 == 0)
# 判断num是否是浮点数
num = 2.34
print(type(num) == float)

age = 23
print("是否成年", age >= 18)

# age = int(input())
# print("是否成年", age >= 18)

# python的比较运算符支持连写表示范围
# 判断num是否实在0到1的范围内
num = 0.4
print((0 <= num <= 1))
print(num >= 0 and num <= 1)

# [0,1]
# (0,1)  [0,1) 和数学一样

逻辑运算符

# 逻辑运算符 and逻辑与运算 同时满足  or逻辑或运算  not逻辑非运算   & ^ 这个不能用

#  and - 逻辑与运算
"""
1)应用场景:用于连接要求同时满足的多个条件,相当于生活中的并且
2)运算规则:条件1 and 条件2 - 两个条件都是True,结果就是Ture,只要一个
是False,
    True & True - > True
    True & True - > True
    False & True -> False
    False % False -> False

"""
#  获取奖学金的条件:绩点不低于3.5,并且操评分大于90
print("来")
gpa = 3.5
score = 95
print("是否能获取讲学金", gpa >= 3.5 and score > 90.0)

num = 23
# 方法1
print('num是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 方法2
print('num是否能够同时被3和7整除:', num % 21 == 0)

# 2) or 逻辑或运算

"""
1)应用场景: 如果两个或者多个条件中主要有一个满足就行,就用or来对这些条件进行
连接,相对于生活中的或者
2) 运算规则:条件1 or  条件2  _ 只要有一个是True 就是True
两个都是False结果才是False

"""
# 判断num是否能被同时被3或者7整除
num = 23
print("num是否能被3或者7整除", num % 3 == 0 or num & 7 == 0)

# 联系 :判断指定的年是否为闰年
# 闰年分为普通闰年和世纪闰年两种,普通闰年 - 能被4整除但是不能被100整除的年
# 世纪闰年 能被400整除的年
year = 2000
print("是否为闰年", (year / 4 == 0 and year % 100 != 0) or (year / 400 == 0))

# 3 not - 逻辑非运算
"""
应用场景:如果一个条件正向写情况很多很复杂,反向写却很简单的时候,我们讲
条件反向写,再加not
运算规则:not 条件 - 对指定的条件进行否定
        not True -> False
        not False -> True



"""

print("年龄")
age = 23
#  年龄大于等于18
print(age >= 18)

# 年龄不大于等于18
print(not age >= 18, age < 18)

# 示范:判断num是否不能同时被3和7整除
# 不能同时被3和7整除;能被3整除但是不能被7整除, 能被7整除但是不能被3整除
# ,既不能被3整除也不能被7整除

num = 23

print((num % 3 == 0 and num % 7 != 0) or (num % 3 != 0 and num % 7 == 0)
      or (num % 3 != 0 and num % 7 != 0))
print("判断num是否不能同时被3和7整除,",
      not (num % 3 == 0 and num % 7 == 0))


# 判断num是否不是数字类型
x  = '12'
print(not type(x)==int )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值