首页 > 编程语言 >python中的函数

python中的函数

时间:2023-09-11 22:22:08浏览次数:64  
标签:return 函数 python str1 print 返回值 def

python函数

一、函数的定义与调用

1、函数的作用

  • 实现代码重用
  • 模块化编程(面向过程)
image-20230911091902409

用户到ATM机取款:

  1. 输入密码后显示“选择功能”界面
  2. 查询余额后显示“选择功能”界面
  3. 取钱之后显示“选择功能”界面

:1、2、3操作之后都会显示选择功能界面,那么“选择功能”界面需要重复输出给用户,怎么实现?

:使用函数,把选择功能的相关代码封装起来,当需要使用的时候直接调用函数,这样就可以实现代码的复用

2、什么是函数

函数是一个被命名的,独立的,完成特定功能的代码段,其可能给调用它的程序一个返回值

  • 被命名的:在python中,大多函数都有各自的函数名
  • 独立的,完成特定功能的代码段:函数功能要专一,专门为了完成某个功能而定义
  • 返回值:当函数执行完毕之后,其可能会返回一个值给函数调用处

3、函数的定义与调用

语法:

def 函数名称([参数列表]):
	函数体
	...
	[return 返回值]
  • 函数在定义时,只是向内存中保存了一个函数的名称,其内部的代码并没有真正的执行;只有在函数调用时,函数体才真正执行

函数的调用:

函数名(参数)
  • 在不同的需求中,函数的参数与返回值可有可无
  • 函数必须先定义后使用
def greet(name):   
    # print(f'{name}老师,您好!')
    return name + '老师,您好!' # 使用返回值可以使函数更加灵活的利用

result1 = greet('张民')
print(result1)
  • 根据传入不同的参数,可以输出不同的结果

二、函数的返回值

  1. 函数中可以存在多个return,但是只有第一个return会执行。因为函数一旦遇到函数返回值,会立即执行两个操作:返回return后面的结果,强制终止此函数的继续执行。

  2. 在其他编程语言中,函数只能返回一个结果,但是在python中,一个函数支持返回多个结果。结果与结果之间使用逗号隔开,返回值的数据类型为元组类型

    def func1():
        return 10, 20, 30
    
    result = func1()
    print(result)
    print(f'返回值的数据类型为{type(result)}')
    

    image-20230911175701822

  3. 如果一个函数没有返回值,使用打印这个函数的调用结果会输出得到None。即如果一个函数没有返回值,相当于return None

三、函数的说明文档

函数的说明文档:相当于函数的说明书,在这个说明文档中我们需要标注这个函数的作用拥有的参数以及最终的返回值

定义函数函数的说明文档:

def 函数数名(参数列表):
""" 说明文档位置  """
	函数体
	return 返回值

查看函数说明文档:

help(函数名)
  • 在pychram中对于光标所在函数名可以使用 快捷键:Ctrl + Q 查看函数文档

案例演示:

def sum_num(num1, num2):
    """
    sum_num这个函数主要用来实现对两个数的求和
    :param num1:int,代表第一个参数
    :param num2:int,代表第二个参数
    :return:返回num1与num2的求和
    """
    result = num1 + num2
    return result

help(sum_num)

image-20230911201645859

四、函数的嵌套

1、什么是函数嵌套
所谓函数嵌套就是在一个函数里面又调用了另外一个函数。

函数的执行流程:

def testA():
    print('----- testA start -----')
    print('----- testA函数体代码... -----')
    print('----- testA end -----')

def testB():
    print('----- testB start -----')
    # 函数嵌套:一个函数里面又调用了另外一个函数
    testA()
    print('----- testB end -----')
# 调用函数 查看函数嵌套的执行过程
testB()

image-20230911205042996

  • 体现了顺序原则

五、函数案例

案例1

# 编写一个函数 带有一个参数  输入信息'1.2.3.4.5' 返回'5-4-3-2-1'

# 方法1
def return1(str1):
    str1 = str1.split('.')
    str1.reverse()
    str2 = '-'.join(str1)
    return str2


print(return1('1.2.3.4.5'))


