首页 > 技术文章 > Python运算符和数据类型

yangjian319 2018-03-30 22:31 原文

一、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)     使用帮助

 

 
 
 

推荐阅读