去除 空格(strip / rstrip / lstrip)
strip:去除左右空格,也就是头部和尾部空格都去掉;
rstrip:去除右侧空格,也就是尾部;(R:right 右边)
lstrip:去除左侧空格,也就是头部;(L:left 左边)
#!/usr/bin/env python
#coding=utf-8
x = ' aaa '
print len(x) # 输出 12
print len(x.rstrip()) # 输出 6 因为尾部空格被去除
print len(x) # 此时输出还是12
# 但是x变量本身并没有去除尾部空格,若要去除,则需要给x重新赋值
x = x.rstrip()
print len(x) # 此时输出 6
# 同理
print x.lstrip()
print x.strip()
加、减、乘、除、乘方、取整、取模
# 加
x = 1
y = 2
print x + y
# 减
print x - y
# 乘
print x * y
# 除
print x / y # 结果 0
# 乘方
print x ** y # 表示 x 的 y 次方
x = 2;y=3
print x + y,x - y,x * y, x / y, x ** y
# 结果 5 -1 6 0 8
#浮点数 需要注意,得到的结果,可能与认知中的结果不一样
print 0.2 + 0.1 # 结果 0.30000000000000004
x = 35; y = 2
print x % y # 1 取余或取模
x = 35; y = 2
print x // y # 17 取整(向下取整)
x = -9; y = 2
print x // y # -5 向下取整
比较运算符
==
!=
>
<
>=
<=
逻辑运算符
and
or
not
位运算符
&
|
^
~
<<
>>
成员运算符
in
not in
a = 1
l = [1,2,3,4,5]
if(a in l): # if ( a not in l):
print 'in'
else:
print 'not in'
身份运算符
判断的是:是否来自同一个引用,或者同一个内存引用
is
is not
# 经过测试,不同的写法,会导致判断得到的结果不一样
>>> x = 2.0;y=2.0
>>> x is y
True
>>> x = 2.0
>>> y = 2.0
>>> x is y
False
字符串拼接
# 在不确定变量类型时,又希望进行字符串拼接,良好的习惯是把变量显示转换为字符串
x = 123 # 数值类型
print 'abc' + x + 'def' # 报错
print 'abc' + str(x) + 'def' #正确 abc123def
遍历
x = ['a',1,'b','c']
for i in x:
print i
v = 3
for i in range(v):
print i, # 0 1 2
for i in range(2,5):
print i, # 2 3 4
复制
x=['a','b']
y = x[:] #完全复制,深拷贝
利用range快速创建数值列表
v = list(range(4,10))
print v # [4,5,6,7,8,9]
列表解析
对我来说,很奇特的写法
s = [value**2 for value in range(1,4)] # 注意,没有冒号!
print s # 输出 [1,4,9]
统计 min max sum
x = [1,2,3,4,5,6]
print min(x) # 1
print max(x) # 6
print sum(x) # 21