返回顶部
首页 > 资讯 > 后端开发 > Python >python-函数基础
  • 888
分享到

python-函数基础

函数基础python 2023-01-30 22:01:06 888人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

函数简介 定义:就是具有特定功能的一段代码 优点: 解决代码的重复书写 可以将功能的实现着和使用者分开,提高开发效率 分类: 库函数:print、input、abs等 自定义:用户自己封装的函数

函数简介

  • 定义:就是具有特定功能的一段代码

  • 优点:

    • 解决代码的重复书写

    • 可以将功能的实现着和使用者分开,提高开发效率

  • 分类:

    • 库函数:print、input、abs等

    • 自定义:用户自己封装的函数

函数使用

  • 定义函数格式

    def 函数名([参数列表]):
        函数体

     

    []表示可选,参数可以有,也可以没有,也可以是多个。

  • 函数名:

    • 与变量一样,只要遵循标识符的命名规范即可。

  • 函数调用:

    • 函数定以后不会执行,需要调用才会执行

    • 调用格式:函数名([参数])

函数分类(参数与返回值)

  • # 无参无返回值
    def print_hello():
        for i in range(10):
            print('Hello world!')
    ​
    # print_hello()
    # 带参数无返回值
    def print_n_hello(n):
        for i in range(n):
             print('Hello world!')  
       
    # print_n_hello(5)
    ​
    # 带参有返回值
    def add(m, n):
        c = m + n
        # 使用return返回需要返回的值,不返回默认为None
        return c   
    ​
    print(add(3, 5))

     

分类的标准是按照有无参数,以及有无返回值。

函数参数

  • 形参:形式参数,就是写在函数定义出的参数

  • 实参:实际参数,就是在函数调用时传递的参数

  • 位置参数:也叫必传参数,没有默认值的参数

  • 默认参数:定义时有默认值,调用时可以不传,必须写在最后

  • 关键字参数:在函数调用时指定参数名字,参数的位置就无所谓。

  • 可变长度参数:函数调用时可以传递比定义处更多的参数,多出来的参数会保存在args和kwargs中

    def var_len_args(a, b, name='Goudan', *args, **kwargs):
        print(a, b)
        print(name)
        # 是一个元组,保存多传的位置参数
        print(args)
        # 是一个字典,保存多传的关键字参数
        print(kwargs)
    ​
    var_len_args(1, 2, 3, 4, age=10)

     

  • *的使用:

    def show(a, b):
        print(a, b)
    ​
    lt = [1, 2]
    # 需要从列表根据下表获取元素,然后作为参数传递
    # show(lt[0], lt[1])
    show(*lt)
    ​
    def show2(aa=11, bb=22):
        print(aa, bb)
       
    d = {'aa': 123, 'bb': 456}
    # show2(aa=d['aa'], bb=d['bb'])
    # 上下等价
    show2(**d)

     

函数进阶

  • 函数的定义位置是随意的?

    • 不是,一定是先定义后调用,函数的调用一定要放在定义之后。

  • 函数的名字可以相同吗?

    • 不可以,若出现同名函数,后者会覆盖前者。

  • 函数内容能否再定义函数?

    • 可以,定义在函数内部的函数叫内部函数,它是很多高级功能实现的基础。

变量的作用域

  • 块级作用域

    if True:
        name = 'ergou'
    ​
    # 能够在块的外部使用,说明没有块级作用域
    print(name)

     

  • 局部作用域

    • 局部变量:定义在函数内部的变量叫局部变量,只能在函数内部使用。

    def test():
        a = 10
    ​
    # 不能再函数外部使用,此处会报错
    print(a)

     

  • 全局作用域

    • 全局变量:定义在函数外部的变量叫全局变量,哪里都可以使用

    num = 10
    ​
    def show():
        # 声明使用的时外部的同名变量
        global num
        # 只能使用,不能修改,若想修改协议进行全局声明
        num = 20
        print(num)
    ​
    show()
    print(num)

     

    1. 函数内部可以使用外部变量,但是不能修改

    2. 若修改需要使用global进行全局声明

    3. 当函数内部与外部出现同名变量,默认使用的时内部变量

  • nonlocal使用

    • 说明:内部函数使用外部函数的局部变量,需要使用nonlocal进行声明

    def wai():
        n = 10
        def nei():
            # 声明使用非本地变量,外部函数的局部变量
            nonlocal n
            n = 20
            print(n)
        nei()
        print(n)
    ​
    wai()

     

递归函数(了解)

  • 定义:函数内部调用函数本身的函数叫递归函数。

  • 组成:

    • 函数内部调用自己

    • 终止条件(停止调用自己的条件)

    • 核心算法(具体功能)

  • 特点:

    • 代码简洁

    • 可读性差(不易理解)

    • 瞬间占用内存较大,没有终止条件立即崩溃

    • 有些领域是禁止使用的(安全领域:汽车电子)

    • 只有在不得不使用的时候才使用(遍历目录)

  • 练习:

    • 求n的阶乘

    • 斐波那契数列的第n项

      • 前两项都为1,从第三项开始,每一项都等于前两项的和

      • 如:1,1,2,3,5,8,13,21,...

常用函数

  • 内置函数(无需导入)

    print:打印,输出
    input:输入
    abs:求绝对值
    type:获取变量的类型
    chr:将ASCII数值转换为字符
    ord:将字符转换为对应的ASCII
    id:获取变量地址
    len:统计元素个数
    range:产生连续整数的可迭代对象
    enumerate:枚举可迭代对象
    ​
    强制类型转换:
    int
    float
    str
    list
    tuple
    set
    dict
    ​
    max:求多个参数的最大值,或可迭代对象中的最大元素
    min:最小值
    sum:求和,可迭代对象元素求和
    pow:求幂,pow(2, 3)等价于2 ** 3
    round:四舍五入,可以指定保留位数
    ​
    hex:16进制
    oct:8进制
    bin:2进制

     

  • 模块函数(需要导入)

    time:
        sleep:休眠指定的秒数,可以是小数
    math:
        e:自然对数
        pi:圆周率
        ceil:向上取整
        floor:向下取整
        sqrt:开方(请平方根)
        degrees:弧度转换为度
        radians:度转换为弧度
    sys:
        argv:运行程序时所有的命令行参数列表,第一个是程序文件名

     


    练习:完成一个计算器,支持加、减、乘、除运算

练习:

  • 前面练习全部以函数形式进行封装

  • 终端计算器

  • 删除列表中的重复元素

  • 统计一个字符串中字母、数字及其他字符的个数,返回一个元组即可

  • 返回一个列表中第二大的数

  • 完整列表的排序函数(sort),支持逆序

  • 号码归属地查询:

    '''5582|1860101|010|北京市|北京联通GSM卡
    5583|1860100|010|北京市|北京联通GSM卡
    5584|1368141|010|北京市|北京移动神州行卡
    5585|1860111|010|北京市|北京联通GSM卡
    5586|1358198|010|北京市|北京移动动感地带卡
    5587|1361139|010|北京市|北京移动预付费卡
    5588|1361138|010|北京市|北京移动神州行卡
    5591|1360110|010|北京市|北京移动全球通卡
    5748|1364110|010|北京市|北京移动神州行卡
    10186|1581584|020|广东省广州市|广东移动全球通卡
    15046|1391897|021|上海市|上海移动全球通卡
    17250|1502207|022|天津市|天津移动全球通卡
    21137|1345272|023|重庆市万州|重庆移动大众卡
    22700|1347812|024|辽宁省沈阳市|辽宁移动大众卡
    24256|1377065|025|江苏省南京市|江苏移动全球通卡
    26360|1898606|027|湖北省武汉市|湖北电信CDMA卡
    28709|1860802|028|四川省成都市|四川联通GSM卡
    30641|1552961|029|陕西省西安市|陕西联通GSM卡
    31700|1563007|0310|河北省邯郸市|河北联通GSM卡
    33360|1583396|0311|河北省石家庄市|河北移动全球通卡
    34825|1508122|0312|河北省保定市|河北移动全球通卡
    35363|1551235|0313|河北省张家口|河北联通GSM卡
    37700|1331326|0316|河北省廊坊市|河北电信CDMA卡
    43500|1350358|0358|山西省吕梁市|山西移动全球通卡
    43908|1553625|0359|山西省运城市|山西联通GSM卡
    44521|1335360|0370|河南省商丘市|河南电信CDMA卡
    50078|1509369|0378|河南省开封市|河南移动全球通卡
    53603|1583981|0398|河南省三门峡|河南移动全球通卡
    53916|1335897|0410|辽宁省铁岭市|辽宁电信CDMA卡
    55248|1554254|0411|辽宁省大连市|辽宁联通GSM卡
    58618|1374272|0427|辽宁省盘锦市|辽宁移动全球通卡
    58932|1554183|0429|辽宁省葫芦岛|辽宁联通GSM卡
    60268|1340475|0431|吉林省长春市|吉林移动大众卡'''
    ​

     

--结束END--

本文标题: python-函数基础

本文链接: https://lsjlt.com/news/180183.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python函数基础
    目录Python函数1、函数的定义格式2、使用当前文件的函数3、调用及定义函数4、使用其他文件(模块)的函数5、求两数之和Python函数 函数就是把具有独立功能的代码块封装成一个小...
    99+
    2024-04-02
  • python-函数基础
    函数简介 定义:就是具有特定功能的一段代码 优点: 解决代码的重复书写 可以将功能的实现着和使用者分开,提高开发效率 分类: 库函数:print、input、abs等 自定义:用户自己封装的函数 ...
    99+
    2023-01-30
    函数 基础 python
  • Python基础函数
    join()函数的用法   join()函数连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 语法:'sep'.join(seq) 参数说明sep:分隔符。可以为空seq:要连接的元素序列、字符串、...
    99+
    2023-01-31
    函数 基础 Python
  • Python基础:Python函数
    一、函数是python中使用最高的对象。        函数定义的简单规则 :        1、用def定义,接着是函数名和参数和冒号,格式:        2、函数内部代码块需要缩进        3、使用return返回函数值,默认返...
    99+
    2023-01-31
    函数 基础 Python
  • python基础四:函数
    def sum(a,b): result = a+b print(result) num1 = int(input("num1:")) num2 = int(input("num2:")) sum(num1,num2) a...
    99+
    2023-01-31
    函数 基础 python
  • python基础之函数
    函数: # 什么是函数:一系列python语句的组合,可以在程序中运行一次或者多次 # 一般是完成具体的独立的功能 # 为什么要使用函数 # 代码的复用最大化以及最小化冗余代...
    99+
    2024-04-02
  • python基础及函数1
    Python的程序执行方式:Python的程序编辑窗口、Python的解释器提示符。python常量:×××、实型(浮点型)、字符串型。Python数据类型:数值类型、字符串类型、布尔类型、复合数据类型  数值类型:整型(0b/0B、0o/...
    99+
    2023-01-31
    函数 基础 python
  • Python基础【高阶函数】
    map(fun,seq) 将seq中的元素依次作为参数传入fun,返回由函数返回值组成的新的列表。 python3:返回一个map对象 python2:返回列表 可以用list将对象转换为列表进行调用 代码: def f...
    99+
    2023-01-31
    高阶 函数 基础
  • python基础-函数(一)--pyth
    python基础---函数(一) 目录 python基础---函数(一)1.函数的定义2.函数 的参数详解3.return4.lambda匿名函数 1.函数的定义 function 功能,函数 函数就是对代码进行一个封装,把实现某...
    99+
    2023-01-31
    函数 基础 python
  • Python基础之(七)函数
    建立函数 在Python中,规定了一种定义函数的格式,下面的举例就是一个函数,以这个函数为例来说明定义函数的格式和调用函数的方法。 def add_function(a, b): #冒号必须 c = a + b #缩进必须 ...
    99+
    2023-01-31
    函数 基础 Python
  • python基础之 函数的参数
      一、形参和实参是什么  函数的参数分为形式参数和实际参数,简称形参和实参:  形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。  def func(x,y): #x和y为形参  print(x,y) ...
    99+
    2023-06-01
  • Python基础——4高阶函数
    高阶函数 函数本身可用变量指向,把变量当做函数参数的函数成为高阶函数 map and reduce map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterato...
    99+
    2023-01-30
    高阶 函数 基础
  • python基础学习11----函数
    一.函数的定义 def 函数名(参数列表): 函数体 return语句 return语句不写或后边不加任何对象即为return None 二.函数的参数 无参数 def func1(): print("没有...
    99+
    2023-01-30
    函数 基础 python
  • Python基础:自定义函数
    函数的形式: def name(param1, param2, ..., paramN): statements return/yield value # optional 和其他需要编译的语言(比如 C 语言)不一...
    99+
    2023-01-31
    自定义 函数 基础
  • Python基础:lambda 匿名函数
    格式 lambda argument1, argument2,... argumentN : expression square = lambda x: x**2 print(square(2)) 与常规函数区别   匿名函数 l...
    99+
    2023-01-31
    函数 基础 Python
  • python基础之递归函数
    # 递归满足的条件 # 1.自己调用自己 # 2.必须有一个明确的结束条件 # 优点:逻辑简单\定义简单 # 缺点:防止内存消耗过多,容易导致栈溢出,内存资源紧张,甚至内存泄漏...
    99+
    2024-04-02
  • python基础之内置函数
    https://docs.python.org/3/library/function.html #python官方网址 # 取绝对值 print(a...
    99+
    2024-04-02
  • Python基础函数有哪些
    本篇内容介绍了“Python基础函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、标准函数 def你可以定义一个由自己想要功能的函...
    99+
    2023-06-02
  • 函数基础
    目录 函数体系 什么是函数?(掌握) 为何用函数(掌握) 如何用函数(掌握) 注册功能函数 登录功能函...
    99+
    2023-01-31
    函数 基础
  • 【Python基础】06、Python函
    一、函数概述1、函数的基础概念       函数是python为了代码最大程度地重用和最小化代码冗余而提供的基础程序结构。       函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件       函数用于将相关功能打包并参数...
    99+
    2023-01-31
    基础 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作