python day03
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python day03相关的知识,希望对你有一定的参考价值。
一、eclipse的使用
- 可能是全宇宙最好用的IDE
- debug
- 查看执行过程
- 查看源码
二、模块的常用方法
- __name__
- __file__
- __doc__
三、函数
- 参数
- 参数默认值
- 可变参数
- 返回值
‘‘‘ def Foo(): print ‘Foo‘ def Foo(arg) print arg def Foo(arg=‘alex‘): print arg #必须放在最后 def Foo(arg1,arg2): print arg1,arg2 Foo(arg2=‘alex‘,arg1=‘kelly‘) def Foo(arg,*args): print arg,args Foo(‘alex‘,‘kelly‘,‘tom‘) def Foo(**kargs): print kargs.keys() print kargs.values() Foo(k1=‘sb‘,k2=‘alex‘) ‘‘‘
四、yield
def AlexReadlines(): seek = 0 while True: with open(‘D:/temp.txt‘,‘r‘) as f: f.seek(seek) data = f.readline() if data: seek = f.tell() yield data else: return for i in AlexReadlines(): print i
五、三元运算和lambda表达式
1
2
|
result = ‘gt‘ if 1 > 3 else ‘lt‘ print result |
1
2
|
a = lambda x,y:x + y print a( 4 , 10 ) |
六、内置函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#print help() print dir () print vars () #print type() import temp import temp reload (temp) id ([ 12 ]) #is - - - - - - - - - - - - - - - - - - cmp ( 2 , 3 ) cmp ( 2 , 2 ) cmp ( 2 , 1 ) cmp ( 10 , 1 ) abs () bool () divmod () max () min () sum () pow ( 2 , 11 ) - - - - - - - - - - - - - - - - - - len () all () any () - - - - - - - - - - - - - - - - - - chr () ord () hex () oct () bin () - - - - - - - - - - - - - - - - - - print range ( 10 ) print xrange ( 10 ) for i in xrange ( 10 ): print i for k,v in enumerate ([ 1 , 2 , 3 , 4 ]): print k,v - - - - - - - - - - - - - - - - - - s = ‘i am {0}‘ print s. format ( ‘alex‘ ) str ( 1 ) - - - - - - - - - - - - - - - - - - def Function(arg): print arg print apply (Function,( ‘aaaa‘ )) #执行函数 print map ( lambda x:x + 1 ,[ 1 , 2 , 3 ]) #all print filter ( lambda x: x = = 1 ,[ 1 , 23 , 4 ]) #True序列 print reduce ( lambda x,y:x + y,[ 1 , 2 , 3 ]) #累加 x = [ 1 , 2 , 3 ] y = [ 4 , 5 , 6 ] z = [ 4 , 5 , 6 ] print zip (x, y,z) - - - - - - - - - - - - - - - - - - #__import__() #hasattr() #delattr() #getattr() module = __import__ ( ‘temp‘ ) print dir (module) val = hasattr (module, ‘version‘ ) print val - - - - - - - - - - - - - - - - - - #callable() #函数、类必须要有 __call__ 方法 #compile #eval com = compile ( ‘1+1‘ ,‘ ‘,‘ eval ‘) print eval (com) #exec语句 code = "for i in range(0, 10): print i" cmpcode = compile (code, ‘ ‘, ‘ exec ‘) exec cmpcode code = "print 1" cmpcode = compile (code, ‘ ‘, ‘ single‘) exec cmpcode - - - - - - - - - - - - - - - - - - #isinstance() #issubclass() #super() #staticmethod() |
更多,猛击这里
七、常用模块
1、random 用于生成随机数
1
2
3
4
|
import random print random.random() print random.randint( 1 , 2 ) print random.randrange( 1 , 10 ) |
应用场景:生成随机验证码
1
2
3
4
5
6
7
8
9
10
|
import random checkcode = ‘‘ for i in range ( 4 ): current = random.randrange( 0 , 4 ) if current ! = i: temp = chr (random.randint( 65 , 90 )) else : temp = random.randint( 0 , 9 ) checkcode + = str (temp) print checkcode |
2、md5 加密
1
2
3
4
5
6
7
8
9
10
|
import md5 hash = md5.new() hash .update( ‘admin‘ ) print hash .hexdigest() import hashlib hash = hashlib.md5() hash .update( ‘admin‘ ) print hash .hexdigest() |
3、序列化和json
4、re
- compile
- match search findall
- group groups
正则表达式常用格式:
字符:\d \w \t .
次数:* + ? {m} {m,n}
5、time
6、sys
1
2
3
4
5
6
7
8
9
10
|
sys.argv 命令行参数 List ,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit( 0 ) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的 Int 值 sys.maxunicode 最大的 Unicode 值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write( ‘please:‘ ) val = sys.stdin.readline()[: - 1 ] print val |
7、os
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir( "dirname" ) 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ( ‘.‘ ) os.pardir 获取当前目录的父目录字符串名:( ‘..‘ ) os.makedirs( ‘dirname1/dirname2‘ ) 可生成多层递归目录 os.removedirs( ‘dirname1‘ ) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir( ‘dirname‘ ) 生成单级目录;相当于shell中mkdir dirname os.rmdir( ‘dirname‘ ) 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir( ‘dirname‘ ) 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove() 删除一个文件 os.rename( "oldname" , "newname" ) 重命名文件 / 目录 os.stat( ‘path/filename‘ ) 获取文件 / 目录信息 os.sep 输出操作系统特定的路径分隔符,win下为 "\\",Linux下为" / " os.linesep 输出当前平台使用的行终止符,win下为 "\t\n" ,Linux下为 "\n" os.pathsep 输出用于分割文件路径的字符串 os.name 输出字符串指示当前使用平台。win - > ‘nt‘ ; Linux - > ‘posix‘ os.system( "bash command" ) 运行shell命令,直接显示 os.environ 获取系统环境变量 os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path) 如果path存在,返回 True ;如果path不存在,返回 False os.path.isabs(path) 如果path是绝对路径,返回 True os.path.isfile(path) 如果path是一个存在的文件,返回 True 。否则返回 False os.path.isdir(path) 如果path是一个存在的目录,则返回 True 。否则返回 False os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间 |
8、装饰器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
‘‘‘ def foo(): print ‘foo‘ def foo(): print ‘before do something‘ print ‘foo‘ print ‘after‘ def foo(): print ‘foo‘ def wrapper(func): print ‘before‘ func() print ‘after‘ wrapper(foo) def foo(): print ‘foo‘ def wrapper(func): def result(): print ‘before‘ func() print ‘after‘ return result Do = wrapper(foo) Do() ‘‘‘ def wrapper(func): def result(): print ‘before‘ func() print ‘after‘ return result @wrapper def foo(): print ‘foo‘ foo() |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/usr/bin/env python #coding:utf-8 def Before(request,kargs): print ‘before‘ def After(request,kargs): print ‘after‘ def Filter (before_func,after_func): def outer(main_func): def wrapper(request,kargs): before_result = before_func(request,kargs) if (before_result ! = None ): return before_result; main_result = main_func(request,kargs) if (main_result ! = None ): return main_result; after_result = after_func(request,kargs) if (after_result ! = None ): return after_result; return wrapper return outer @Filter (Before, After) def Index(request,kargs): print ‘index‘ if __name__ = = ‘__main__‘ : Index( 1 , 2 ) |
以上是关于python day03的主要内容,如果未能解决你的问题,请参考以下文章