python常见运算符和数据类型

"""author = 陈俊龙"""

=================运算符================

python中有哪些运算符:

数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符

数学运算符

1.+, -, *, /, %, //, **

+,-,*,/和数学中的加减乘除的功能一模一样

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

print(10 % 3)  # 1

应用1:可以通过一个整数%2判断一个数字是偶数还是奇数

print(10 % 2)  # 0

应用2:可以通过一个整数%10来获取这个数的个位数(扩展%100...)

print(142 % 10)  # 2

3.// -- 整除,求商取商的整数部分

print(5/2)     # 2.5
print(5//2)    # 2
print(9.3/3)   # 3.1
print(9.3//3)  # 3.0

4.** - 幂运算,x**y-->求x的y次方

print(2**3)
print(9**0.5)    # 开平方
print(8**(1/3))  # 开三次方

========================比较运算符=======================

2.比较运算符:>, <, >=, <=, ==, !=

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

age = 18
print(age > 18)  # False
print(age < 18)  # False

2.== -- 判断两个数据是否相等

print(age == 18)  # True

3.!= -- 不等于

print(age != 18)  # False

python中可以使用多个比较运算符来表示是否在一个范围

print(10 <= age <= 20)  # True

=======================逻辑运算符=====================

逻辑运算符:

and, or, not(对条件进行连接,运算对象都是布尔值,结果也是布尔值)

1.and -->逻辑与运算, 两个都为True结果才是True,只要有一个False结果就是False

True and True,True and False,False and True,False and False

应用:如果需要多个条件同时满足时才做什么事情的时候用and连接

score = 80
grade = 4.0
# 拿奖学金的条件:操评分不低于90并且成绩不低于3.5
print('是否能拿奖学金:', score >= 90 and grade >= 3.5)  # False

2.or -->逻辑或运算 两个条件只要其中有一个为True,结果就是True,只有全部都是False,结果才是False

True and True,True and False,False and True,False and False

应用:如果需要多个条件其中任意一个条件满足就做什么事情的时候用or连接

score = 80
grade = 4.0
# 拿奖学金的条件:操评分不低于90或者成绩不低于3.5
print('是否能拿奖学金:', score >= 90 or grade >= 3.5)  # True

3.not -->逻辑非运算 True 变成 False, False 变成 True

not True -> False, not False -> True

应用:对一个条件否定

num = 19
print('一个数是否是偶数:', num % 2 == 0)
print('一个数是否不是偶数:', not num % 2 == 0)
num = 21
print('一个数是否被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('一个数是否不能被3和7整除:', not(num % 3 == 0 and num % 7 == 0))

4.短路操作

逻辑与运算的短路操作:如果and前面的条件结果是False,就不会执行and后面的语句,结果就是False
逻辑或运算的短路操作:如果or前面的结果是True,就不会执行or后面的语句,结果就是True

=======================赋值运算符=======================

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

赋值运算符号的左边必须是变量;符合赋值运算符左边变量必须是已经赋值过的变量

num = 10
num += 10  # num = num + 10
print(num)  # 20
num *= 2  # num = num * 2
print(num)  # 40

运算顺序

数学运算符>比较运算符>逻辑运算符>赋值运算符

print(20 > 10+30)  # False

数学运算符中:** > *,/,%,// > +,-

可以通过加括号()来改变运算顺序,先算括号里面的

==============数字类型==============

数字类型:整型(int),浮点型(float),布尔(bool),复数(complex)

======================整型==========================

1.整型(int):

包含了所有的整数(所以不带小数点的数),例如:100,-20,0

python中的整数支持二进制,八进制,十进制和十六进制4种表示方式

十进制:

基数:0 1 2 3 4 5 6 7 8 9
进位:逢10进1
位权:123 = 310^0 + 210^1 + 1*10^2
表示方式:直接写的所以的数字都是十进制数字
转换方式:直接print()转换

二进制:

基数:0 1
进位:逢2进1 0(0) 1(1) 10(2)
位权:100 = 02^0 +02^1 +1*2^2 = 4
表示方式:0b+数字(在二级制前面加上0b)
转换方式:bin()--> print(bin())

八进制

基数:0 1 2 3 4 5 6 7
进位:逢8进1
位权:100 = 08^0 +08^1 +1*8^2 = 64
表示方式:0o+数字(在八进制前面加上0o)
转换方式oct()--> print(oct())

十六进制

基数:0 1 2 3 4 5 6 7 8 9 a/A b/B c/C d/D e/E f/F
进位:逢16进1
位权:100 = 116^2 + 016^1+ 0*16^0
表示方式:在16进制前加0x/0X
转换方式:hex()--> print(hex())

========================浮点型========================

浮点型(float):

所以的小数对应的类型,例如:0.23, 12.9, -0.2
支持科学计算法

num = 3e4  # 3*10^4

==========================布尔=======================

布尔(bool):

只要True和False两个值,True实质就是1,False实际就是0

print(True+1)  # 2
print(False+1)  # 1

========================复数=========================

复数(complex):包括所以的由实部和虚部组成的数字,python中用j表示虚部,例如10-1j,20+3j

python直接支持复数运算

num1 = 10-1j
num2 = 20+3j
print(num1/num2)

1.type函数

type(数据)-->返回指定数据对应的函数print(type())

2.类型转换:类型名(数据)

num = 19.78
new_num = int(num)
print(new_num)
print(float(100)), print(float(True))
print(int('100'))  # 不是所以的字符串都可以转换成整型,只有去掉字符串后本身就是整型的字符串才可以
print(float('100'))  # 不是所以的字符串都可以转换成浮点型,只有去掉字符串后本身就是数字的字符串才可以
print(bool(''))  # 所有为零为空的值才转换为False,其他的都为True

================if分支结构==============

num = 100
if num % 2 == 0:
    print('偶数')
else:
    print('基数')

什么时候使用if:

当某个函数需要满足某个条件才会执行的情况就使用if分支结构

如何使用if:

语法1:

if 条件语句:
要执行的代码块

说明:

if

-- 关键字,固定写法

条件语句

-- 除了赋值语句以外的所以表达式,例如:数据,运算表达式,已经赋值后的变量....

:

-- 固定写法
要执行的代码块 -- 和if保持一个缩进的一个或多个语句(至少一条!)

执行过程:

先判断条件语句是否为True(如果结果不是布尔,就先转换为布尔再判断),如果是True就执行,否则就不执行

num = int(input('请输入一个1数字:'))
if 0:
    print('hi')  # 没有执行
if num % 2 == 0:
    print('偶数')
    print('====')

语法2:

if 条件语句:
代码块1
else:
代码块2

说明:

if

-- 关键字,固定写法

条件语句

-- 除了赋值语句以外的所以表达式,例如:数据,运算表达式,已经赋值后的变量....

:

-- 固定写法

代码块1

-- 和if保持一个缩进的一个或多个语句(至少一条!)

else

-- 关键字

-- 固定写法

代码块2

-- 和else保持一个缩进的一个或多个语句(至少一条!)


执行过程:

先判断条件语句是否为True(如果结果不是布尔,就先转换为布尔再判断),如果是True就执行代码块1,否则就执行代码块2

age = 18
if age >= 18:
    #条件成立才执行的代码
    print('成年人')
else:
    #条件不成立才执行的代码
    print('未成年人')
#不管条件成不成立都执行
a = int(input(''))
print(a)
print(a+1)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容