描述
Python isalnum() 方法检测字符串是否由字母和数字组成。
语法
isalnum()方法语法:
str.isa1num()
参数
无。
返回值
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
实例
以下实例展示了isalnum()方法的实例:
#!/usr/bin/python
str = "this2009"; # No space in this string
print str.isalnum();
str = "this is string example....wow!!!";
print str.isalnum();
以上实例输出结果如下:
True
False
2.Python lower()方法
描述
Python lower() 方法转换字符串中所有大写字符为小写。
语法
lower()方法语法:
str.lower()
参数
返回值
返回将字符串中所有大写字符转换为小写后生成的字符串。
实例
以下实例展示了lower()的使用方法:
#!/usr/bin/python
str = "THIS IS STRING EXAMPLE....WOW!!!";
print str.lower();
以上实例输出结果如下:
this is string example....wow!!!
3.enumerate 函数
用法:用于遍历序列中的元素以及它们的下标:
>>> for i,j in enumerate(('a','b','c')):
print i,j
0 a
1 b
2 c
>>> for i,j in enumerate([1,2,3]):
print i,j
0 1
1 2
2 3
>>> for i,j in enumerate({'a':1,'b':2}):
print i,j
0 a
1 b
>>> for i,j in enumerate('abc'):
print i,j
0 a
1 b
2 c
4.eval()函数
eval
通常用来执行一个字符串表达式,并返回表达式的值。
eval(expression[, globals[, locals]])
有三个参数,表达式字符串,globals
变量作用域,locals
变量作用域。 其中第二个和第三个参数是可选的。
如果忽略后面两个参数,则eval
在当前作用域执行。
>>> a=1
>>> eval("a+1")
2
>>>
如果指定globals
参数
>>> a=1
>>> g={'a':10}
>>> eval("a+1",g)
11
>>>
如果指定locals
参数
>>> a=10
>>> b=20
>>> c=20
>>> g={'a':6,'b':8}
>>> l={'b':9,'c':10}
>>> eval("a+b+c",g,l)
25
>>>
如果要严格限制eval
执行,可以设置globals
为__builtins__
,这样 这个表达式只可以访问__builtin__
module。
忠告
exec
,eval
给我带来了极大的灵活性,同时也带来了隐含的危险性, 当我们使用它们的时候应该总是记得详细指定其执行的作用域。
5.python本身没有switch语句,解决方法有以下3种:
A.使用dictionary
-
-
- from __future__ import division
- def jia(x,y):
- return x+y
- def jian(x,y):
- return x-y
- def cheng(x,y):
- return x*y
- def chu(x,y):
- return x/y
- operator={"+":jia,"-":jian,"*":cheng,"/":chu}
- def f(x,o,y):
- print(operator.get(o)(x,y))
- f(1,'+',3)
- f(1,'-',3)
- f(2,'*',3)
- f(1,'/',3)
B.使用lambda
def calc(a, b, o):
return {'+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y}[o](a, b)
calc(10, 20, '+')
C.Brian Beck提供了一个类 switch 来实现其他语言中switch的功能
- class switch(object):
- def __init__(self, value):
- self.value = value
- self.fall = False
- def __iter__(self):
-
- yield self.match
- raise StopIteration
- def match(self, *args):
-
- if self.fall or not args:
- return True
- elif self.value in args:
- self.fall = True
- return True
- else:
- return False
- v = 'ten'
- for case in switch(v):
- if case('one'):
- print 1
- break
- if case('two'):
- print 2
- break
- if case('ten'):
- print 10
- break
- if case('eleven'):
- print 11
- break
- if case():
- print "something else!"
-
6、join()函数
语法: 'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
一、定义:
zip([iterable, ...])
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。
二、用法示例:
读者看看下面的例子,对zip()函数的基本用法就可以明白了:
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]
8.split()方法
描述
Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法
split()方法语法:
str.split(str="", num=string.count(str)).
参数
- str -- 分隔符,默认为空格。
- num -- 分割次数。
返回值
返回分割后的字符串列表。
实例
以下实例展示了split()函数的使用方法:
#!/usr/bin/python
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( );
print str.split(' ', 1 );
以上实例输出结果如下:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
9.sort函数
sort函数是序列的内部函数
函数原型:
L.sort(cmp=None, key=None, reverse=False)
函数作用:
它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序
参数说明:
(1) cmp参数
cmp接受一个函数,拿整形举例,形式为:
def f(a,b):
return a-b
如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;
a逻辑等于b,函数返回0;
a逻辑大于b,函数返回正数就行了
(2) key参数
key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
(3) reverse参数
接受False 或者True 表示是否逆序
sort举例:
(1)按照元素长度排序
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def
f(x):
return
len(x)
sort(key=f)
print L
输出:
[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]
(2)按照每个字典元素里面key为1的元素的值排序
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def
f2(a,b):
return
a[
1
]-b[
1
]
L.sort(cmp=f2)
print
L
输出:
[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]
注意:
sorted函数是内建函数,他接受一个序列,返回有序的副本
他与sort的唯一区别就是会返回副本
10.Strip()函数
函数原型
声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
例如:
2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
例如 :
11.移位操作
左移运算符 <<
方法: X< 举例:
3<<2
解法:11向左移动两位变为1100,即12.
右移动运算符 >>
方法: X>>N 将一个数字X所对应的二进制数向右移动N位.
举例:
3>>2
解法:11向右移动两位变为0.
10>>1
解法:10的二进制是1010,向右边移动一位是101,即5.