python中函数的定义及使用方法

1、函数的概念:函数是将具有独立功能的代码块组织为一个整体,使其具有特殊功能的代码集;

2、函数的作用:使用函数可以加强代码的复用性,提高程序编写的效率;

3、函数的使用:函数必须先创建才可以使用,该过程称为函数的定义,函数创建后可以使用,使用过程称为函数调用;

函数定义与调用

  • 函数语法:
def 函数名(形参1,形参2): #定义
... #函数体
函数名(实参1,实参2) #调用
  • 规则:

  • 函数代码块以def关键词开头,后接函数标识名称和圆括号();

  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数;

  • 函数的第一行语句可以选择性的使用文档字符串_用于存放函数说明;

  • 函数内容以冒号起始,并且缩进;

  • return[表达式] 结束函数,选择性的返回一个值给调用方,不带表达式的return相当于返回None;

  • 定义函数

lst = [1,2,3,4]
def mylen():
i = 0
for n in lst:
i += 1
print(i)
  • 调用函数
lst = [1,2,3,4]
def mylen():
i = 0
for n in lst:
i += 1
print(i)
mylen() #调用函数
  • 函数返回值
def mylen():
i = 0
for n in lst:
i += 1
return i # return 的作用就是将函数内的值返回给调用者
lst = [1,2,3,4]
ret = mylen()
print('>>>',ret)
  • 不写return 所有代码执行完后自动结束函数,返回值为None
  • 只写return 与到return函数结束 返回值为None
  • return 返回的结果 程序结束,返回结果,可以返回多个值,如:return 结果1,结果2,结果3,会变成元组返回给调用者

参数

  • 形参和实参
def sum(a,b,c):  # 此处传的值为形式参数  形参
return a+b+c
a1 = input('>>>>') # 3
a2 = input('>>>>') # 4
a3 = input('>>>>') # 5
ret = sum(int(a1),int(a2),int(a3)) # 此处传的值为实际参数 实参
print(ret)
>>>12
  • 位置参数
def func(a,b,c):  # 形参
print(a)
print(b)
print(c)
func(1,2,3) # 注意:在此处传值的时候要对应形参,a=1,b=2,c=3
>>>1
>>>2
>>>3
  • 关键字参数
def func(a,b):  # 此处的a,b为关键字参数
print(a)
print(b)
func(a = 1,b = 2) # 此处传参按关键字传参:a = 1,b = 2 的方式
>>>1
>>>2
func(a = 3,b = 4) # 此处传参按关键字传参:a = 3,b = 4 的方式
>>>3
>>>4
  • 默认参数
def func(a,b,c = 3):  # 此处的c为默认参数
print(a)
print(b)
print(c)
func(1,2)
>>>1
>>>2
>>>3
  • 动态参数一 用*args来接受参数
def sum(*args):  *args 按位置传参
s = 0
for i in args:
s += i
return s
ret = sum(1,2)
print(ret) # 结果:3
ret1 = sum(1,2,3)
print(ret1) # 结果:6
ret2 = sum(1,2,3,4)
print(ret2) # 结果:10

一般*args动态参数放在位置参数之后

def demo(a,b,c,*args):
print(a) # 结果:1
print(b) # 结果:2
print(c) # 结果:3
print(args) # 结果:(4,5)
demo(1,2,3,4,5)
  • 动态参数二 用**kwargs接受参数
def func(**kwargs): # *kwargs 按关键字传参
print(kwargs) # 结果:{'a': 1, 'b': 2, 'c': 3}
func(a = 1,b = 2,c = 3)

参数使用的先后顺序:位置参数+动态参数+默认参数(关键字参数)

def func(a,b,c,*args,d='A'):
print(a) # 结果:1
print(b) # 结果:2
print(c) # 结果:3
print(d) # 结果:A
print(args) # 结果:(4,5,6,7)
func(1,2,3,4,5,6,7)
如果想修改默认参数的值,便在传参的时候重新给d赋值:
def func(a,b,c,*args,d='A'):
print(a) # 结果:1
print(b) # 结果:2
print(c) # 结果:3
print(d) # 结果:B
print(args) # 结果:(4,5,6,7)
func(1,2,3,4,5,6,7,d ='B')
传参简便方法
def func(*args):
print(args)
tup = (1,2,3)
func(*tup) # func(1,2,3)
结果:(1, 2, 3)
def func(a,b,c):
print(a,b,c)
dic = {'a': 1, 'b': 2, 'c': 3}
func(**dic) # func(a=1,b=2,c=3)
结果:1 2 3
def func(**kwargs):
print(kwargs)
dic = {'a': 1, 'b': 2, 'c': 3}
func(**dic) # func(a=1,b=2,c=3)
结果:{'a': 1, 'b': 2, 'c': 3}

