python函数定义中调用函数自身的方式称为,函数调用的三种方式python
一、函数的定义及其应用
所谓函数,就是把一个具有独立功能的代码块组织成一个小模块,需要的时候调用。
该功能的使用包括两个步骤。
1.定义功能封装独立的功能。
2.调用函数——享受封装的果实
函数:开发时,使用函数可以提高编写的效率和代码的重用性。
功能:
函数是有名称的代码块,用于完成特定的工作。
当您需要在一个程序中多次执行同一任务时,您不需要编写重复完成该任务的代码,只需调用
让
服务函数,让python运行代码,通过使用函数,编程,读取,测试,你会发现。
和
会更容易修复。
1.定义函数
定义函数名():
由函数封装的代码
1.def是英文define的缩写。
2.函数名要能表达函数封装代码的功能,方便后续调用。
3.函数名的命名应该符合标识符的命名规则。
它可以由字母、下划线和数字组成。
不能以数字开头。
不能与关键字同名。
参数的功能
函数,将一个具有独立功能的代码块组织成一个小模块,需要时调用。
参数的函数,增加了函数的通用性,对于相同的数据处理逻辑,可以适应更多的数据。
1.在函数中,使用参数作为变量来处理所需的数据。
2.当调用函数时,根据函数定义的参数序列,传递您希望在函数内部处理的数据
参数传递
形式参数和实参数
参数:定义函数时,括号中的参数用于接收参数,并在函数中用作变量。
参数:调用函数时,括号中的参数用于将数据传递给函数。
函数的返回值
在程序开发中,有时候,希望在一个函数执行完之后(比如温度计函数会返回我们当前的温度),告诉调用者一个结果,以便调用者对具体结果进行后续处理。
返回值是函数完成工作后给调用者的最后一个结果。
在函数中使用return关键字返回结果。
函数的调用方可以使用变量来接收函数的返回结果。
局部变量和全局变量
局部变量是在函数内部定义的变量,并且只能在函数内部使用。
全局变量是定义在函数外部的变量(不是定义在某个函数内部),所有函数都可以在内部进行。
使用此变量。
局部变量
局部变量是在函数内部定义的变量,并且只能在函数内部使用。
函数执行后,函数内部的局部变量将被系统回收。
不同的函数可以用相同的名字定义局部变量,但是每一个都不会有影响。
局部变量的作用
在函数内部使用,临时存储函数内部需要的数据。
可变高级
目标
对变量的引用
以及可变和不可变类型。
局部变量和全局变量
对变量的引用
变量和数据存储在内存中。
在python中,函数的参数和返回值是通过引用传递的。
指称的概念
在python中
变量和数据是分开存储的。
数据存储在内存中的某个位置。
变量保存数据在内存中的地址。
记录在变量中的数据地址称为引用。
使用id()函数查看变量中存储数据的内存地址。
二、函数的跨文件调用
模块文件:每个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 * time sprint _ line( % ,20) # 4。定义一个可以打印五行分隔线的函数,#分隔线需要满足要求3# def print_line(char,Times):# Print char * Times def Print _ lines(char,Times): 打印多行分隔符:param char:分隔符使用的字符:param times:分隔符重复的次数 row=0而row5: print _ line (char,times) row=1print _ lines(!70)模块文件:每个python源文件都可以是模块文件。您可以在一个python文件中定义函数或变量,然后在另一个文件中导入该模块。导入后,您可以使用模块名称。变量/模块名称。函数法。使用本模块中定义的函数和变量,import func _ 04 import fun _ 01 print func _ 04 . name func _ 04 . print _ lines( *,80) result=fun _ 01.sum _ 2 _ sum (3,6) printresult2。调用模块。
1.
test1文件中的title= Module 1 # function def demo 1():print learn % s % title # Class Cat(object):pass title= Module 2 # function def demo 1()in 2 test 2文件中的:print learn % s % title # Class dog(object):pass import test 1 importtest 2 test 1 . demo 1()test 2 . demo 1()Cat=test 1 . Cat()print Cat dog=test 2 . dog()print dog
使用as指定模块的别名(大驼峰命名法)
from1importcat #如果同名,第二次导入将覆盖第一次导入的from test 1 import demo 1 ast _ demo 1 import demo 1 cat=cat()print cattest _ demo 1()demo 1()
2.当2.python的解释器导入一个模块时,它将:
1.搜索当前目录下指定的模块文件,如果有直接导入。
2.如果没有,请再次搜索系统目录。
注意:在开发过程中,命名文件,不要复制系统模块文件。
因此,在导入文件时,不能使用与系统文件相同的名称来命名它们,例如以下示例中的random。
导入random ran=random.randint (1,10) printran3.name属性
功能:测试模块的代码只会在测试用例中运行,不会在导入时运行。name中python的一个内置属性记录了这个字符串。
由其他文件导入时,name为模块名称。
如果是当前正在执行的程序,name就是main。
Def wn(): print 今天是个好日子 if _ _ name _ _= _ main _ _ :引用print _ _ name _ _ print module 调用函数import testwn=test.wn()print wn
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。