Python运算符和数据类型
一、Python的逻辑运算符
1、数字运算符:
运算符 | 描述 | 例子 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
2、关系运算符
运算符 | 描述 | 例子 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
3、赋值运算符
运算符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
4、逻辑运算符
下面的a和b的值都是20
运算符 | 逻辑表达式 | 描述 | 例子 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
二、Python的数据类型
1、整型(int)
a = 10
a = -10
a = 080
int(3.5) 返回的结果是3
2、布尔类型(bool)
布尔型就两种值,一种True一种False
B = True b = False
3、浮点型(float)
a = 0.0
a = 10.20
a = -21.9
a = -20
round(float,ndigits)
Float代表数字,ndgits代表的是精度,大规则是四舍五入。
例子:
round(9.615,2) 返回9.62
4、字符串
a = 'abcde'
len(a) 5 有5个字符
a + 'f' 'abcdef'
a * 10 重复10次
'abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde'
字符串常用的方法:
find 查找字符串下标
strip 字符串过滤空格(最前面和最后面的空格)
replace(old,new) 替换字符串内容,老的替换成新的
find(sub) 字符串中查找sub字符串的内容,如果找到,返回sub字符串的下标
format 字符串格式化
startswith(str) 以字符串str开头的
endswith(str) 以字符串str结尾的
[:] 分片,前开后闭,提取从开头到结尾的整个字符串
a = " hello world "
print(a.find("e")) # 返回2
print(a.find("w")) # 返回7
print(a.strip()) # hello world
print(a.replace("w","a")) # 返回hello aorld
name = "yang jian"
age = 18
print("my name is {0},age is {1}".format(name,age))
a = "abcde"
a[1:3] 'bc' 从第二个开始取,到第四个,但是不包括第四个。
a[::1] 'abcde' 取完a后跳一步,然后取b后跳一步.....
a[::2] 'ace' 取完a后跳2步,取c,取完c后跳2步,取e
a[-4:-2] 'bc'
a[-2:-4:-1] 'dc' 从右到左
5、列表
列表的数据项可以是多钟类型。
l = ['a','b','c','1','2','3']
列表常用方法:
append() 在列表末尾增加一个元素,没有返回值
pop() 末尾删除一个元素,返回删除的元素
index() l.index("a")返回元素a的下标
insert() l.insert(3,"ling") 在指定的位置插入元素
remove(value) l.remove("b") 删除一个指定值得元素
reverse() l.reverse() 反序 无返回值
sort(self,cmp=None,key=None,reverse=False) l.sort() 排序
>>> list3 = ['a',1,(1,),['hello','python']] >>> list3 ['a', 1, (1,), ['hello', 'python']] >>> list3[0] = 'b' 改变元素 >>> list3 ['b', 1, (1,), ['hello', 'python']]
列表也可以相加、相乘 list1 + list2 list1 * 2 list1.append('b') del list3[-1] 删除列表中的元素 del list3 删除列表 list1.remove(1) list1.insert(index,value) 在index之前插入 >>> list1 = [1,2,3,1] >>> list1 [1, 2, 3, 1] >>> list1.remove(1) 如果有重复的话,会删除列表里面第一次出现的元素 >>> list1 [2, 3, 1] 2 in list1 list1.insert(1,list4) 在索引1之前插入一个空的列表,但是list4得在插入之前先定义,那么要在空的列表里插入元素,怎么办呢? list1.insert(1,list4) >>> list1 [2, [], 3, 1] >>> list1[1].append('a') >>> list1 [2, ['a'], 3, 1] >>> list1 [1, 2, 3, ['a']] >>> range(5) [0, 1, 2, 3, 4] >>> list1.extend(range(5)) 迭代 >>> list1 [1, 2, 3, ['a'], 0, 1, 2, 3, 4] >>> list1.extend('abcde') 把'abcde'拆分开的,里面也可以放元组,用括号括起来的。list1.extend(('t1','t2')) >>> list1 [1, 2, 3, ['a'], 0, 1, 2, 3, 4, 'a', 'b', 'c', 'd', 'e']
6、元组
元组是序列的一种,值是不可变的。
>>> t = ('a',1,(1,)) 这里加逗号是因为,只有一个元素的话,类型会是该元素的类型,只有加逗号才会是tuple类型。元组里面可以混合放多种类型的元素。
>>> t
('a', 1, (1,))
>>> t1 = (1)
>>> type(t1)
<type 'int'> 只有一个元素,没有加逗号,类型为int。
>>> t1 = (1,)
>>> type(t1)
<type 'tuple'> 只有一个元素,加了逗号,类型为tuple。
>>> t = (a,'b','c')
>>> t
('abcde', 'b', 'c')
>>> first,second,third = t
>>> first
'abcde'
>>> second
'b'
>>> third
'c'
>>> t = ('a','c','f')
>>> t.index('a')
0
>>> t.index('c')
1
>>> help(t.index) 使用帮助