Python学习【第8篇】:python中的函数
1.python中函数定义方法
def test(x):
"This istest"
y = x*2+1
return y
vaule = test(2)
print(vaule)
运行结果:
5
def:定义函数关键字
test:函数名
():内可定义形参
“”:文档描述(非必要,但是建议为函数添加注释信息)
x+=1:泛指代码块或程序处理逻辑
return:定义返回值
函数的好处:
1.代码重用
2.保持一致性,易维护
3.可扩展性
2.过程定义:过程就是简单特殊没有返回值的函数
def test01():
msg = "Hello xiaoxing"
print(msg)
def test02():
msg = "Hello xiaoxing"
print(msg)
return msg
t1 = test01()
t2 = test02()
print(t1)
print(t2)
运行结果:
Hello xiaoxing
Hello xiaoxing
None
Hello xiaoxing
前两个为定义函数时的输出
第三个输出为none,因为在定义test01的时候过程没有返回值
第四个正常输出
总结:
返回值数=0:返回None
返回值数=1:返回object(对象)
返回值数>1:返回tuple(元组)
3.函数参数(对应day14-11)
(1).形参变量只在被调用时才分配内存单元,在调用结束即刻释放所分配内存单元,即形参内部有效
函数调用结束返回主调用函数后则不能再使用该形参变量
(2)实参可以是常量,变量,表达式,函数等,无论实参是何种类型的量,在进行函数调用时,它都必须有确定的值,以便把这些值传送给
形参。因此应预先用赋值,输入等办法使参数获得确定值
例子:
def calc(x,y):
res = x**y
return res
c = calc(2,3)
print(c)
运行结果是8
在这里x,y是形参,2,3是实参
(3)位置参数和关键字(标准调用;实参与形参位置一一对应;关键字调用:位置无需固定)
例子:
def calc(x,y,z):
print(x)
print(y)
print(z)
calc(1,2,3)
运行结果:
1
2
3
在这里clac(1,2,3)就是位置参数与形参位置一一对应,但是需注意缺一个不行,多一个也不行
def calc(x,y,z):
print(x)
print(y)
print(z)
calc(y=2,x=1,z=3)
运行结果也是
1
2
3
在这里因为是关键字参数因此无需一一对应,但是需注意缺一个不行,多一个也不行
例如
def calc(x,y,z):
print(x)
print(y)
print(z)
calc(y=2,x=1)
运行就会报错

(4)位置参数必须在关键字左边,否则运行会报错
def clac(x,y,z):
print(x)
print(y)
print(z)
clac(1,y=2,3)
在这里如果运行会报错,因未遵循位置参数必须在关键字左边
(5)默认参数
在定义函数时,就有值,即使不赋值,它就会使用默认参数
def calc(x,y="ceshi"):
print(x)
print(y)
calc(2)
运行结果:
2
ceshi
在这里我们未给y进行赋值,因此y使用默认参数进行输出
(6)参数组,**字典,*元组(在这里一个*输出元组,二个*输出字典)
def test(x,*args):
print(x)
print(args)
test(1,2,3,4,5,6)
运行结果
1
(2, 3, 4, 5, 6)
在这里2,3,4,5,6相当于元祖中的一个元素,传递到args中
test(1,("x","y","z"))
运行结果:
(('x', 'y', 'z'),)
test(1,*("x","y","z"))
运行结果:
('x', 'y', 'z')
如果是两个**
def test(x,**kargs):
print(x)
print(kargs)
test(1,y=2,z=3)
运行结果
1
{'y': 2, 'z': 3}
在这里输出的结果是字典
Python学习【第8篇】:python中的函数的更多相关文章
- Python学习第六篇——字典中的键和值
favorite_language ={ "jen":"python", "sarah":"c", "edwa ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- Python学习笔记进阶篇——总览
Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python学习系列(四)(列表及其函数)
Python学习系列(四)(列表及其函数) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) Python学习系列(三)(字符串) 一.基本概念 1,列表是什么? ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
随机推荐
- TCP实现网络通讯
Tcp server的流程:1.创建套接字:2.bind绑定ip和port3.listen使套接字变为可以被动链接:4.accept等待客户端的链接(返回为服务器分配的客户端的句柄和地址)5.reci ...
- 通过关闭线程底层资源关闭类似synchronized及IO阻塞的情况
public class IoBlocked implements Runnable { private InputStream in; public IoBlocked(InputStream in ...
- WebService 适用场合
适用场合 1.跨防火墙通信 如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题.因为客户端和服务器之间通常会有防火墙或者代理服 务器.在这种情况下,使用D ...
- LAMP搭建示例
lamp介绍 其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为 ...
- noip2016自测报告
随便测了一下2016的提高组,发现自己还是太菜了... day1 T1:玩具谜题 一个模拟题,打挂了,只有95分,错的很傻逼 code: #include<bits/stdc++.h> u ...
- 初识分布式图数据库 Nebula Graph 2.0 Query Engine
摘要:本文主要介绍 Query 层的整体结构,并通过一条 nGQL 语句来介绍其通过 Query 层的四个主要模块的流程. 一.概述 分布式图数据库 Nebula Graph 2.0 版本相比 1.0 ...
- java操作hive和beeline的使用
一.java操作hive 1.启动服务:hiveserver2,让hive开启与外部连接的服务 nohup hiveserver2 1>/dev/null 2>/dev/null & ...
- java的多线程:线程基础
1.线程与进程区别 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是 ...
- 算法历练之路——传纸条(JAVA)
传纸条 时间限制: 1Sec 内存限制: 128MB 提交: 36 解决: 16 题目描述小渊和小轩是好朋友也是同班同学,他们在一起 总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列 ...
- linux + svn提交日志不能显示 日期一直都是1970-01-01
网上很多都是说将svn安装目录下的svnserve.conf文件中的anon-access 设置为read,但是 经查阅并测试, 设置为: anon-access = none 是正确的,设置成 r ...