Python中关于函数的具体用法范例以及介绍

目录
  • 1.函数的介绍
  • 2.函数的定义和调用
  • 3.函数的参数
  • 4.参数的分类
    • 4.1.位置参数
    • 4.2.关键字参数
    • 4.3.缺省参数
    • 4.4.不定长参数
      • 1.不定长参数*args
      • 2.不定长参数* * kwargs
    • 4.5.函数位置顺序
    • 4.6.函数的返回值
      • 1.多个return
      • 2.返回多个数据
    • 4.7.函数的类型
      • 1.无参数,无返回值的函数
      • 2.无参数,有返回值的函数
      • 3.有参数,无返回值的函数
      • 4.有参数,有返回值的函数
    • 4.8.函数的嵌套
    • 4.9.匿名函数
  • 5.函数小练习

1.函数的介绍

在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数

定义函数的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return相当于返回 None。

2.函数的定义和调用

格式如下:

def 函数名():
    执行语句
函数名()    #调用函数

实例:

def info():
    print("人生苦短我用python")
info()

定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名() 即可完成调用
每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了
当然了如果函数中执行到了return也会结束函数

3.函数的参数

首先定义一个带有参数的函数,并且调用这个函数

实例:

def test1(a,b):   # a,b为参数
    c=a+b
    print(c)
test1(1,2)  # 调用带有参数的函数时,需要在小括号中,传递数据

定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”

4.参数的分类

函数参数大概分为四种:

  • 位置参数
  • 关键字参数
  • 缺省参数
  • 不定长参数

4.1.位置参数

格式如下:

def 函数名(参数1,参数2):
    代码块
函数名(值1,值2)

实例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(2,3)

4.2.关键字参数

格式如下:

def 函数名(参数1,参数2):
    代码块
函数名(参数1=值1,参数2=值2)

实例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(a=2,b=3)

参数调用时可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面

实例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(3,b=2)

如果关键字参数传参要在位置参数之前,将会报错

实例:

def fun(a,b):
    print("a:",a)
    print("b:",b)
fun(a=3,2)

4.3.缺省参数

在形参中默认有值的参数,称之为缺省参数(也称为默认参数)

实例:

def printinfo(name,age=20):
    print("name:",name)
    print("age:",age)
printinfo(name="jack")

调用函数时,缺省参数的值如果没有传入,则取默认值(形式参数),如果传入,则取实际参数
缺省参数一定要位于位置参数的最后面

4.4.不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。

格式如下:

def printinfo(*args,**kwargs):
    print("args:",args)
    print("kwargs:",kwargs)
printinfo(参数)

加了星号(*)的变量args会存放所有未命名的变量参数,args为元组
加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典

1.不定长参数*args

实例:

def printinfo(*args):
    print("args:",args)
printinfo(100,200,300,400)

2.不定长参数* * kwargs

实例:

def printinfo(**kwargs):
    print("kwargs:",kwargs)
printinfo(a=100,b=200,c=300,d= 400)

4.5.函数位置顺序

格式如下:

def fun(位置参数,*args,缺省参数,**kwargs):
    代码块
fun(参数值)

实例:

def sun(a,*args,b=22,**kwargs):
    print("a:",a)
    print("args:",args)
    print("b:",b)
    print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)

如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有**kwargs的话,**kwargs必须是最后的

4.6.函数的返回值

场景:
我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值

格式如下:

def sum():
    代码块
    return 值
sum()

实例:

def sum(a,b):
    return a+b
result = sum(1,2)   #保存函数的返回值
print(result)

1.多个return

实例:

def create_nums(num):
    print("---1---")
    if num == 100:
        print("---2---")
        return num + 1  # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
        print("return执行之后不会继续执行")
    else:
        print("wewe")
        return "输入不是100"
print(create_nums(100))

一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处

2.返回多个数据

实例:

def divid(a, b):
    add = a+b    #相加
    reduct = a-b    #相减
    return add, reduct  #默认是元组
result = divid(5, 2)
print(result)

return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

4.7.函数的类型

函数根据有没有参数,有没有返回值,可以相互组合,一共有4种:

  • 1. 无参数,无返回值
  • 2. 无参数,有返回值
  • 3. 有参数,无返回值
  • 4. 有参数,有返回值

1.无参数,无返回值的函数

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数

实例:

def printMenu():
    print('--------------------------')
    print('      xx涮涮锅 点菜系统')
    print('')
    print('  1.  羊肉涮涮锅')
    print('  2.  牛肉涮涮锅')
    print('  3.  猪肉涮涮锅')
    print('--------------------------')

2.无参数,有返回值的函数

此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数

实例:

def getTemperature():
    # 这里是获取温度的一些处理过程
    # 为了简单起见,先模拟返回一个数据
    return 24
tem=getTemperature()
print(tem)

3.有参数,无返回值的函数

此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数

4.有参数,有返回值的函数

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数

实例:

# 计算1~num的累积和
def calculateNum(num):
    result = 0
    i = 1
    while i<=num:
        result = result + i
        i+=1
    return result
cal=calculateNum(100)
print(cal)

4.8.函数的嵌套

一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用

实例:

def testb():
    print("testb start")
    print("testb testb  执行")
    print("testb end")
def testa():
    print("testa start")
    testb()
    print("testa end")
testa()

如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置

4.9.匿名函数

lambda函数也叫匿名函数,即函数没有具体的名称

实例:

g = lambda x :x+1
print(g(1))

lambda函数可以赋值给变量,默认是返回的,所以不用再加return关键字
例如g = lambda x:x+1,可以看成如下函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值

def g(x):
    return x + 1
print(g(1))

5.函数小练习

写一个函数求三个数的和,并返回结果

def func(a,b,c):
    return a+b+c
print(func(1,4,7))

写一个函数求三个数的平均值,并返回结果

def func1(a,b,c):
    return (a+b+c)/3
print(func1(2,3,4))

写一个函数求每个数与平均值之间的差,并返回结果

def func2(a,b,c):
    d=(a+b+c)/3
    return a-d,b-d,c-d
print(func2(5,8,2))

