概述
Day3-变量和运算符
1、类型相关操作
01)type函数 type(数据) - 获取指定数据的类型
例如:
print(type(100)) 整形(int)
print(type(3.45)) 浮点型(float)
02)显示类型转换 类型名(数据) - 将指定数据转换成指定类型
例如:
100转换为‘100’
print(str (100))
其中**(1)所有的数据都可以转换成字符串,转换的时候加引号;(2)所有的整数和浮点数也可以相互转换;(3)所有的数据都可以转换成布尔值,所有的灵芝和控制会转换为False,其他数据则会转换成True。**
例如:
(1)100转换为‘100’、1.23转换为‘1.23’、True转换为‘True’
(2)print(int(2.34) , int(0.99) , int(3.901)) 结果为2 0 3
print(float(12)) , float(309)) 结果为 12.0 309.0
(3)print(bool(0) , bool(0.0) , bool(0.0000) , bool(None) , bool(’ ') , bool(" ") 结果全为False
print(bool(23) , bool(-233) , bool(‘a’) , bool(‘False’)) 结果全为True
思考:是不是所有的字符串都可以转换成整数或者浮点数?
print(int(‘125’))
print(int(‘12.5’)) 程序错误
print(int(‘abc’)) 程序错误
print(float(‘123’))
print(float(‘1.23’))
print(float(‘abc’)) 程序错误
2、变量
01)程序中使用数据的时候,不用直接使用,而是先将数据保存到变量中,然后再通过使用变量来达到使用数据的目的
例如:
word=‘在录入和分析数据之前,应先创建一个工作文件(Workfile)。启动Eviews软件之后,在主菜单上依次点击(菜单选择方式),将弹出一个对话框。用户可以选择数据的时间频率(Frequency)、起始期和终止期。’
print(word)
print(word)
print(word)
print(word)
print(word)
02)使用变量(创建变量) - 将数据保存到变量中
(1)语法:
变量名 = 数据
说明:
变量名 - 是由程序员自己命名
要求:是标识符、不能是关键字
规范:见名知义(看到变量名就大概直到这个变量中保存的是什么数据)、
字母都小写,多个单词之间用下划线隔开
不使用系统的函数名、类名和模块名 - 不能使用print、input、type、int、float等给变量命名= - 固定写法
数据 - 任何有结果的表达式(包括:具体的某种类型的数据、某种运算的运算结果等)
例如:
name = ‘小明’
study_id = ‘001’
print = 100
int = 20
a = 100
b = ‘abc’
c = 10 + 20
(2)使用变量 - 使用变量就是使用变量中保存的数据变量必须先定义再使用
例如:
print(name) ‘小明’
print(‘name’) ‘name’
数据能做的事情,保存数据的变量都可以做
print(100)
print(a)
print(100 + 2) 102
print(a + 2) 102
d1 = 100
d2 = a
print(d1, d2)
print(type(100))
print(type(a))
(3)重新给变量赋值 - 给已经定义过的变量赋值重新赋值的时候,新的值会覆盖原来的值
例如:
hero = ‘石头人’
print(hero)
hero = ‘炸弹人’
print(hero)
4)同时定义多个变量
a. 同时定义多个变量赋相同的值: 变量名1 = 变量名2 = 变量名3 = … = 数据
例如:
x = y = z = 10
print(x, y, z)
b. 同时定义多个变量赋不同的值: 变量名1, 变量名2, 变量名3, … = 数据1, 数据2, 数据3, …
注意:前面变量的个数必须和后面数据的个数保持一致
例如:
m, n, t = 11, 12, 13
print(m, n, t)
练习:交换变量a和b的值
方法1: 传统方法
a = 110
b = 201
c = a
a = b
b = c
print(a, b)
方法2:python特有方法
a = 1023
b = 20
a, b = b, a # a, b = 20, 1023
print(a, b)
03)定义变量的底层逻辑
定义变量的时候会先申请内存(运行内存),内存申请多大看数据需要多大,然后将数据保存到内存中,最后让变量和对应内存空间进行关联。
重新赋值的时候会重新申请新的内存,新的内存申请看新的数据的大小,新的数据保存到新的内存中,最后将变量和新的内存进行关联,
原来的内存会被自动释放。
补充:计算机内存单位
位(bytes)
1字节(bit) = 8bytes
1kb = 1024bit
1Mb = 1024kb
1G = 1024Mb
1T = 1024G
3、数学运算符
数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
01)+、-、*、/
python中的+、-、*、/和数学中的+、-、×、÷的功能一模一样
例如:
print(10 + 23, 19 + 0.3)
print(5 - 2, 2 - 5)
print(5 * 2)
print(5 / 2, 6 / 2)
02)% - 取余(求余数)
x % y - 求x除以y的余数
例如:
print(15 % 2) 结果为 1
print(13 % 5) 结果为 3
应用场景1:判断一个数和另外一个数之间是否存在整除关系(如果一个数能够被另外一个数整除,那么它们的余数是0)
例如:
print(13 % 2, 51 % 2, 9901 % 2)
print(20 % 2, 44 % 2)
print(55 % 5)
应用场景2:获取整数的低位数
例如:
num = 25362
print(num % 10) 结果为 2
print(num % 100) 结果为 62
print(num % 1000) 结果为 362
03)// - 整除,求商然后商向小取整
例如:
print(5 // 2) 结果为 2
print(-5 // 2) 结果为 -3
print(6 / 2) 结果为 3.0
print(int(6 / 2), 6 // 2) 结果为 3和 3
应用场景:去掉一个整除的低位数(去低位保高位)
例如:
num = 234823
print(num // 10) 结果为 23482
print(num // 100) 结果为 2348
num = 876
print(num // 100)
练习:写代码获取任意一个正整数的十位数
num = 26379
方法一:
print(num // 10 % 10)
方法二:
print(num % 100 // 10)
04) ** - 幂运算**
x ** y - 求x的y次方
print(3 ** 2) 结果为 9
print(16 ** 0.5) 结果为 4.0
print(8 ** (1/3)) 结果为 2.0
print(2 ** -2) 结果为 0.25
4、比较运算符
比较运算符: >(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
01)运算符结果**
所有的比较运算符的运算结果都是布尔
例如:
print(10 > 20) 结果为 False
print(10 < 20) 结果为 True
print(10 == 20) 结果为 False
print(10 == 10) 结果为 True
print(10 != 20) 结果为 True
num = 230
print(num % 2 == 0)
02)支持连写表达式范围
age = 20
print(18 < age <= 28)
c、java:
int age = 18;
age >= 18 && age <= 28
js:
age = 18
age >= 18 && age <= 28
5、逻辑运算符
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
01)and - 逻辑与运算
应用场景:如果需要多个条件同时满足,就将这些条件用and连接,相当于生活中’并且’。
运算规则:条件1 and 条件2 - 两个都是True结果才是True,只要有一个是False结果就是False
True and True - True
True and False - False
False and True - False
False and False - False**
案例:判断num是否能够同时被3和7整除
同时被3和7整除 -> 能被3整除、能被7整除
能被3整除:num % 3 == 0
能被7整除: num % 7 == 0
num = 233
print(num % 3 == 0 and num % 7 == 0)
案例:判断x是否是一个大于100的整数
是否大于100: x > 100
是整数: type(x) == int
x = 880
print(x > 100 and type(x) == int)
02)or - 逻辑或
应用场景:如果多个条件要求只要有一个条件满足就可以,那么这些条件就使用or来连接,相当于生活中的’或者’
运算规则:条件1 or 条件2 - 只要有一个是True结果就是True,两个都是False结果才是False
练习1:判断num是否被3或者5整除
num是否能被3整除: num % 3 == 0
num是否能被5整除: num % 5 == 0
num = 34
print(num % 3 == 0 or num % 5 == 0)
练习2:判断指定的年是否是闰年
普通闰年:能被4整除但是不能被100整除的年 - year % 4 == 0 and year % 100 != 0
能被4整除 - year % 4 == 0
不能被100整除 - year % 100 != 0
世纪闰年:能被400整除的年 - year % 400 == 0
year = 2001
print((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
03)not - 逻辑非
应用场景:对一个条件进行否定;(如果一个条件正向写情况很多很复杂,反向却很简单的时候,条件就可以反向写再加not)
运算规则: not 条件 - True变False、False变True
age = 23
年龄不大于18
print(not age > 18, age <= 18)
num不能被3整除
num = 26
print(not num % 3 == 0, num % 3 != 0)
案例:判断num是否不能同时被3和7整除
num = 210
方法一
能被3整除并且不能被7整除 - num % 3 == 0 and num % 7 != 0
能被7整除并且不能被3整除 - num % 7 == 0 and num % 3 != 0
既不能被3整除也不能被7整除 - num % 3 != 0 and num % 7 != 0
print((num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 3 != 0 and num % 7 != 0))
方法二
能同时被3和7整除 - num % 3 == 0 and num % 7 == 0 、 num % 21 == 0
print(not(num % 3 == 0 and num % 7 == 0))
print(not num % 21 == 0)
6、赋值运算符*
赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
说明:所有的赋值运算符的功能都是将数据保存到变量中, 运算符的前面必须是变量, 后面必须是提供数据的表达式
01)=
变量名 = 数据 - 将=后面的数据保存到前面的变量中
例如:
a = 10
b = 20
a = 30
c = 10 * 20
02)复合的赋值运算:+=、-=、*=、/=、//=、%=、=**
变量 += 数据 - 将变量中保存的数据取出来和后面的数据进行加法运算,最后将运算结果保存到前面的变量中
注意:这儿的变量必须是已经定义过的变量
例如:
b += 10 结果为 b = b + 10 -> b = 20 + 10
print(b) 结果为 30
b -= 40
print(b) 结果为 -10
b *= 5
print(b)
b %= 2
print(b)
03)运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
**** > 、/、%、// > +、-*
有括号先算括号里面的 - ()
例如:
print(10 > 2 + 30)
a = 30 + 2
print(a)
最后
以上就是无聊钢铁侠为你收集整理的Day3-变量与运算符的全部内容,希望文章能够帮你解决Day3-变量与运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复