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形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
随机推荐
- Spring之AOP由浅入深
1.AOP的作用 在OOP中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加.AOP则将封装好的对象剖开,找出其中对多个对象产生影响的公共行为,并将其封装为一个可 ...
- Java集合框架之一:ArrayList源码分析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量.该容量是指用来存储列表元素的数组的大小.它总是至少等于 ...
- phpMyAdmin 4.7.x CSRF 漏洞利用
作者:Ambulong phpMyAdmin是个知名MySQL/MariaDB在线管理工具,phpMyAdmin团队在4.7.7版本中修复了一个危害严重的CSRF漏洞(PMASA-2017-9),攻击 ...
- Linux - 利用systemctl命令管理服务
systemctl命令是系统服务管理器指令,融合了service和chkconfig的功能,可以查看和设置服务. 这里以docker服务为例. 利用systemctl命令管理 显示服务状态:syste ...
- Ubuntu 13.10下安装ns2 2.35遇到的小问题
前面下载安装的环节我就不多说了,网上已经有很多的例子,最全的是一个新浪网友写的博客:http://blog.sina.com.cn/s/blog_785a23ae0100xraq.html.他使用的是 ...
- spring boot -thymeleaf-遍历list和map
遍历 list如下 th:each th:each 状态变量 var 遍历map如下(需要双层遍历) controller代码如下
- 【xsy2479】counting 生成函数+多项式快速幂
题目大意:在字符集大小为$m$的情况下,有多少种构造长度为$n$的字符串$s$的方案,使得$C(s)=k$.其中$C(s)$表示字符串$s$中出现次数最多的字符的出现次数. 对$998244353$取 ...
- Python3学习笔记 - day1
前言 本文不是一篇系统的从零开始学习Python的教程,如果你需要从零开始学习Python,廖雪峰的官方网站中Python教程这部分将是比较好的一种选择,如果你英语比较好,也可以在国外的一些网站上找到 ...
- A Painless Q-learning Tutorial (一个 Q-learning 算法的简明教程)
本文是对 http://mnemstudio.org/path-finding-q-learning-tutorial.htm 的翻译,共分两部分,第一部分为中文翻译,第二部分为英文原文.翻译 ...
- 从零开始学 Web 之 jQuery(八)each,多库共存,包装集,插件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...