浮点数相加最好不要直接判断,经过round处理后再判断
比如在idle设置 0.1 + 0.2 == 0.3 (False)
原因是二进制存储导致末尾可能不同,round(0.1+ 0.2, 2) == 0.3 (True)
复数表示法:complex
complex(1,2) -->1+2j
//向左取整
-3//2-->-2
python所有字符都是以字符串存在的
+连接字符串,且只能和字符串类型相加,其他类型会报错,不同类型也不可以比较
*复制字符串
3<5>2 等价于 3<5 and 5>2
求幂运算从右向左结合
int(" 35")>>>35
而
int(" 3 5")>>>error
多变量赋值
x,*y ="abc"
print(x)>>>a
print(y)>>>['b','c']
区分
x, ="ab"
print(x)>>>a
print(y)>>>b
python自带sum函数
result = sum(list(range(0,n)))
或者借助第三个变量
累乘的话,并没有一个这样现成的函数,所以需要借助第三个变量
列表推导式
想要运行时间短,用列表解析求和程序。想要占有空间少,用 for 语句求和程序。
列表支持加法、乘法、比较、索引、切片等
在列表推导式中有几种添加if条件的方法。
方式1: 起过滤作用
[expr(x) for x in li if cond(x)]
方式2: 作为三元表达式使用,满足条件将其作expr1处理,不满足做expr2处理
[expr1(x) if cond(x) else expr2(x) for x in li]
format使用
个人通俗化理解,{}内是想要数据展示出的格式,加.format就是让format内的变量按照花括号内的格式输出。
(图片来自浙大pythonmooc)
format函数产生的结果是字符串!
int函数不可转换以小数表示的字符串
即int(10.3)-->error
某字符是否在字符串内
'3' in "123"
'3' not in "123"
只能判断一个元素
%格式化输出
(1)
print('I am %d years old.' % 26)
print('I am %d years old and weight is %d kg.' % (26, 57))
>>>
I am 23 years old.
I am 23 years old and weight is 57 kg.
如果
print('I am %d years old and weight is %d kg.' % 23, % 57)>>>error
(2)
print('I am %.1f years old.' % 23.535)>>>I am 23.5 years old.