+ - * / 取整// 求幂** 取模(求余)%
数值型数据:乘法; 序列类型:对内容进行重复
>>> 2*3 6 >>> 'ab'*5 'ababababab'Python2.x中两个数据中只要有浮点数,结果就为浮点数 Python3.x中结果全为浮点数
>>> 3/2 1.5 >>> 3.5/2 1.75变量=表达式
>>> y=2 >>> x=(y+2)/5 >>> x 0.8链式赋值:将同一个值赋给多个变量
>>> x=y=5 >>> x 5 >>> y 5并行赋值: 变量1,变量2,…,变量n=表达式1,表达式2,…,表达式n 等号右边执行过程:从左至右
>>> x,y,z=1,3,5 >>> x,x=1,2 >>> x 2交换数据:x,y=y,x
+= -= *= /= //= **= %= >>= <<= &= |= ^= a+=3等价于a=a+3 a*=a+3等价于a=a*(a+3)
> >= < <= (优先级高) == !=(优先级低) 结合方向:自左向右
<表达式>关系运算符<表达式> 注意符号区别"=“与”=="
>>> x,y,z=2,3,5 >>> x<y True >>> z<y False >>> x<y<z True浮点数进行一系列运算可能会发生四舍五入的情况,如:
>>> x=123456 >>> y=-111111 >>> z=1.2345678 >>> a=(x+y)+z >>> b=x+(y+z) >>> a 12346.2345678 >>> b 12346.234567799998可通过绝对误差(或相对误差)的形式给出,写为:
>>> a==b False >>> import math >>> math.fabs(a-b)<0.0000001 True即关系运算符连用
>>> x=5 >>> 0<=x<=10 True >>> 0<=x<=3 Falseand:逻辑与:均真为真,否则为假(双目、三目运算) or:逻辑或:均假为假,否则为真 not:逻辑非:与表达式相反(单目运算) 优先级:非>与>或 求值原则:从左向右(第一个表达式能决定结果的,不再计算后面的表达式)
例子:判断字符变量ch是否是 (1)数字字符: ch>=‘0’ and ch<=‘9’ (2)英文字母: (ch>=‘A’ and ch<=‘Z’) or (ch>=‘a’ and ch<=‘z’) 判断整形变量x是否在0到100之间: x>=0 and x<=100 0<=x<=100
in 和 not in 判断某一个元素是否在某一个序列中,或者判断一个字符是否属于某个字符串等,运算结果为True或False 左结合
>>> 'a'in'abcd' True >>> 'ac'in'abcd' False >>> 'ab'in'abcd' True >>> 3 not in [1,2,3,4] Falseis 和 is not 用于测试两个变量是否指向同一个对象(id是否相同),其运算结果为逻辑值 左结合 is与==的区别:==用来比较判断两个对象的值是否相等;is比较判断的是对象间的唯一身份标识 浮点数:
>>> x=y=3.5 >>> z=3.5 >>> x is y True >>> x is z False整数:(Why?)
>>> x=y=1 >>> z=1 >> x is y True >>> x is z True①一般一个程序分三步进行:输入原始数据、进行计算处理、输出运算结果 ②标准输入输出指利用键盘输入输出
一般格式:input([提示字符串])
①函数返回结果的类型由输入时使用的界定符来决定: >>>x=input("Please enter your input:") Please enter your input:5整数;'5'字符串;[1,2,3]列表;(1,2,3)元组 ②提供raw_input()函数,将所有用户的输入都作为字符看待,返回字符串类型 5→'5';(1,2,3)→'(1,2,3)'
①仅保留了input()函数,接收任意输入,将所有输入默认为字符串处理
>>> x=input("Please enter your input:") Please enter your input:5 >>> type(x) <class 'str'> >>> x=input("Please enter your input:") Please enter your input:(1,2,3) >>> type(x) <class 'str'>②如果要输入数值类型数据,可以使用类型转换函数将字符串转换为数值
>>> x=int(input("Please enter your input:")) Please enter your input:5 >>> type(x) <class 'int'>③input()函数也可给多个变量赋值
>>> x,y=eval(input()) #等价于x,y=(3,4) 3,4 >>> x 3 >>> y 4eval([字符串])功能:将字符串str当成有效的表达式来求值并返回计算结果
>>> x=5 >>> eval('3*x') 15 >>> eval('print(x)') 5Python3.x中使用print()函数输出(Python2.x中使用print语句输出)
print()函数的一般形式: print([输出项1,输出项2,…,输出项n][,sep=分隔符][,end=结束符])
>>> x,y=2,3 >>> print(x,y) 2 3 >>> print(x,y,sep=':') 2:3 >>> print(x,y,sep=':',end='%') 2:3%print()函数可以按照指定的输出格式在屏幕上输出相应的数据信息 基本做法:将输出项格式化,然后使用表达式的形式或print()函数输出
格式控制字符串%(输出项1,输出项2,…,输出项n) 常规字符:包括可显示的字符和用转义字符表示的字符 格式控制符:决定所对应的输出项的格式,以%开头的一个或多个字符
>>> print("sum=%o"%123) #将123用八进制表示 sum=173 常用格式说明符 字母格式d或i十进制格式o八进制格式x、X十六进制格式c一个字符格式s字符串格式f实数格式e、E指数格式g、Ge和f中较短一种格式 附加格式说明符一般形式:%[附加格式说明符]格式符
>>> value=8.123 >>> print('%6.2f'%value)#占6个列宽,2位小数,靠右对齐,左边空格 8.12 >>> print('.2f'%value)#占6个列宽,2位小数,靠右对齐,用0补足 008.12 >>> print('%-04X-'%(10,100))#10用16进制,占4个列宽,左对齐;100用十进制,占2个列宽,右对齐(100比2位多,不用补空格) A 100 >>> print('%.2e'%1.2888)#将1.2888以指数形式输出,保留2位小数 1.29e+00一般形式: 格式字符串.format()(输出项1,输出项2,…,输出项n) 其中,格式字符串一般形式为: {[序号或键]:格式说明符}
序号从0开始
>>> "{} {}".format("hello","world") 'hello world' >>> "{0} {1}".format("hello","world") 'hello world' >>> "{1}{0} {1}".format("hello","world") 'worldhello world'