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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广大菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值