1、。- 减 得到负数或是一个数减去另一个数 -5.2得到一个负数。50 - 24得到26。* 乘 两个数相乘或是返回一个被重复若干次的字符串 2 * 3得到6。la * 3得到lalala* 幂 返回x的y次幂3 * 4得到81(即3 * 3 * 3 * 3)/ 除 x除以y 4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333/ 取整除 返回商的整数部分 4 / 3.0得到1.0% 取模 返回除法的余数 8%3得到2。-25.5%2.25得到1.5 左移 把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1) 2 右移
2、 把一个数的比特向右移一定数目 11 1得到5。11按比特表示为1011,向右移动1比特后得到101,即十进制的5。& 按位与 数的按位与 5 & 3得到1。| 按位或 数的按位或 5 | 3得到7。 按位异或 数的按位异或 5 3得到6 按位翻转 x的按位翻转是-(x+1) 5得到6。 小于 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 5 3返回0(即False)而3 5返回1(即True)。比较可以被任意连接:3 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回Fa
3、lse。= 小于等于 返回x是否小于等于y x = 3; y = 6; x = 等于 比较对象是否相等 x = 2; y = 2; x = y返回True。x = str; y = stR x = y返回False。!= 不等于 比较两个对象是否不相等 x = 2; x !not 布尔“非” 如果x为True,返回False。如果x为False,它返回True。 x = True; not y返回False。and 布尔“与” 如果x为False,x and y返回False,否则它返回y的计算值。 x = False; y = True; x and y,由于x是False,返回False。
4、在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。or 布尔“或” 如果x是True,它返回True,否则它返回y的计算值。 y = False; x or y返回True。短路计算在这里也适用。 2. 运算符优先级(从低到高)运算符 描述lambda Lambda表达式or 布尔“或”and 布尔“与”not x 布尔“非”in,not in 成员测试is,is not 同一性测试,=,!=,= 比较| 按位或 按位异或 按位与 移位+,- 加法与减法*,/,% 乘法、除法与取余+x,-x 正负号x 按位翻转* 指数x.at
5、tribute 属性参考xindex 下标xindex:index 寻址段f(arguments.) 函数调用(experession,.) 绑定或元组显示expression,. 列表显示key:datum,. 字典显示expression,. 字符串转换 3. python 控制台输出 使用printprint abc #打印abc并换行abc%s % d #打印abcdabc%sef%s % (, g) #打印abcdefg三、控制流1. if 语句i = 10n = int(raw_input(enter a number:)if n = i: print equalelif n 删除
6、一个变量/名称,del之后,该变量就不能再使用。六、数据结构python有三种内建的数据结构:列表、元组和字典。1. 列表list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项目包含在方括号中,eg: 1, 2, 3, 空列表。判断列表中是否包含某项可以使用in, 比如 l = 1, 2, 3; print 1 in l; #True;支持索引和切片操作;索引时若超出范围,则IndexError;使用函数len()查看长度;使用del可以删除列表中的项,eg: del l0 # 如果超出范围,则IndexErrorlist函数如下:append(value)-向列表尾添加项val
7、uel = 1, 2, 2l.append(3) #1, 2, 2, 3count(value)-返回列表中值为value的项的个数print l.count(2) # 2extend(list2)-向列表尾添加列表list2l1 = 10, 20l.extend(l1)print l #1, 2, 2, 10, 20index(value, start, stop)-返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueErrora = 4try: print l.index(a)except ValueError, ve:there is no %d in list %
8、ainsert(i, value)-向列表i位置插入项vlaue,如果没有i,则添加到列表尾部l.insert(1, 100)print l #1, 100, 2, 2l.insert(100, 1000)print l #1, 100, 2, 2, 1000pop(i)-返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexErrorl = 0, 1, 2, 3, 4, 5print l.pop() # 5print l #0, 1, 2, 3, 4print l.pop(1) #1print l #0, 2, 3, 4 l.pop(1
9、00)except IndexError, ie:index out of rangeremove(value)-删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueErrorl = 1, 2, 3, 1, 2, 3l.remove(2)print l #1, 3, 1, 2, 3 l.remove(10)there is no 10 in listreverse()-列表反转l = 1, 2, 3l.reverse()print l #3, 2, 1sort(cmp=None, key=None, reverse=False)-列表排序【Python Library
10、Reference】cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument:cmp=lambda x,y: cmp(x.lower(), y.lowe
11、r()key:key specifies a function of one argument that is used to extract a comparison key from each list element: key=str.lowerreverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes
12、 are much faster than specifying an equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once.l5 = 10, 5, 20, 1, 30l5.sort()print l5 #1, 5, 10, 20, 30l6 = bcdcdebbbl6.sort(cmp = lambda s1, s2: cmp(s10,s21)print l6 #
13、abc, bbbbcdcdel7 = fafl7.sort(key = lambda s: s1)print l7 #faf2. 元组tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义;可以使用 in查看一个元素是否在tuple中。空元组();只含有一个元素的元组(a,) #需要加个逗号tuple比list速度快;对不需要修改的数据进行写保护,可以是代码更安全tuple与list可以相互转换,使用内置的函数list()和tuple()。print l # 1, 2, 3t = tuple(l)print t # (1, 2, 3)l
14、1 = list(t)print l1 #1, 2, 3元组最通常的用法是用在打印语句,如下例:name = Peter Zhangage = 25Name: %s; Age: %d % (name, age)# Name: Peter Zhang; 25函数如下:count(value)-返回元组中值为value的元素的个数t = (1, 2, 3, 1, 2, 3)print t.count(2) # 2print t.index(3) # 2 print t.index(4)there is no 4 in tuple # there is no 4 in tuple 3. 字典字典由键
15、值对组成,键必须是唯一的;eg: d = key1:value1, key2:value2;空字典用表示;字典中的键值对是没有顺序的,如果想要一个特定的顺序,那么使用前需要对它们排序;dkey = value,如果字典中已有key,则为其赋值为value,否则添加新的键值对key/value;使用del dkey 可以删除键值对;判断字典中是否有某键,可以使用in 或 not in;d = d1 = one2two3threedel dfor key, value in d.items():%s - %s % (key, value)#1 - one#2 - twodict函数如下:clear
16、()-删除字典中所有元素d1 = :d1.clear()print d1 # copy()-返回字典的一个副本(浅复制)d2 = d1.copy()print d2 #1one2twodict.fromkeys(seq,val=None) -创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)t = (1, 2, 3)d3 = .fromkeys(l)print d3 #1: None, 2: None, 3: Noned4 = .fromkeys(t, defaultprint d4 #1:default, 2:, 3:get(key,default)-返回字典dict中键key对应值,如果字典中不存在此键,则返回default 的值(default默认值为None)d5 = 1:print d5.get(1) #oneprint d5.get(5) #Noneprint d5.get(5, test) #testhas_key(key)-判断字典中是否有键keyd6 = 1:print d6.has_key(1) #Trueprint d6.has_key(5) #
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1