精华内容
下载资源
问答
  • 文章目录1 函数的定义2 returnprnt的区别3 函数的传参3.1 必传参数3.2 默认参数3.3 不确定参数一可变参数3.4 参数规则4 函数的参数类型定义5 局部变量全局变量6 函数的递归7 匿名函数 Tlambda 1 函数的定义 把...

    1 函数的定义

    把大象装进冰箱
    1:把冰箱门打开
    2:把大象装进去
    3:把冰箱门关上

    • 将一件事情的步骤封装在一起并得到最终结果

    • 函数名代表了这个函数要做的事情

    • 函数体是实现函数功能的流程

    • 方法或功能

    • 函数可以帮助我们重复使用,通过函数名我们可以知道函数的作用

    内置函数:

    print
    id
    int
    str
    max
    min
    range
    ...
    

    自定义函数:

    通过关键字def的功能,实现 python中函数的创建

    def name(args...):
    	todo something...
    	return 返回值
    

    image-20210128200324731

    函数结果的返回 return

    • 将函数结果返回的关键字
    • 将函数结果返回的关键字
    • return只能在函数体内使用
    • return支持返回所有的 python类型
    • 有返回值的函数可以直接赋值给一个变量
    # coding:utf-8
    
    def capitalize(data):
        index = 0
        temp = ''
    
        for item in data:
            if index == 0:
                temp = item.upper()
            else:
                temp += item
            index += 1
        print('for结束了')
        return temp
        print('finish')
    
    
    result = capitalize(data='hello xiaomu')
    print(result)
    
    def message(message, message_type):
        new_message = '[%s] %s' % (message_type, message)
        print(new_message)
    
    result = message(message='今天天气真好', message_type='info')
    print('message result', result)
    
    def test():
        for i in range(10):
            if i == 5:
                return i
    
    print('test结果是:', test())
    

    image-20210128200437728

    2 return与prnt的区别

    • print只是单纯的将对象打印,不支持赋值语句
    • return是对函数执行结果的返回,也支持赋值语句

    3 函数的传参

    3.1 必传参数

    • 函数中定义的参数没有默认值,在调用函数时如果不传入则报错

    • 在定义函数的时候,参数后边没有等号与默认值

    在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数且顺序与参数顺序相同,就是必传参数

    image-20210128200600418

    image-20210128200608796

    3.2 默认参数

    • 在定义函数的时候,定义的参数含有默认值,通过赋值语句给他是一个默认的值
    • 如果默认参数在调用函数的时候给予了新的值,函数将优先使用后传入的值进行工作

    image-20210128200706600

    image-20210128200658840

    3.3 不确定参数一可变参数

    • 没有固定的参数名和数量(不知道要传的参数名具体是什么)

    • *args代表:将无参数的值合并成元组

    • **kwargs代表将有参数与默认值的赋值语句合并成字典

    image-20210128200743515

    3.4 参数规则

    image-20210128200839886

    • 参数的定义从左到右依次是必传参数,默认参数,可变元组参数?,可变字典参数
    • 函数的参数传递非常灵活
    • 必传参数与默认参数的传参多样化

    4 函数的参数类型定义

    • 函数定义在 python37之后可用
    • 函数不会对参数类型进行验证
    def person(name:str, age:int=33):
        print(name,age)
    

    5 局部变量与全局变量

    • 在 python脚本最上层代码块的变量
    • 全局变量可以在函数内被读取使用

    global:

    将全局变量可以在函数体内进行修改

    6 函数的递归

    一个函数不停的将自己反复执行

    7 匿名函数 Tlambda

    • 定义一个轻量化的函数
    • 即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用

    无参数:

    f = lambda:value
    f()
    

    有参数:

    f = lambda x,y:x*y
    f(3,4)
    
    展开全文
  • 一、函数的定义与使用 1、函数的理解与定义 -函数是一段代码的表示 -格式:def <函数名>(<参数(0个或多个)>): <函数体> return <返回值> -函数定义时,所指定的参数时一种占位符 -函数...

    一、函数的定义与使用

    1、函数的理解与定义

    -函数是一段代码的表示
    -格式:def <函数名>(<参数(0个或多个)>):
                <函数体>
                return <返回值>
    -函数定义时,所指定的参数时一种占位符
    -函数定义后,如果不经过调用,不会被执行
    -函数定义时,参数时输入,函数体是处理,结果是输出(IPO)
    

    2、函数的使用和调用

    -调用时要给出实际的参数
    -实际的参数替换定义中的参数
    -函数调用后得到的返回值是结果
    -可选参数的传递:函数定义是可以为某些参数指定默认值,构成可选参数
        def <函数名>(<非可选参数>,<可选参数>):#可选参数一定要放在非可选参数后面
            <函数体>
            return <返回值>
    -可变参数传递:函数定义时可以设计可变数量参数,即不确定参数总数量
        def <函数名>(<参数>, *p):
            <函数体>
            return <返回值>
    -函数定义时,参数可以按照位置或名称的方式传递
    

    3、函数的返回值

    -return保留字用来传递返回值
    -函数可以有返回值,也可以没有,可以有return也可以没有
    -return可以传递0个返回值,也可以传递任意多个返回值
    

    4、局部变量和全局变量

    -局部变量和全局变量是不同的变量
    -局部变量是函数内部的占位符,与全局变量可能重名但不同
    -函数运算结束后,局部变量会被释放
    -可以使用global保留字在函数内部使用全局变量
    -局部变量为组合数据类型且未创建,等同于全局变量。比如列表
    

    5、lambda函数:lambda函数是一种匿名函数

    -lambda函数是一种匿名函数,即没有名字的函数
    -使用lambda保留字定义,函数名是返回结果
    -lambda函数用于定义简单的、能够在一行内表示的函数
        -<函数名> = lambda<参数>:<表达式>
    -lambda函数主要用于一些特定函数或方法的参数
    -lambda函数有一些固定使用方式,建议逐步掌握
    -一般情况,建议使用def定义的普通函数
    

    举例:

    f = lambda x ,y : x = y
    r = f(10,15)
    print(r)
    
    结果:25
    
    

    二、代码复用与函数递归

    1、代码复用

    -代码资源化:程序代码是一种用来表达计算机的“资源”
    -代码抽象化:使用函数等方法对代码赋予更高级的定义
    -代码复用:同一份代在需要时可以被重复使用
    -函数和对象是代码复用的两种主要形式
        -函数:将代码命名,在代码层次建立了初步抽象
        -对象:属性和方法<a>.<b>或<a>.<b>()。在函数之上再次组织抽象
    

    2、模块化设计

    -通过函数或对象封装将程序划为模块即模块间的表达
    -具体包括:主程序、子程序和子程序之间的关系
    -分而治之:一种分而治之、分层抽象、体系化的设计思想
    
    -紧耦合:两个部分之间交流很多,无法独立存在
    -松耦合:两个部分甲流较少,可以独立存在
    -模块内部紧耦合,模块之间松耦合
    

    3、函数递归

    -函数定义中调用函数自身的方式
    -两个关键特征
        -链条:计算过程存在递归链条
        -基例:存在一个或多个不需要再次递归的基例
    

    3.1、递归的实现

    -函数 + 分支语句
    -递归本身是一个函数,需要函数定义方式描述
    -函数内部,采用分支语句对输入参数进行判断
    -基例和链条,分别编写对应代码
    

    举例

    def fact(n):
        if n== 0:
            return 1
        else:
            return n*fact(n-1)
    #递归实现字符串反转
    def rvs(s):
        if s =="":
            return s
        else:
            return rvs(s[1:])+s[0]  
    print(rvs("xiaochunming"))
    
    #斐波那契数列
    def fbnq(n):
        if n == 1 or n == 2:
            return 1
        else:
            fbnq(n-1)   + fbnq(n-2)
    
    #汉诺塔问题
    count = 0
    def hanoi(n,src,dst,mid):
        global count
        if n == 1:
            print("{}:{}-->{}".format(1,src,dst))
            count += 1
        else:
            hanoi(n-1,src,mid,dst)
            print("{}:{}-->{}".format(n,src,dst))
            count += 1
            hanoi(n-1,mid,dst,src)
    hanoi(3,"甲","丙","乙")
    

    三、PyInstaller库的使用

    1、基本介绍

    1)可以将.py源代码转化成无需源代码的可执行文件
    2)它是它三方库,需要pip安装:pip install pyinstaller
    3)(cmd命令行)pyinstaller -F <文件名.py>

    pyinstaller库常用参数

    参数 描述
    -h 查看帮助
    –clean 清理打报过程中的临时文件
    -D,–onedir 默认值,生成dist文件夹
    -F,–onefile 在dist文件中只生成独立的打包文件
    -i <图标文件名,ico> 指定打包程序使用的图标(icon)文件
    展开全文
  • Python函数的定义与使用

    千次阅读 2018-05-19 19:52:43
    1、函数的理解与定义 (1)、函数是一段代码的表示 - 函数是一段具有特定功能的、可重用的语句组 - 函数是一种功能的抽象,一般函数表达特定功能 - 两个作用:降低编程难度 和 代码复用 def &lt;函数名&gt;...
    1、函数的理解与定义

      (1)、函数是一段代码的表示

             - 函数是一段具有特定功能的、可重用的语句组
             - 函数是一种功能的抽象,一般函数表达特定功能

             - 两个作用:降低编程难度 和 代码复用

             def <函数名>(<参数(0个或多个)>) :
                     <函数体>
                     return <返回值>

      (2)、函数的定义

             y = f(x) 

             - 函数定义时,所指定的参数是一种占位符
             - 函数定义后,如果不经过调用,不会被执行

             - 函数定义时,参数是输入、函数体是处理、结果是输出 (IPO)


    2、函数的参数传递

      (1)、可选参数传递

             函数定义时可以为某些参数指定默认值,构成可选参数

             def <函数名>(<非可选参数>, <可选参数>) :
                    <函数体>

                    return <返回值>

      (2)、可变参数传递

             函数定义时可以设计可变数量参数,即不确定参数总数量

             def <函数名>(<参数>, *b ) :
                    <函数体>

                    return <返回值>


      (3)、参数传递的两种方式

             函数调用时,参数可以按照位置或名称方式传递



    3、函数的返回值

      (1)、函数可以返回0个或多个结果

             - return保留字用来传递返回值
             - 函数可以有返回值,也可以没有,可以有return,也可以没有

             - return可以传递0个返回值,也可以传递任意多个返回值

      (2)、示例



    4、局部变量和全局变量

      (1)、规则1: 局部变量和全局变量是不同变量

             - 局部变量是函数内部的占位符,与全局变量可能重名但不同
             - 函数运算结束后,局部变量被释放

             - 可以使用global保留字在函数内部使用全局变量


      (2)、规则2: 局部变量为组合数据类型且未创建,等同于全局变量



      (3)、使用规则

             - 基本数据类型,无论是否重名,局部变量与全局变量不同
             - 可以通过global保留字在函数内部声明全局变量

             - 组合数据类型,如果局部变量未真实创建,则是全局变量


    5、lambda函数

      (1)、lambda函数返回结果作为函数名

             - lambda函数是一种匿名函数,即没有名字的函数
             - 使用lambda保留字定义,函数名是返回结果

             - lambda函数用于定义简单的、能够在一行内表示的函数 

             <函数名> = lambda <参数>: <表达式>

             例如:

    >>> f = lambda x, y : x + y
    >>> f(10, 15)
    25
    >>> f = lambda : "lambda函数"
    >>> print(f())
    lambda函数

      (2)、谨慎使用lambda函数

             - lambda函数主要用作一些特定函数或方法的参数
             - lambda函数有一些固定使用方式,建议逐步掌握
             - 一般情况,建议使用def定义的普通函数 

    展开全文
  • 函数的定义 将一件事情的步骤封装在一起并得到最终结果,函数名代表这个函数要做的事情;函数体是实现函数功能的流程;函数可以帮助我们重复使用,通过函数名我们可以知道函数的作用。 函数分类:内置函数,自定义...

    函数的定义
    将一件事情的步骤封装在一起并得到最终结果,函数名代表这个函数要做的事情;函数体是实现函数功能的流程;函数可以帮助我们重复使用,通过函数名我们可以知道函数的作用。
    函数分类:内置函数,自定义函数

    • def关键字
      通过关键字def定义函数
      def name(args…):
      todo somethong…
      返回值
    • return
      将函数结果返回的关键字,return只能在函数体内使用。return支持返回所有的python类型,有返回值的函数可以直接赋值给一个变量。
    #将第一个字母变大写
    def capitalize(data):
        index = 0
        tmp = ''
        for i in data:
            if index == 0:
                tmp = i.upper()
            else:
                tmp+=i
            index+=1
        return tmp
    result = capitalize('hello,shaishai')
    print(result)   #Hello,shaishai
    
    def message(message,message_type):
        print('[%s]%s' %(message_type,message))
    message(message='今天天晴!',message_type='info')    #[info]今天天晴!
    

    函数的参数

    • 必传参数
      在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数,且顺序与参数顺序相同,就是必传参数。
    • 默认参数
      在定义函数的时候,定义的参数含有默认值,通过赋值语句给他一个默认的值;如果默认参数在调用函数的时候给予新的值,函数将优先使用后传入的值进行工作。
    def add(a,b,c=4):
        return a+b+c
    result = add(1,5)
    print(result)   #10
    
    • 不确定参数-可变参数
      没有固定的参数名和数量
      用法:def(*args,**kwargs):
      *args代表将无参数的值合并成元组
      **kwargs代表将有参数与默认值的赋值语句合并成字典
    def test_info(*args,**kwargs):
        print(args,type(args))
        print(kwargs,type(kwargs))
    test_info(1,2,3,4,name='yanmai',age='18')
    输出结果:
    (1, 2, 3, 4) <class 'tuple'>
    {'name': 'yanmai', 'age': '18'} <class 'dict'>
    
    def test_supper(*args,**kwargs):
        if len(args) >= 1:
            print(args[1])
        if 'name' in kwargs:
            print(kwargs['name'])
        else:
            print('no name')
        print(args,type(args))
        print(kwargs,type(kwargs))
    a = (1,4,'dd',5)
    b = {'name':'yanmai','age':18}
    test_supper(*a,**b)		#如直接传入的是元组或字典,参数前需要分别加上*,**,否则变量a,变量b都会被识别合并成元组
    输出结果:
    4
    yanmai
    (1, 4, 'dd', 5) <class 'tuple'>
    {'name': 'yanmai', 'age': 18} <class 'dict'>
    
    • 参数规则
      参数的定义从左到右依次是 必传参数,默认参数,可变元组参数,可变字典参数
      如赋值时顺序与参数定义的顺序不一样时,一定要使用赋值语句的形式传入(如:**d,a=1,b=2)
      函数的参数类型定义
      函数定义在python3.7之后可用,在此之前的旧版本不支持。不过定义类型之后,函数也不会对参数类型进行验证,仅起到说明的效果
      def person(name:str,age:int=18):
      print(name,age)
    def add(a:int,b:int):
        print(a+b)
    add(1,4)    #5
    add('hello','晒晒')   #hello晒晒
    

    全局变量和局部变量
    全局变量:在python脚本最上层代码块的变量,全局变量可以在函数内被读取使用,但是无法被修改
    局部变量:在函数体内定义的变量,局部变量无法在自身函数以外使用

    • global
      将全局变量可以在函数体内进行修改,工作中不建议使用global对全局变量进行修改
      如变量为字典,列表类型,不需要通过global申明,也可以直接在函数体内修改
    name = 'shaishai'
    def test():
        global name
        name = 'xixi'
    test()
    print(name) #xixi
    
    test_dict = {'a':1,'b':2}
    def change():
        test_dict['c'] = 3
        test_dict.pop('a')
    change()
    print(test_dict)    #{'b': 2, 'c': 3}
    

    函数递归
    一个函数不停的将自己反复执行,通过return直接执行自身函数。

    
    def recur_fibo(n):
       """递归函数
       输出斐波那契数列"""
       if n <= 1:
           return n
       else:
           return(recur_fibo(n-1) + recur_fibo(n-2))
    
    
    r = recur_fibo(10)
    print(r)    #55
    

    匿名函数lambda
    一行式轻量函数,返回结果
    用法:lambda 变量1,变量2 : 表达式

    result = lambda x,y,z : x*7+y*1+z**2
    print(result(2,4,2))    #22
    
    info = [
        {"name": 'yanmai'},
        {"name": 'shaishai'},
        {"name":'xixi'}
    ]
    info.sort(key=lambda x: x['name'])	#通过key排序
    print(info)     #[{'name': 'shaishai'}, {'name': 'xixi'}, {'name': 'yanmai'}]
    
    展开全文
  • 本文内容为北京理工大学Python慕课课程课程讲义,将其整理为OneNote笔记同时添加了本人上课时课堂笔记,且主页中思维导图就是根据课件内容整理而来, 为了方便大家和自己查看,特将此上传到CSDN博文中, 源文件...
  • 2.1 函数的定义# 三、函数的使用及调用过程# 3.1 函数的调用# 3.2 函数的调用过程# 四、函数的参数传递# 4.1 可选参数传递# 4.2 可变参数传递# 4.3 参数传递的两种方式# 五、函数的返回值# 六、局部变量和...
  • 1,函数的理解定义 ...(2)函数的定义:y = f (x) 。 ——函数定义时,所指定的参数是一种占位符 ——函数定义后,如果不经过调用,则不会被执行 ——函数定义时,参数是输入,函数体是处理,结果是输出
  • 本文实例讲述了Python基础之函数的定义与使用。分享给大家供大家参考,具体如下:Python 定义函数使用 def 关键字,一般格式如下:def 函数名(参数列表):函数体让我们使用函数来输出"Hello World!":>...
  • 秋招结束,期间一直采用java刷题,python的熟练程度下降,因此决定...一、类的定义1 classPerson:2 def __init__(self, xName, xAge):3 self.name =xName4 self.age =xAge5 #能否重载6 defprintPeson1(self,tmp):7 ...
  • python函数的定义与调用在python中 ,函数是一个组织好的 ,可以重复使用的代码段 ,函数可以提高代码的重复利用率 ,原则上一个函数只实现一个单一的功能 ,这样能增强程序的模块性, python有许多的内置函数可供你...
  • Python函数定义与使用

    2020-04-13 15:06:23
    Python函数定义与使用一、函数的定义1.1 函数是一段代码的表示1.2 函数的定义格式1.3 函数IPO二、函数的使用及调用过程2.1 调用是函数运行代码的方式三、 函数参数传递3.1 必选参数&可选参数3.2 可变参数四、...
  • 主要介绍了Python基础之函数的定义与使用,结合实例形式分析了Python函数的定义、参数、变量作用域、返回值等相关概念与使用技巧,需要的朋友可以参考下
  • 函数是组织好,可以重复使用的,用来实现一定功能代码段。函数设计遵循单一职责原则,提倡一个函数只完成一个单一功能,降低程序耦合性,提高可维护性。 2、python函数定义: def funName(parmerslist): ...
  • 本文实例讲述了Python函数的定义方式函数参数问题。分享给大家供大家参考,具体如下: 涉及内容: 函数的定义方式 函数的文字描述 空操作语句 位置参数 默认参数 关键参数 可变长度参数 函数的定义方式:...
  • python函数的定义与调用在python中 ,函数是一个组织好的 ,可以重复使用的代码段 ,函数可以提高代码的重复利用率 ,原则上一个函数只实现一个单一的功能 ,这样能增强程序的模块性, python有许多的内置函数可供你...
  • Python函数定义与调用 1、函数定义与调用 语法: def 函数名(): 函数代码 实例: def printHello(): print("Hello world") #调用函数 printHello() 结果: Hello world 2、函数的帮助文档 help(函数名称)...
  • Python函数与模块-函数定义与使用

    千次阅读 2019-04-03 19:03:00
    Python函数的定义与声明是视为一体的。 def 函数名(函数参数): 函数体 return 表达式或值 注: =>Python中变量是弱类型的,Python会自动根据值来维护其类型。所以不用指定返回值及函数参数的类型 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,671
精华内容 1,468
关键字:

python函数的定义与使用

python 订阅