1.负数的平方根是复数
2.字符串的格式化:
(1):使用%运算符进行格式化
格式字符串%(值1,值2,……)
%d %i :转换为带符号的十进制整数
%o: 转换为带符号的八进制整数
%x、%X:转换为带符号的十六进制整数
%e: 转换为科学计数法表示的浮点数(e小写)
%E: 转化为科学记数法表示的浮点数(E大写)
%f %F :转化为十进制浮点数
%g:智能选择使用%f或%e
%G :智能选择使用%F或%E格式
%c:格式化字符及其ascII码
%r:使用repr()函数将表达式转化为字符串
(2):使用format方法进行格式化:
<字符串>.format(<逗号分隔的参数>)
字符串由一系列的槽组成
其中:
① 0代表format()函数中参数的个数,即第0个参数
② 输出宽度只有再大于format()函数中参数的实际位宽时才起作用
3.数据类型的转换:
type()函数:
可以实现对变量x的类型进行判断,适用于任何类型
isinstance()函数:
判断一个对象是否为已知类型:
instance (x,classinfo)
x:为带判断的对象,classinfo可以是类,基本类型或由他们组成的元组
如果x的类型和classinfo相同或是其中一个,则返回true,否则false
4.自动类型转换:
整数->浮点数->复数
Python允许同一个表达式的不同类型的数据参加运算,这就要求再运算之前,先将这些不同类型的数据转换成同一类型,然后再进行运算
around():4舍6入5靠双
5.强制类型转换:
int(x):将x转换为整数(只要整数部分,小数部分舍弃)
float(x):将x转换成浮点数
complex(x):将x转换为复数,其中x为实部,虚部为0
complex(x,y):将x转换成复数,其中x为实部,y为虚部
str(x):将x转换成字符串
chr(x):将一个整数转换成一个字符,整数为字符的ascii码
ord(x):将一个字符转换为他的ascii编码的整数值
hex(x):将一个整数转换为一个十六进制字符串
oct(x):将一个整数转换为一个八进制字符串
eval(x):将字符串str当作有效表达式求值,并返回计算结果
6.运算符与表达式:
算数运算符:+、-、*、/、**、//、%、
*:乘 ** 幂运算
/除 :2/3=0.66666666 //整除求商:2//3=0
整除运算中需注意:
①如果有一个除数是负数时,结果为负,向下取整(即远离0,朝向负无穷取整)
②如果两个除数都为整型数据,结果为整型数据。
③如果两个除数有一个为浮点型数据,结果为浮点型数据
关系运算符:>、<、>=、<=、==、!=、
逻辑运算符:and or not
位运算符:<< 、>>、~、|、^、&
赋值运算符:=、复合赋值运算符
成员运算符:in 、not in
同一性运算符:is 、not is
下标运算符:[]
注意%取模运算:
①当a可以被b整除时,返回0
②有个奇怪的现象,好像取出来的值永远小于b,而且如图,当a<b的时候,取出来的值就是a本身,要是a>b,就会强制性让a=a-b,一直减到a变得比b小了,最后得出结果。
a<b,返回a,a>b且不能整除,当a>b,a-=b,直到a<b,返回a
7.赋值运算符和赋值表达式
'='表示赋值运算符
变量=表达式
①链式赋值
x=y=5
x=5
y=5
②同步赋值
Ⅰ:多变量同步赋值:
Ⅱ:同一变量出现在赋值运算符两侧:
Ⅲ:两变量值互换
③:复合赋值运算符:
a+=3——→a=a+3
a*=a+3——→a=a乘(a+3)
a%=3——→a=a%3
8.关系运算符和关系表达式:
x<y<z等价于x<y and y<z
x<yTrue等价于x<y and yTrue
因为x<y的值为True ,但是 yTrue为False所以x<yTrue为False
9.逻辑运算符和逻辑表达式:
not:逻辑非,取反,单目运算符(只有一个操作数)
and:逻辑与、两个操作数都为非零时,结果才为真,其他情况均为假(全真为真,否则为假)
or:逻辑或、两个操作数至少一个为真(非零)时,结果都为真(全假为假,否则为真)
其中and和or的结合性为左结合
not的结合性为右结合
优先级not>and>or
注意:在实际使用中,应该注意逻辑短路的现象
①:对于与运算and
如果a为真,继续计算b,b将决定最终整个表达式的真值,所以,结果为b的值
如果a为假,无须计算b,就可以得知整个表达式的真值为假,所以,结果为a的值
②:对于或运算a or b
如果a为真,无需计算b,就可以得知整个表达式的真值为真,所以结果为a的值
如果a为假,继续计算b,b将决定整个表达式最终的值,所以结果为b的值
10.常用函数库:
math库:
导入:import math
导入并改名:import math as m
math.ceil(x):返回大于或等于x的最小整数
math.floor(x):返回小于或等于x的最小整数
math.gcd(x):返回x和y的最大公约数
math.exp(x)返回e的x次幂
math.log(x[,base]):返回以base为底x的对数,默认base为e
math.log2(x):返回以2为底的x的对数
math.pow(x,y):返回x的y次方
math.sqrt(x):返回x的平方根
math.sin(x):返回x的正弦值,在[-1.0~1.0]之间
math.cos(x)返回x的余弦值
math.tan(x):返回正切值
math.asin(x):返回x的反正弦值
math.acos(x):返回x的反余弦值
random库:
random.randrange([start,]stop[,step]):返回(start,stop)范围内的元素,步长为step,随机数
random.randint(a,b):返回[a,b]之间的随机整数
random.random():返回[0.0-1.0)范围内的随机浮点数
random.choice():从非空序列seq中返回一个随机元素,如果seq为空,引发异常
random.sample()序列或集合中的随机抽样
random.seed():随机种子