# 方法2
def return2(str1):
    str1 = str1[::-1]
    str2 = str1.replace('.', '-')
    return str2


result = return2('1.2.3.4.5.6')
print(result)

案例2:随机生成4位验证码

"""
使用函数,随机生成四位长度的验证码
可以起到防止恶意攻击的功能:(每次登陆生成的验证码都是不同的)防止暴力破解账号与密码
"""
import random

# 方法1
def func1():
    # 定义一个字符串:
    str1 = '0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWSYZ'
    randnum1 = random.randint(0, len(str1) - 1)
    randnum2 = random.randint(0, len(str1) - 1)
    randnum3 = random.randint(0, len(str1) - 1)
    randnum4 = random.randint(0, len(str1) - 1)
    str2 = str1[randnum1] + str1[randnum2] + str1[randnum3] + str1[randnum4]
    return str2


print(func1())


# 方法2:
def func2():
    # 定义一个字符串:
    str1 = '0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWSYZ'
    # 定义一个空字符串,接收验证码
    code = ''
    # 循环要完成两件事:1.每次循环从str1中随机获得一个字符。2、将随机获得的字符追加到Code中
    for i in range(4):
        code += str1[random.randint(0, len(str1) - 1)]
    return code

print(func2())

image-20230911220641263

标签:return,函数,python,str1,print,返回值,def
From: https://www.cnblogs.com/luoluoange/p/17694693.html

相关文章

  • Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法
    Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法点击封面跳转下载页面简介Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法在Unity开发中,性能优化是一个非常重要的方面。一个常见的性能优化技巧是使用ShaderUtil.GetSha......
  • Unity 性能优化之Shader分析处理函数 ShaderUtil.GetAvailableShaderCompilerPlatform
    Unity性能优化之Shader分析处理函数ShaderUtil.GetAvailableShaderCompilerPlatforms用法点击封面跳转到Unity国际版下载页面简介在Unity中,性能优化是游戏开发过程中非常重要的一环。其中,ShaderUtil.GetAvailableShaderCompilerPlatforms函数是一个内部函数,它可以帮助......
  • Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与
    Unity性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing:深入解析与实用案例点击封面跳转到Unity国际版下载页面简介在Unity中,性能优化是游戏开发过程中非常重要的一环。其中,Shader的优化对于游戏的性能提升起着至关重要的作用。本文将深入解析Unity中的Sh......
  • C进阶(内存的字符函数)
    内存设置函数memset()void*memset(void*destination,intn,size_tnum);用于初始化所定义的变量void*memset(void*destination,intn,size_tnum){ char*Pdest=(char*)destination;while(num--){ *Pdest++=n;}returndestination;}内存拷贝函......
  • Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法
    Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法点击封面跳转下载页面简介Unity性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法在Unity开发中,性能优化是一个非常重要的方面。一个常见的性能优化技巧是使用ShaderUtil.GetSh......
  • 函数的参数
    函数参数的两大类形参函数在'定义阶段'括号中定义的'变量名'就是形式参数,简称'形参' defindex(a,b):pass#a,b就是形参实参实际参数 函数在'调用阶段'括号中写的'变量值'就是实际参数,简称'实参'defindex(a,b):pass......
  • 无涯教程-JavaScript - ODDFPRICE函数
    描述ODDFPRICE函数返回面值为$100的第一期奇数(短期或长期)证券的价格。语法ODDFPRICE(settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在......
  • Python PIL 远程命令执行漏洞(via Ghostscript)
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证1.5、深度利用1、反弹Shell说明内容漏洞编号PIL-CVE-2018-16509漏洞名称PythonPIL远程命令执行漏洞漏洞评级影响范围漏洞描述修复方案1.1、漏洞......
  • Python PIL 远程命令执行漏洞(GhostButt )
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证1.5、深度利用1、反弹Shell说明内容漏洞编号PIL-CVE-2017-8291漏洞名称PIL远程命令执行漏洞漏洞评级影响范围漏洞描述修复方案1.1、漏洞描述PIL......
  • Python实现文章查重
    软件工程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12作业要求https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014作业目标个人项目github链接:https://github.com/momotaaa/3121004806题目:论文查重描述如下:设计一个论文查重算法,给出一......