到此这篇关于Python中关于函数的具体用法范例以及介绍的文章就介绍到这了,更多相关Python 函数用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python函数式编程之面向过程面向对象及函数式简析

    目录 Python 函数式编程 同一案例的不同写法,展示函数式编程 面向过程的写法 面向对象的写法 接下来进入正题,函数式编程的落地实现 Python 函数式编程的特点 纯函数 Python 函数式编程 Python 不是纯粹的函数式语言,但你可以使用 Python 进行函数式编程 典型的听君一席话,如听一席话,说白了就是 Python 具备函数式编程的特性, so,可以借用函数式语言的设计模式和编程技术,把代码写成函数式编程的样子 一般此时我会吹嘘一下,函数式代码比较简洁和优雅~ 好了,已经吹

  • python机器学习高数篇之函数极限与导数

    不知道大家有没有类似的经历,斗志满满地翻开厚厚的机器学习书,很快被一个个公式炸蒙了. 想要学习机器学习算法,却很难看的懂里面的数学公式,实际应用只会调用库里的函数,无法优化算法. 学好机器学习,没有数学知识是不行的.数学知识的积累是一个漫长的过程,罗马也不是一夜建成的. 如果想要入门机器学习,数学基础比较薄弱,想打牢相关数学基础,可以关注笔者,一起学习(数学大佬也可以来扫一眼python代码)~ 接下来我们以高数(同济第七版)课后习题为例,使用python语言来求解函数和导数的习题. 这样大家做

  • Python中函数的定义及其调用

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用'' 函数: 函数是带名字的代码块,用于完成具体的工作需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试 和 修复都将更容易 1.定义函数 d

  • Python 类,对象,数据分类,函数参数传递详解

    目录 1.基本概念 1.1 类与对象的关系 1.3 对象的创建与引用 2.数据的分类 2.1 不可变类型 2.2 可变类型 3.函数传递参数的方式 3.1 值传递 3.2 引用传递 总结 最近在基于python写的接口自动化脚本,从Excel表中读取所有数据,每一行数据保存为字典,再将很多行的字典数据保存到一个列表里,运行时发现,列表中的字典均相同,且一直是excel最后一行的数据,情况类比如下: dd = {"a":1,"b":10} i = 2 list1 =

  • Python初学者必须掌握的25个内置函数详解

    目录 input() print() set() str() chr(i) ord() bool() int() bin() oct() hex() abs() divmod() round() pow(x, y[, z]) sum(iterable) min(x, y, z, -) list() tuple() dict() len() reversed() enumerate() filter(func, iterable) 总结 input() 作用:让用户从控制台输入一串字符,按下回车后

  • Python中关于函数的具体用法范例以及介绍

    目录 1.函数的介绍 2.函数的定义和调用 3.函数的参数 4.参数的分类 4.1.位置参数 4.2.关键字参数 4.3.缺省参数 4.4.不定长参数 1.不定长参数*args 2.不定长参数* * kwargs 4.5.函数位置顺序 4.6.函数的返回值 1.多个return 2.返回多个数据 4.7.函数的类型 1.无参数,无返回值的函数 2.无参数,有返回值的函数 3.有参数,无返回值的函数 4.有参数,有返回值的函数 4.8.函数的嵌套 4.9.匿名函数 5.函数小练习 1.函数的介绍

  • python中enumerate函数遍历元素用法分析

    本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, elem

  • 基于Python中求和函数sum的用法详解

    基于Python中求和函数sum的用法详解 今天在看<集体编程智慧>这本书的时候,看到一段Python代码,当时是百思不得其解,总觉得是书中排版出错了,后来去了解了一下sum的用法,看了一些Python大神写的代码后才发现是自己浅薄了!特在此记录一下.书中代码段摘录如下: from math import sqrt def sim_distance(prefs, person1, person2): # 得到shared_items的列表 si = {} for item in prefs[p

  • Python中关于字典的常规操作范例以及介绍

    目录 1.字典的介绍 2.访问字典的值 (一)根据键访问值 (二)通过get()方法访问值 3.修改字典的值 4.添加字典的元素(键值对) 5.删除字典的元素 6.字典常见操作 1.len 测量字典中键值对的个数 2. keys 返回一个包含字典所有KEY的列表 3. values 返回一个包含字典所有value的列表 4. items 返回一个包含所有(键,值)元祖的列表 5. 遍历字典的key(键) 6. 遍历字典的value(值) 7. 遍历字典的items(元素) 8. 遍历字典的ite

  • Python中关于列表的常规操作范例以及介绍

    目录 1.列表的介绍 2.打印出列表的数据 1.我们可以根据下标取值进行打印 2.使用for循环遍历 3.使用while循环遍历 3.列表的添加操作 1.append()方法 2.extend()方法 3.insert()方法 4.列表的修改操作 5.列表的查找操作 1.in 方法 2.not in 方法 3.index 方法 4.count 方法 6.列表中的删除操作 1.del 方法 2.pop 方法 3.remove 方法 7.列表的排序操作 8.小练习送给你们 (一) (二) 1.列表的

  • python中open函数的基本用法示例

    前言 本文主要介绍的是关于python中open函数用法的相关资料,用法如下: name = open('errname.txt','w')<br>name.readline()<br>name.close() 1.看下第一行的代码 用来访问磁盘中存放的文件,可以进行读写等操作,例如上例中 'w',这里便是对errname.txt这个文件进行读操作 例如: w:以写方式打开 a:以追加方式打开 r+:以读写模式打开 w+:以读写模式打开 rb:以二进制读模式打开 wb:以二进制写模

  • Python中range函数的基本用法完全解读

    目录 前言 1.range() 是什么? 2. 为什么range()不生产迭代器? 3.range 类型是什么? 4.小结 附:Python的range()函数的历史 总结 前言 迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在.在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成迭代器的方法.有些方法是专门用于生成迭代器的,还有一些方法则是为了解决别的问题而“暗中”使用到迭代器. 在系统学习迭代器之

  • Python中super()函数简介及用法分享

    首先看一下super()函数的定义: super([type [,object-or-type]]) Return a **proxy object** that delegates method calls to a **parent or sibling** class of type. 返回一个代理对象, 这个对象负责将方法调用分配给第一个参数的一个父类或者同辈的类去完成. parent or sibling class 如何确定? 第一个参数的__mro__属性决定了搜索的顺序, sup

  • Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import numpy as np import matplotlib.pyplot as plt #产生测试数据 x = np.arange(1,10) y = x fig = plt.figure() ax1 = fig.add_subplot

  • 浅述python中argsort()函数的实例用法

    由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了其相关的用处,为了怕自己后面又忘了,就写下来权当加深理解了.(ps:我也是python小白,理解可能比较浅显) 1.先定义一个array数据 import numpy as np x=np.array([1,4,3,-1,6,9]) 2.现在我们可以看看argsort()函数的具体功能是什么: x.argsort

随机推荐