python函数一些小细节知识

1、调用函数时,需要创建一个激活记录来储存函数的变量,激活记录放在堆栈的内存空间里,函数完成后释放激活记录。

调用栈称为执行堆栈,运行堆栈或机器堆栈,简称堆栈。

2、无论函数有无使用return ,都有返回一个值。

默认情况下,无用return返回值的函数返回一个特殊值None,称为None函数。可以用于终止函数并将控制权返回给函数调用者。语法是
return 或return None

3、函数实参是作为位置参数和关键字参数被传递

def nPrintln(message,n):
    for i in range(n):
        print(message)
def main():
    nPrintln(n=3,message="helloworld")#关键字参数传递
    nPrintln("你好,世界",3)            #位置参数调用函数
    #位置参数不能在关键字参数后面
    #nprintln(message='世界',3)
main()

4、通过传引用传递参数,实参如果是数字或字符串,不受形参变换影响

def increment(n):
    n+=1
def main():
    x=1
    increment(x)
    print(x)
main()

在这里插入图片描述
数字和字符串为不可变对象

5、模块化代码:

使用流程:
(转自https://blog.csdn.net/weixin_41441345/article/details/88225836?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task)

1.把写好的函数程序保存为.py文件并保存(复制保存路径)
2.把路径利用记事本保存为.pth文件
3.把.pth文件复制到python的安装路径→Lib→site-packages的文件夹下
(如果是Anaconda安装直接打开Anaconda→Lib→site-packages即可)
4.打开ipython import你的程序就可以愉快地使用了,记得 . A(A函数)

6、默认参数和非默认参数可以混用,但是非默认参数必须定义在默认参数前

def printArea(i=1,j=1):
    print(i,"*",j,"=",i*j)
printArea(1,2)
printArea(i=2)
printArea(j=2)

在这里插入图片描述在这里插入图片描述

7、python不支持同名函数,后面的函数会取代前面的函数。

def printArea(i,j):
    print(i,"*",j,"=",i*j)
def printArea(i=1,j=1,k=1):
    print("Hello World")
printArea(1,2)

在这里插入图片描述

8、python允许返回多个值

def f(x,y):
    return x+y,x-y,x*y,x/y
t1,t2,t3,t4=f(1,2)
print(t1,t2,t3,t4)

在这里插入图片描述

9、输出随机字符a-z

import random
count=20
while count>0:
    print(chr(random.randint(ord("a"),ord("z"))),end=" ")
    count-=1

在这里插入图片描述

发布了156 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44001521/article/details/104456626