python中函数的定义及调用的更多相关文章

  1. python中函数的定义与调用

    1.为什么要用函数? (1)代码重复太多(2)可读性差 使用函数的好处: (1)代码重用 (2)保持一致性,易维护 (2)可扩展性 2.初始函数定义与调用     函数的定义 def test(x): ...

  2. Python中函数的定义必须在调用的前面

    # -*- coding:utf-8 -*- Python中函数的定义必须在调用的前面,但是在函数的内部调用一个函数,不用考虑顺序,只要被调用的函数被定义了即可 #标准的先函数定义,后函数调用def ...

  3. python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用-初级篇

    函数的基本概述 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,可以思考一下如果有某个功能的代码是在多个地方使用的是否可以只写一次?此时的代码该如何定义.先观察以下的案例: ...

  4. python中函数的定义和详细的使用方法

    1. 函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集   2. 函数的作用,使用函数可以加强代码的复用性,提高程序编写的效率   3. 函数的使用,函数必须先创建才 ...

  5. python基础----函数的定义和调用、return语句、变量作用域、传参、函数嵌套、函数对象、闭包、递归函数

    1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  6. Python基础--函数的定义和调用

    一.函数的作用: 提高代码的可读性,减少代码的冗余,方便调用和修改,组织结构清晰 二.函数的定义:函数遵循先定义后调用的原则 1.无参函数 def funcname(): #def 是关键字,后跟函数 ...

  7. python第六天函数,定义、调用、不带参函数、带参函数等

    在python定义函数需要用到的关键字是 def  xxxx():,这个关键字就是 defined 的缩写.具体看实例: >>> def hello(): print("你 ...

  8. JavaScript 中函数的定义和调用

    3种函数定义方式: 1.使用关键字 function 来声明并定义函数 function myFunction(a, b) { return a * b; } 调用函数: var x = myFunc ...

  9. python中函数的定义、返回值以及参数的简要介绍

    一. 1.函数 定义:def关键字开头,空格之后接函数名称和圆括号(),后面紧跟‘:”. 函数是对功能的封装 语法: def 函数名(形参列表): 函数体(代码块,return) 调用: 函数名(实参 ...

随机推荐

  1. AutoFac控制反转 转载https://blog.csdn.net/u011301348/article/details/82256791

    一.AutoFac介绍 Autofac是.NET里IOC(Inversion of Control,控制反转)容器的一种,同类的框架还有Spring.NET,Unity,Castle等.可以通过NuG ...

  2. activiti7业务表示Businesskey

    启动流程实例时,指定的businesskey,就会在act_ru_execution #流程实例的执行表中存储businesskey. Businesskey:业务标识,通常为业务表的主键,业务标识和 ...

  3. jmeter 不同线程组之间传递变量2

    方法1  通过变量传递参数: 第一个脚本: HTTP Request_新建出差申请单_登录,关联出参数token.companyId.userId.userName 1.添加后置处理器:BeanShe ...

  4. linux中常用的命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  5. 在apache hadoop2.6 上部署hive 并将hive数据源存储于Mysql

    集成hive 的前提是apache hadoop 集群能够正常启动. hadoop 版本 apach2.6.0  hive 版本:1.2.1 1.安装mysql 并赋予权限: 1.1:创建hive 用 ...

  6. MySQL-技术专区-数据库权限管理

    前言 学习mysql数据库,对于它的权限的管理是关键的一环.所以,下面介绍的是MySQL权限的管理. MySQL权限表 MySQL数据库实际上是通过将用户写入mysql库中对应的权限表来控制访问权限的 ...

  7. ArcGis基础——设置图层可选状态

    在ArcMap的图层列表上右键,可以设置“仅本图层可选”. 那么,如何设置回多个或者全部图层可选状态呢? 1.在ArcMap的菜单栏找到 自定义——自定义模式——选择——设置可选图层. 2.将“设置可 ...

  8. Javascript高级程序设计--读书笔记之面向对象(二)

    前面讲了面向对象的封装,这章我们就来说一说继承 1.原型链 实现原型链有一种基本模式,其代码大概如下 <script> function SuperType(){ this.propert ...

  9. Linux (ifconfig/docker) 移除网桥/虚拟网卡

    今天上大数据实践课时,使用学校提供的云主机平台创建了几台vps,但是安全组配置好之后发现无法用ssh无法登录,ping也不通,提示网络无法到达. 但是拿别人的电脑试了下能顺利使用ssh连接. 有人说是 ...

  10. leetcood学习笔记-27-移除元素

    题目: 第一次提交: class Solution: def removeElement(self, nums, val: int) -> int: for i in range(len(num ...