01 比较运算符
> >=
< <=
==
!=
print(10 != 11)
了解
x=None
print(x == None)
print(x is None)
l1=['abc',1,['a','b','c']]
l2=['abc','aa',]
print(l2 > l1)
02 逻辑运算符
and:连接左右两个条件,只有两个条件同时成立时and运算的结果为True
print(10 > 9 and 3 > 2 and 'egon' == 'egon' and True)
or:连接左右两个条件,两个条件成立任意一个or运算的结果就为True
print(False or False or True or False or 3 > 10)
res=(True or (False and True)) or ((False or True) and False)
res=(True or False) or (True and False)
res=True or False
print(res)
not
print(not 10 > 3)
x=None
print(not x is None)
print(x is not None)
age1=18
age2=19
print(age2 is not age1)
name_bk='mzk'
pwd_bak='123'
name=input('please input your name: ')
pwd=input('please input your password: ')
if name == name_bk and pwd == pwd_bak:
print('login successfull')
else:
print('username or password error')
真除法、小数截断
/:实现的是真除法。在python中,它总是返回浮点数值。
//:实现的是floor地板除法,它会去掉除法运算后的小数位,以便得到小于运算结果的最大整数。如果参与运算的有小数,则返回浮点数,否则返回整数
在math模块中,有地板函数math.floor()和天花板函数math.ceil()。它们的意义可以根据现实中地板、空气、天花板的高低位置来考虑。
地板位于空气之下,地板运算的返回值是比空气小的最大整数,天花板位于空气之上,天花板运算的的返回值是比空气大的最小整数
round(x, N)是四舍五入,可以指定四舍五入到哪个小数位
math.trunc()是直接截断小数
实际上int()函数自身就是字节截断小数的
真除法总是返回浮点数
a = 9/3
print(a)
print(10/4)
print(10/4.0)
floor除法返回浮点数还是整数取决于参与运算的数是否包含浮点数
print(9//3)
print(10//4.0)
print(10//4)
四舍五入round()和math.trunc()两种截断小数的方式
import math
print(math.trunc(5/2))
print(round(10/4))
数值类型转换
int()可以将字符串或浮点数转换成整数,也可以用于进制数转换
int()也可以直接截断小数
print(int(3.6))
print(int(-3.6))
float()可以将字符串或整数转换成浮点数
print(float(3))
小数类型
使用decimal模块的Decimal()可以构造精确的小数
注意,Decimal()的参数都是字符串,如果不加引号,它还是会解释成浮点数
import decimal
print(decimal.Decimal('0.1') * 3 - decimal.Decimal('0.3'))
Decimal()的运算的结果会取最长的小数位数
import decimal
print(decimal.Decimal('0.1') * 3 - decimal.Decimal('0.300'))
可以设置decimal的精度,也就是小数位数有两种范围的精度:全局范围:局部范围.
例如没有设置精度时.,会保留很多位数的小数.
import decimal
print(decimal.Decimal(7) / decimal.Decimal(9))
设置全局范围的精度为4,即保留4位小数
import decimal
decimal.getcontext().prec = 4
print(decimal.Decimal(7) / decimal.Decimal(9))
还可以设置局部范围的精度,局部表示退出了这个范围就失效了。使用with/as语句可以设置局部精度,所以退出with/as语句块精度的设置就失效了。
import decimal
with decimal.localcontext() as c:
c.prec = 2
print(decimal.Decimal(1) / decimal.Decimal(7))
分数类型
分数模块fractions,它有一个函数Fraction(),它可以构建分数.有了分数之后,可以参与运算.分数和浮点数不同,分数是精确的.
同样地,如果没有python基础,这里能看懂多少算多少,反正用的也不多.
例如,构建分数三分之一.
import fractions
print(fractions.Fraction(1,3))
可以根据浮点数的字符串格式构建分数
import fractions
print(fractions.Fraction('0.3'))
可以用分数进行运算
分数加整数
import fractions
print(fractions.Fraction(1,3) + 3)
分数加、减、乘、除分数
import fractions
print(fractions.Fraction(1,3) + fractions.Fraction(2,3))
print(fractions.Fraction(1,3) - fractions.Fraction(2,3))
print(fractions.Fraction(1,3) * fractions.Fraction(2,3))
print(fractions.Fraction(1,3) / fractions.Fraction(2,3))
import fractions
print(fractions.Fraction('2.5'))
实际上,float对象有一个as_integer_ratio()函数,可以将浮点数转换成整数的元组表示形式(元组后面的文章会介绍),然后根据这个元组就可以构造出分数来.
例如,将2.5转换成元组,并进而转换成分数.
import fractions
print(fractions.Fraction(*(2.5).as_integer_ratio()))
进制整数转换
oct():十进制整数转换成八进制
hex():十进制整数转换成十六进制整数
bin():十进制整数转换成二进制
例如,将十进制的64转换成二进制 八进制 十六进制整数.
print(bin(64),oct(64),hex(64))
int()函数也能进行进制转换,它的用法格式为
print(int('0b11',base=2))
print(int('11',base=2))
print(int('94E', base=15))
定义变量
print('hello word!')
age = 18
print(id(age))
print(type(age))
print(age)
小数池
x = 10
y = 20
print(id(x))
print(id(y))
x=12312312321312222222222222222222222222222222222223123123123
y=12312312321312222222222222222222222222222222222223123123123
print(id(x))
print(id(y))
垃圾回收机制
age = 18
x = age
age = 19
del x
常量:就是不变的量
AGE_OF_OLDBOY=73
AGE_OF_OLDBOY=74
print(AGE_OF_OLDBOY)
接受用户信息
name = input("请输入账号:")
print(name)
格式化输出
name = input("请输入本人姓名:")
like = input("请输入喜欢姓名:")
%s任何类型都支持 %d只支持数字
print('my name is %s love %s'%(name,like))
网友评论