python学习(4),,按位运算按位 & |
python学习(4),,按位运算按位 & |
按位运算按位 & | ^ ~
>> 3&3
3
>> 3&1
1
>> 2|1
3
异或
^
相同为0,不用为1
Is
判断两个对象是否相等,两个对象的id()值相等才相等
Python缓存 -5~256的较小值,指向其的变量对象id值相等
operator
#coding=utf-8import operatorprint (operator.add(1,1))print (operator.sub(2,1))print (operator.mul(2,3))print (operator.truediv(6,2))print (operator.contains("ab","a"))print (operator.pow(2,3))print (operator.ge(1,1))print (operator.gt(2,1))print (operator.le(1,2))print (operator.eq(1,1))
python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块。
eval()
表达式求值,只能执行单行表达式,有返回值
>> s = "1+2+3"
>> eval(s)
6
>> su = eval(s)
>> su
6
>> eval("1+2")
3
exec()
exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块,可以执行多行语句,没有返回值;
>> e =‘print("hello")‘
>> exec(e)
Hello>> exec("a = 2+3")
>> a
5>> s = """
... for i in list(range(10)):
... print(i+1)
... """
>> exec(s)
1
2
3
4
5
6
7
8
9
10
标准输出
sys.stdout.write()
>> import sys
>> sys.stdout.write("d")
d1
>> sys.stdout.write("dd")
dd2
标准错误输出
>> sys.stderr.write("Error")
5
Error>>>
标准输入
>> a = sys.stdin.read()
353
^Z
>> a
‘353\n‘
print(‘hello:?‘,end=‘‘)hi=sys.stdin.readline()[:-1]
打印内容保存到文件
import sysprint(‘Fatal error: invali input!‘,file=open("e:\\log.out","w"))print(‘Fatal error: invali input! ‘,file=sys.stderr)#打印错误
math.pi
>> import math
>> math.pi
3.141592653589793
练习题:
1、把字符串中的所有数字去掉。
#coding=utf-8s = "a1b2c3b4d5dddddd"letters_list = []for v in s: if v not in "0123456789": letters_list.append(v)print("".join(letters_list))print("".join([v for v in s if v.isalpha()]))print("".join(filter(lambda x:x not in "0123456789",s)))print("".join(filter(lambda x:x.isalpha(),s)))
2、三个数排序
#coding=utf-8
def sort_2(a,b,c): if a > b: a,b = b,a if a > c: a,c = c,a if b > c: b,c =c,b return a,b,cprint(sort_2(3,1,9))
3、求一个列表中的最大值
def max(a): #找到列表的最大值 max_num = a[0] for i in a: if i > max_num: max_num =ireturn max_numa = [1,2,3,4,5]print(max(a))
python学习(4)
评论关闭