python 常用方法总结
2015-12-01 16:25
197 查看
1.isalnum()方法
描述
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 #coding:utf8 #add minus divide using python 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的功能
# This class provides the functionality we want. You only need to look at
# this if you want to know how this works. It only needs to be defined
# once, no need to muck around with its internals.
class switch(object):
def __init__(self, value):
self.value = value
self.fall = False
def __iter__(self):
"""Return the match method once, then stop"""
yield self.match
raise StopIteration
def match(self, *args):
"""Indicate whether or not to enter a case suite"""
if self.fall or not args:
return True
elif self.value in args: # changed for v1.5, see below
self.fall = True
return True
else:
return False
# The following example is pretty much the exact use-case of a dictionary,
# but is included for its simplicity. Note that you can include statements
# in each suite.
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(): # default, could also just omit condition or 'if True'
print "something else!"
# No need to break here, it'll stop anyway
6、join()函数
语法: 'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
str = "-"; seq = ("a", "b", "c"); # 字符串序列 print str.join( seq );
以上实例输出结果如下:
a-b-c
7.zip()函数
一、定义:
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)按照元素长度排序
[align=left]L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left]def f(x):[/align]
[align=left] return len(x)[/align]
sort(key=f)
[align=left]print L[/align]
[align=left]输出:[/align]
[align=left][{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}][/align]
[align=left](2)按照每个字典元素里面key为1的元素的值排序[/align]
[align=left]L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left]def f2(a,b):[/align]
[align=left] return a[1]-b[1][/align]
[align=left]L.sort(cmp=f2)[/align]
[align=left]print L[/align]
[align=left]输出:[/align]
[align=left][{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}][/align]
[align=left]注意:[/align]
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<<N 将一个数字X所对应的二进制数向左移动N位.
举例:
3<<2
解法:11向左移动两位变为1100,即12.
右移动运算符 >>
方法: X>>N 将一个数字X所对应的二进制数向右移动N位.
举例:
3>>2
解法:11向右移动两位变为0.
10>>1
解法:10的二进制是1010,向右边移动一位是101,即5.
相关文章推荐
- python 基础(函数,参数)
- python基础(json,socket)
- 检测输入的是几位数
- Python+Selenium自动化
- python 基本操作 多维数组 循环
- python根据百度地图api将地址转成经纬度
- The Zen of Python
- 决定配置完整的python ubuntu14.04 python-dev distribute
- Python 多线程学习03
- Python基础——使用with结构打开多个文件
- leetcode之Palindrome Linked List
- Python的几个开
- python [3.2] urllib的使用
- Python 多线程学习02
- python入门--基本数据类型
- 解决vim中Python代码不能识别中文
- Python——作用域基础
- python里爬取页面中图片命令
- 【知识】Python字符串操作
- python学习笔记