收录于话题

#Python入门

27个

Python-函数名的应用_python

概要:

1.函数名的应用:2.函数名__name__;3文档注释__doc__

函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执函数的变量。

函数名第一类对象(函数名其实就是变量名)

1.可以像变量一样互相赋值;

2.可以作为集合的元素进行存储;

3.可以作为函数的参数,进行传递;

4.可以作为返回值返回.

1.函数名的内存地址:

def fun ():

   print("你好")

print(fun)   #<function fun at 0x00000000027CE9D8>查看的是16进制地址。

print(id(fun)) #41740760  查看的是内存地址,为10进制的,27CE9D8转换成十进制即是41740760

2.函数名可以赋值给其他变量  ()其实就是代表函数执行的意思

def fun():

   print("你好啊")

f = fun  #把函数名当成一个变量赋值给另一个变量

f()   #调用fun   结果是   你好啊

3.函数名可以当做容器类的元素

def chi():

   print("吃饭")

def he():

   print("喝饮料")

def du():

   print("赌是不好的")

def chou():

   print("少抽点烟")

lst = [chi, he, du, chou]

for el in lst:

   el()   #  结果为吃饭,喝饮料,毒不是好的,少抽点烟

4.函数名可以当做函数的参数

def func():

   print("吃了么")

def func2(fn):

   print("我是func2")

   fn() # 执行传递过来的fn

   print("我是func2")

func2(func)  #结果为我是func2   吃了么   我是func2(换行的)

5.函数名可以作为函数的返回值

def func_1():

   print("这是函数1")

   def func_2():

       print("这是函数2")

       print("这是函数1")

   return func_2  

fn = func_1() # 执行函数1. 函数1返回的是函数2, 这时fn指向的就是上面函数2

fn()   最后结果为这是函数1   这是函数2    这是函数1(换行的)

但是在外面直接写func_2()执行会报错,可以想想绝对路径和行对路径.

6.核心业务逻辑

def panpan():

   print("我是潘潘. 我喜欢毒丈夫 ")

def xiaoping():

   print("我是小萍萍. 我喜欢毒丈夫 ")

def xiaohua():

   print("我是小花花. 我喜欢毒丈夫 ")

def daguanren():

   print("大官人喜欢xxxx")

def wangpo(nv, nan): # 核心业务逻辑  

   nv()

   nan()

wangpo(xiaohua, daguanren) # 王婆代理了大官人和其他的女人,女人想换可以直接在wangpo那修改变量名称即可.

7.查看函数的名称__name__

def func():

   print("你好")

cc =func

dd=cc

ee=dd

bili=ee   #期间经过了好多次赋值,最后想看下他用的是哪个名字可以用__name__

bili()

print(bili.__name__)   #查看函数的名称

8.查看函数的文档注释__doc__ (这个很重要,尤其以后作开发的时候,函数注释一定写好)

def play(wanju1,wanju2,wanju3):

   '''

   这是个玩的函数

   :param wanju1: 玩具1

   :param wanju2: 玩具2

   :param wanju3: 玩具3

   :return:

   '''

   print("荡秋千")

   return "不错"

print(play.__doc__)