python运算符
Python语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
算数运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
示例
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 a = 60 # 60 = 0011 1100 5 b = 13 # 13 = 0000 1101 6 c = 0 7 8 c = a & b; # 12 = 0000 1100 9 print "1 - c 的值为:", c10 11 c = a | b; # 61 = 0011 1101 12 print "2 - c 的值为:", c13 14 c = a ^ b; # 49 = 0011 000115 print "3 - c 的值为:", c16 17 c = ~a; # -61 = 1100 001118 print "4 - c 的值为:", c19 20 c = a << 2; # 240 = 1111 000021 print "5 - c 的值为:", c22 23 c = a >> 2; # 15 = 0000 111124 print "6 - c 的值为:", c
以上实例输出结果:
1 2 3 4 5 6 | 1 - c 的值为: 12 2 - c 的值为: 61 3 - c 的值为: 49 4 - c 的值为: - 61 5 - c 的值为: 240 6 - c 的值为: 15 |
运算符优先级:
python的数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
1 >>> True2 True3 >>> False4 False5 >>> 3 > 26 True7 >>> 3 > 58 False
and运算是与运算,只有所有都为True,and运算结果才是True:布尔值可以用and、or和not运算。
1 >>> True and True2 True3 >>> True and False4 False5 >>> False and False6 False
or运算是或运算,只要其中有一个为True,or运算结果就是True:
1 >>> True or True2 True3 >>> True or False4 True5 >>> False or False6 False
布尔值经常用在条件判断中,比如:
1 if age >= 18:2 print 'adult'3 else:4 print 'teenager'
字符串
a)字符串定义
字符串或串(String)是由数字、字母、下划线组成的一串字符。,字符串是我们最常用到的,我们用 '', "", "''"(三重引号(docstring)除了能定义字符串以外,还可以用作注释),都可以定义字符串,特性不可修改,例子付下:
1 >>> str1 = "qwewqeqwe"2 >>> str2 = 'qwewqe'3 >>> str3 = "'qweqrqasd'"
b)字符串方法
1 name = 'caicaidetong' 2 name.capitalize() 首字母大写 3 name.casefold() 大写全部变小写 4 name.center(50,"-") 输出 '---------------------caicaidetong----------------------' 5 name.count('cai') 统计 cai出现次数 6 name.encode() 将字符串编码成bytes格式 7 name.endswith("ong") 判断字符串是否以ong结尾 8 name.find('A') 查找A,找到返回其索引, 找不到返回-1 9 10 format : 连接字符串方法,格式化字符串11 >>> msg = "my name is {}, and age is {}"12 >>> msg.format("caicai",24)13 'my name is caicai, and age is 22'14 >>> msg = "my name is {1}, and age is {0}"15 >>> msg.format("caicai",24)16 'my name is 24, and age is caicai'17 >>> msg = "my name is {name}, and age is {age}"18 >>> msg.format(age=24,name="caicai")19 'my name is caicai, and age is 24'20 21 22 23 msg.index('c') 返回a所在字符串的索引24 msp.split(' ') 分割字符串25 msg.strip() 删除头部和尾部的空格26 msg.swapcase() 大小写互换27 28 >>> b="ddefdsdff_哈哈"29 >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则30 True
1 字符串切片(顾头不顾尾) 2 str = '0123456789′ 3 print str[0:3] #截取第一位到第三位的字符 4 print str[:] #截取字符串的全部字符 5 print str[6:] #截取第七个字符到结尾 6 print str[:-3] #截取从头开始到倒数第三个字符之前 7 print str[2] #截取第三个字符 8 print str[-1] #截取倒数第一个字符 9 print str[::-1] #创造一个与原字符串顺序相反的字符串10 print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符11 print str[-3:] #截取倒数第三位到结尾
列表list
列表是由一序列特定顺序排列的元素组成的。可以把字符串,数字,字典等都可以任何东西加入到列表中,日中的元素之间没有任何关系。列表也是自带下标的,默认也还是从0开始。
列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
定义列表
1 list1 = ['a',1,'123','qwe']
通过下标访问列表中的元素,下标从0开始计数
>>> list1 = ['a',1,'123','qwe']>>> list1[1] 取第二个值1>>> list1[0] 取第一个值'a'>>> list1[-1] 取最后一个值,'qwe'
切片操作
1 >>> list1[1:4] 取下标1到4的值,不包含4 2 [1, '123', 'qwe'] 3 >>> list1[1:-1] 取下标1到最后一个值,不包含最后一个。 4 [1, '123'] 5 >>> list1[0:3] 取下标0到3的值,不包含下标3的值 6 ['a', 1, '123'] 7 >>> list1[:3] 取开头到3的值 8 ['a', 1, '123'] 9 >>> list1[2:] 取2到结尾的值 10 ['123', 'qwe']11 >>> list1[0::2] 取0到结尾的值, 2表示间隔一个值,取一个12 ['a', '123']
列表其他常用操作
1 追加 append 2 3 >>> list1.append("xin") 4 >>> list1 5 ['a', 1, '123', 'qwe', 'xin'] 6 插入insert 7 8 >>> list1.insert(2,'charu') 从下标2后面插入 9 >>> list110 ['a', 1, 'charu', '123', 'qwe', 'xin']11 删除12 13 >>> list1.pop() 删除最后一个值14 'xin'15 >>> list116 ['a', 1, 'charu', '123', 'qwe']17 >>> list1.remove('qwe') 删除指定值18 >>> list119 ['a', 1, 'charu', '123'] 20 >>> list1.sort() 排序 21 >>> list1 22 ['1', '123', 'a', 'charu']