一、函数的定义及其应用
所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用
函数的使用包含两个步骤
1.定义函数–封装独立的功能
2.调用函数–享受封装的成果
函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’
函数:
函数是带名字的代码块,用于完成具体的工作
需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该
任
务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试
和
修复都将更容易
变量进阶
目标
变量的引用
可变和不可变类型
局部变量和全局变量
二、函数的跨文件调用
模块文件:每一个python源文件都可以是一个模块文件,可以在一个python文件中定义函数或者变量,然后在另一个函数使用import filename导入这个模块,导入之后,可以使用模块名.变量或者模块名.函数的方式使用这个模块文件的函数和变量
首先定义一个函数
# 1.定义一个函数,能够打印*组成的一条分隔线 def print_line(): print '*' * 50 print_line() # 2.定义一个函数能够打印由任意字符串组成的分割线 def print_line(char): print char * 50 print_line('&') # 3.定义一个函数能够打印任意重复次数的分隔线 def print_line(char,times): print char * times print_line('%',20) # 4.定义一个函数能够打印五行分隔线, # 分隔线要求符合需求3 # def print_line(char,times): # print char * times def print_lines(char,times): """打印多行分隔线 :param char: 分隔线使用的分隔字符 :param times: 分隔线重复的次数 """ row = 0 while row < 5: print_line(char,times) row += 1 print_lines('!',70)
模块文件:每一个python源文件都可以是一个模块文件 可以在一个python文件中定义函数或者变量 然后在另一个文件中使用 import filename 导入这个模块 导入之后,就可以使用 模块名.变量/模块名.函数的方式, 使用这个模块中定义的函数和变量
import func_04 import fun_01 print func_04.name func_04.print_lines('*',80) result = fun_01.sum_2_sum(3,6) print result
test1文件中 title = '模块1' # 函数 def demo1(): print '今天学习%s' %title # 类 class Cat(object): pass title = '模块2' test2文件中 # 函数 def demo1(): print '今天学习%s' %title # 类 class Dog(object): pass
import test1 import test2 test1.demo1() test2.demo1() cat = test1.Cat() print cat dog = test2.Dog() print dog

使用as指定模块的别名(大驼峰命名法)
from test1 import Cat # 如果重名的话,则第二个导入的覆盖同名的第一个 from test1 import demo1 as test_demo1 from test2 import demo1 cat = Cat() print cat test_demo1() demo1()
2.python的解释器在导入模块的时候,会:
1.搜索当前目录指定的模块文件,如果有就直接导入
2.如果没有,再搜索系统目录
注意:在开发时,给文件起名,不要和系统模块文件重名
所以在导入文件时,不能起和系统文件重名的名字,例如下例的random
import random ran = random.randint(1,10) print ran
3.name属性
功能:测试模块的的代码只在测试情况下被运行,而在导入时不会被运行
name时python的一个内置属性,记录这一个字符串
被其他文件导入时,name就是模块名
如果是当前执行的程序name就是main
def wn(): print '今天是个好日子' if __name__ == '__main__': print __name__ print '模块的引用'
调用函数 import test wn = test.wn() print wn

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203958.html原文链接:https://javaforall.net
