七、函数的使用方法

函数的调用

复制代码
name=input()#输入参数并赋值name
print(name)#d打印name

格式:返回值=函数名(参数)

复制代码
def get_sum(n):#形式参数
    '''
    计算累加和
    :param n:
    :return: sum
    '''
    sum=0
    for i in range(1,n+1):
        sum+=i
    print(sum)
    return sum
a=get_sum(100)#100是实际参数
print(a)

计算累加和,调用函数,并将返回为sum

定义函数用def关键字(define定义),代码运行时会记录参数的定义,在函数被调用时才会将参数带入

所以函数要先定义在调用(内置函数除外);

函数返回结果return的值默认为None,当函数执行到return时会停止执行后续代码

参数的位置:调用函数时参数的个数必须相同,位置也必须相同!

位置传参:

复制代码
def happybirthday(name,age):
    print("祝",name,'生日快乐!',sep="")
    print(str(age),"岁")
happybirthday('ppx',18)

参数传参:直接用参数传输实际参数,改变位置

复制代码
def happybirthday(name,age):
    print("祝",name,'生日快乐!',sep="")
    print(str(age),"岁")
happybirthday(age=18,name="ppx")

默认值参数:

复制代码
def happybirthday(name="皮皮虾",age=100):
    print("祝",name,'生日快乐!',sep="")
    print(str(age),"岁")
happybirthday()#直接调用,参数为默认参数
happybirthday("雪雪",18)#输入实际参数

可变参数:

复制代码
def print_(*a):
    print(type(a))
    for i in a:
        print(i)
print_(12,6)

函数带入两个参数,分别一次执行两个参数的代码

参数的返回值:

复制代码
def l(n,m):#求两个数的最小公倍数和最小公因数并返回
    if n>m:
        max=n
        min=m
    else:
        max=m
        min=n
    for i in range(max,max*min+1):
        if i%m==0 and i%n==0:
            s=i
            break
    for x in range(0,min):
        if n%(min-x)==0 and m%(min-x)==0:
            y=min-x
            break
    return s,y
a=l(12,8)
print(type(a))
print(a)

返回值值为两个,并以元组方式输出

局部变量和全局变量:

复制代码
s=100#全句变量,在整个代码中都可以被调用
def sum(a,b):
    global y#利用global函数将局部变量转换为全局变量
    y=666#global声明和赋值必须分开
    x=a+b+s#x为局部变量,在函数中调用并没有定义,局部变量优先级高
    print(x)
sum(100,100)
print(y)

匿名函数lambda:

复制代码
def sum(a,b=100):
    s=a+b
    return s
print(sum(188,188))#采用函数方法求两数之和
print('____________________')
y=lambda a,b:a+b#采用匿名函数,a,b是参数冒号后面是表达式
print(y(100,100))

递归函数

复制代码
def f(n):
    if n!=1:
        return n*f(n-1)
    else:
        return 1
print(f(6))

常用的内置函数

bool():获取指定目标的布尔值

str():将对象修改为字符串类型

int():将指定对象转化为整型

float():转换为浮点型

list():转换为列表类型

tuple():转换为元组类型

set():转换为集合类型

常见的数学函数

迭代器操作

main和name

复制代码
print(__name__)#__name__是解释器自动分配的变量为__main__
#如果是其他模块引入该文件分配的是文件的名字
def love():#建立c.py文件,并设置函数
    print("cone fom love")
print("ppx")#可以被其他模块调用
if __name__=='__main__':
    print("ppx!!!")#只能在本模块中使用,不能被其他模块调用
复制代码
# print(y(100,100))

#递归调用
import c
c.love()#引入love模块,并使用love方法
print(__name__)
相关推荐
onceco25 分钟前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
狐凄1 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
悦悦子a啊2 小时前
Python之--基本知识
开发语言·前端·python
笑稀了的野生俊4 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva4 小时前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm
路来了4 小时前
Python小工具之PDF合并
开发语言·windows·python
蓝婷儿4 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
AntBlack5 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
.30-06Springfield5 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦5 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt