Python 函数介绍
函数的作用
1.减少重复代码
2.方便修改,更易扩展
3.保持代码一致性
函数的命名规则:
1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号。
2.函数名区分大小写。
3.函数名不能是保留字。
形参和实参
形参: 形式参数,不是实际存在的,是虚拟变量。
实参: 实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参。
举个例子:
def add(x, y): # 这里 add(x, y) 里面中的 x, y 就是形参
print(x + y)
add(1, 2) # 调用 add(1, 2) 函数里面的 1, 2 就是实参
运行结果:
3
函数参数分类
1.必备参数:
必备参数必须按正确的顺序传入,数量与申明时一致。
def person(name, age):
print('My name is %s, age %d' %(name, age))
person('klvchen', 28)
运行结果:
My name is klvchen, age 28
2.关键字参数
函数使用关键字参数进行调用时,允许参数的顺序与声明时不一致。
def person(name, age):
print('My name is %s, age %d' %(name, age))
person(age = 28, name = 'klvchen')
运行结果:
My name is klvchen, age 28
3.默认参数
调用函数时,用户如果没有传入缺省的值,则被认为是默认值。默认参数只能放在最后。
def person(name, age, sex = 'male'):
print('My name is %s, age %d sex is %s' %(name, age, sex))
person(age = 28, name = 'klvchen')
运行结果:
My name is klvchen, age 28 sex is male
当用户需要传入非默认参数时:
def person(name, age, sex = 'male'):
print('My name is %s, age %d sex is %s' %(name, age, sex))
person('lily', 18, 'female')
运行结果:
My name is lily, age 18 sex is female
4.不定长参数
事先没有规定用户输入的参数数量。
(*args)只存放未命名的变量参数,用户输入的参数会组成元组方式传入。
def add(*args):
print(args)
total = 0
for i in args:
total += i
print(total)
add(1, 2, 3)
运行结果:
(1, 2, 3)
6
(**kwargs)只存放命名的变量参数,用户输入的参数会组成字典方式传入。
def person(**kwargs):
print(kwargs)
for i in kwargs:
print("%s : %s" %(i, kwargs[i]))
person(name='klvchen', job='IT')
运行结果:
{'name': 'klvchen', 'job': 'IT'}
name : klvchen
job : IT
(*args)和(**kwargs)配合一起使用即可以接受用户输入的全部参数:
def person( *args, **kwargs):
print(args)
print(kwargs)
print()
for l in args:
print(l)
for i in kwargs:
print("%s : %s" %(i, kwargs[i]))
person(1, 2, 3, 4, name='klvchen', job='IT')
运行结果:
(1, 2, 3, 4)
{'name': 'klvchen', 'job': 'IT'}
1
2
3
4
name : klvchen
job : IT
函数的返回值
函数返回单个值
def test():
return 'hello world'
result = test()
print(result)
运行结果:
hello world
函数返回多个值
def test():
return 1, [2, 3]
result = test()
print(result)
运行结果:
(1, [2, 3])
注意:
1.如果函数没有 return 关键字,默认会返回 None
2.如果函数 return 多个值,Python 会把多个值组成一个元组返回
3.函数在执行过程中如果遇到 return 关键字就会停止执行并返回结果,return 代表着函数的结束
Python 函数介绍的更多相关文章
- Python开发【第三章】:Python函数介绍
一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...
- 3 Python 函数介绍
1.函数的基本概念 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义 def ...
- python函数介绍
1.向函数传递信息 def greet_user(username): print('Hello,' + username.title() + '!') greet_user('jesse') 2.位 ...
- Python函数(1)
一.Python函数介绍 函数时组织好的,可重复的,用来实现单一,或相关联功能的代码段. 函数的使用原则时先定义,后调用:事先准备工具的过程即函数的定义,遇到应用场景拿来当工具用即函数的调用. 函数的 ...
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- python中multiprocessing.pool函数介绍_正在拉磨_新浪博客
python中multiprocessing.pool函数介绍_正在拉磨_新浪博客 python中multiprocessing.pool函数介绍 (2010-06-10 03:46:5 ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Python的常用内置函数介绍
Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...
- python 函数参数介绍
python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
随机推荐
- ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...
- Adobe reader multiple languages pack
用户打开客户发过来的PDF文档,显示不正常,这是电脑的Adobe Reader缺少相关的字体. 可以从下面地址下载相对版本的字体包安装:http://supportdownloads.adobe.co ...
- 浅谈ESB中的DataRow、DataSet、DataBag 、DataBox
1 背景概述 笔者在学习公司产品AEAI ESB 的时候经常需要从数据库获取信息并将数据信息保存到一个结果变量中,为统计分析提供特定格式的数据以及跨数据库同步数据时通常会用到DataRow.DataS ...
- Java设计模式----中介者模式
说到中介大家都不会陌生,买房子租房子有中介,出国留学有中介,买卖二手车还是有中介.那么中介到底是个什么角色呢?实际上,中介就是让买卖双方不必面对面直接交流,由他/她来完成买卖双方的交易,达到解耦买卖人 ...
- Android NDK学习(四):C/C++层调用JAVA
一.从C/C++层调用JAVA层代码(无参数调用) //在c代码里面调用java代码里面的方法 // java 反射 // 1 . 找到java代码的 class文件 // jclass (*Find ...
- Android数据存储之SharedPreferences使用
SharedPreferences是Android中一种轻型的数据存储类.本质上是基于XML文件进行存储Key-Value键值对的数据,生成的XML文件的目录在/data/data/包名/Shared ...
- Swift5 语言指南(十八) 可选链接
可选链接是一个查询和调用当前可选的可选项的属性,方法和下标的过程nil.如果optional包含值,则属性,方法或下标调用成功; 如果是可选的nil,则返回属性,方法或下标调用nil.多个查询可以链接 ...
- 使用cygwin中的awk工具进行mysql binlog日志查看[利刃篇]
linux工具确实强悍,然而作为没有linux机器使用权以及开发没有使用linux进行的人,有时想用一些命令确实不方便,所以,才去试着用用cygwin,一款在windows平台上运行的类UNIX模拟环 ...
- TCP/UDP OSI_layer 4
这篇文章主要复习OSI模型中的第4层:传输层,主要包含两个协议TCP .UDP. Transport 传输层 多路复用: 一个协议为多个上层协议或者多个上层应用提供一个统一的服务 TCP/UDP 通过 ...
- kubernetes集群搭建(4):node节点安装
下列所有操作需要在所有node节点上操作,并注意红色部分的修改 1.node节点不需要安装etcd来存储相关信息 yum -y install flannel kubernetes 2.修改flann ...