标签:
语法(3)
def 方法名(参数):
return
没有指定返回值的方法,默认返回空值 None
。代码
def say(who, dosth): ‘‘‘ 谁做什么 ‘‘‘ print who + ‘ ‘ + dosth + ‘!‘ return
方法名(参数)
say(‘AC‘, ‘say hello‘)
输出:AC say hello!
方法名(参数名=参数)
Python解释器能够用参数名匹配参数值,
say(who=‘Horse‘, dosth=‘run‘) # 或者 say(dosth=‘run‘, who=‘Horse‘) # 顺序不影响
输出:Horse run!
引用方式
传递参数
除字符串和数字外,Python的其他对象全都采用引用方式传递参数,当参数在方法里被修改时,原始参数也被修改。
a = [1, 2, 3, 4] def fun(i): a.append(5) fun(a) print a
输出: [1, 2, 3, 4, 5]
默认参数
在定义方法时,在参数名后加上 =
和 默认值
。
这些默认参数是可选的
,调用时可以不填,直接使用默认值。
def say(who, dosth=‘say hello‘): # dosth定义了默认参数 ‘‘‘ 谁做什么 ‘‘‘ print who + ‘ ‘ + dosth + ‘!‘ return say(‘I‘) # 只要填写一个参数,另一个没写时使用默认参数
输出: I say hello!
跳出方法,返回一个值。
def add(a, b): return a + b c = add(1, 2) print c
输出: 3
模块就是一个Python文件,后缀名为.py。
将方法,变量,类等定义在模块里,方便被其他程序引用,使用其中定义的功能。
import
导入模块,以调用 Python标准库 os
为例。
import os # 引入os模块 os.mkdir(‘abc‘) # 调用方法,创建abc文件夹 import os.path # 引入os.path模块 os.path.isfile(‘xxx.png‘) # 调用方法,判断是否是文件
导入模块后,需要以 模块名.方法名
来调用模块下面的方法。
from ... import ...
直接从模块中导入方法,变量或类,还是以 os
为例。
from os import mkdir # 从os引入mkdir方法 mkdir(‘abc‘) # 调用方法 from os.path import isfile # 从os.path引入isfile方法 isfile(‘xxx.png‘) # 调用方法
这种方式直接从模块中引入某个方法,在调用时就可以直接用 方法名
。
from ... import *
从模块中导入所有东西。
from os import * # 引入os的所有东西 mkdir(‘abc‘) from os.path import * # 引入os.path的所有东西 isfile(‘xxx.png‘)
as
模块别名
import os.path as path # 引入os.path模块 别名path path.isfile(‘xxx.png‘) # 调用方法
使用别名后,就可以直接用别名来代替模块名。
写一个模块,其实就是写一个Python文件。
# MyModule.py def test(): # 方法 print ‘my module test‘ var1 = 10 # 变量 class C: # 类 def __init__(self): pass
上面就是一个简单的模块 MyModule.py 。
# main.py import MyModule # 引入模块 MyModule.test() # 调用test方法 print MyModule.var1 # 模块变量 from MyModule import C # 导入类
另一个模块调用 MyModule 模块的方法。
每个模块都有一个名称,可以使用 __name__
属性来获得。
最常用的地方就是作为main方法入口。
# MyModule.py # ...模块定义... if __name__ == ‘__main__‘: # 当模块名是 __main__ 时,执行 print ‘MyModule main‘
当直接执行这个模块时,其模块名就是 __main__
。
当该模块是用 import
导入时,就不会执行。
dir()
方法用来找到模块内所有东西的名称。
import os.path dir(os.path)
返回一个字符串列表:
[‘__all__‘, ‘__builtins__‘, ‘__doc__‘, ‘__file__‘, ‘__name__‘, ‘__package__‘, ‘_joinrealpath‘, ‘_unicode‘, ‘_uvarprog‘, ‘_varprog‘, ‘abspath‘, ‘altsep‘, ‘basename‘, ‘commonprefix‘, ‘curdir‘, ‘defpath‘, ‘devnull‘, ‘dirname‘, ‘exists‘, ‘expanduser‘, ‘expandvars‘, ‘extsep‘, ‘genericpath‘, ‘getatime‘, ‘getctime‘, ‘getmtime‘, ‘getsize‘, ‘isabs‘, ‘isdir‘, ‘isfile‘, ‘islink‘, ‘ismount‘, ‘join‘, ‘lexists‘, ‘normcase‘, ‘normpath‘, ‘os‘, ‘pardir‘, ‘pathsep‘, ‘realpath‘, ‘relpath‘, ‘samefile‘, ‘sameopenfile‘, ‘samestat‘, ‘sep‘, ‘split‘, ‘splitdrive‘, ‘splitext‘, ‘stat‘, ‘supports_unicode_filenames‘, ‘sys‘, ‘walk‘, ‘warnings‘]
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4512799.html
标签:
原文地址:http://www.cnblogs.com/superdo/p/4512799.html