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中的函数的更多相关文章

  1. Python学习第六篇——字典中的键和值

    favorite_language ={ "jen":"python", "sarah":"c", "edwa ...

  2. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  3. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  4. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  5. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  6. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  7. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  8. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  9. Python学习系列(四)(列表及其函数)

    Python学习系列(四)(列表及其函数) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) Python学习系列(三)(字符串) 一.基本概念 1,列表是什么?     ...

  10. Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作

    目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...

随机推荐

  1. CentOS8 下Nginx使用教程

    1.nginx安装 dnf install nginx -y 2.nginx常用目录 nginx.conf目录:/etc/nginx.nginx.conf nginx启动目录:/usr/sbin/ng ...

  2. 基于MongoDB权限管理+gridfs文件上传------云盘系统

    学了一会Mongo,开始毕设的编写. 毕设目前一共分为如下模块 用户管理模块 管理员管理模块 文件管理模块 分享模块 目前已经完成了权限管理部分的后端代码.上传下载已经实现Demo.先把权限弄好后在整 ...

  3. Linux 网络排错检查思路

    Linux 网络排错检查思路 graph TD A[当网络不通时] --> B{ping想要访问的地址,<br>如www.runoob.com} B --> |不通| C{pi ...

  4. oracle 客户端与服务器端字符集原理(转自totozlj)

    1.环境假设: 名词解释:应用程序页面即用户在浏览器中看到的页面,一般程序员在写页面的时候都会在页面中设置编码,这个编码也即是数据在浏览器到web服务器间传输的编码,如果不设置则默认iso-8859的 ...

  5. hive优化之小文件合并

    文件数目过多,会给HDFS带来压力,并且会影响处理效率,可以通过合并Map和Reduce的结果文件来消除这样的影响: set hive.merge.mapfiles = true ##在 map on ...

  6. Head First 设计模式 —— 11. 组合 (Composite) 模式

    思考题 我们不仅仅要支持多个菜单,升值还要支持菜单中的菜单.你如何处理这个新的设计需求? P355 [提示]在我们的新设计中,真正需要以下三点: P354 我们需要某种属性结构,可以容纳菜单.子菜单和 ...

  7. 【Java基础】基本语法-程序流程控制

    基本语法-程序流程控制 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即: 顺 ...

  8. selenium自动化 | 实现抢课功能

    # -*- coding: utf-8 -*-"""Created on Wed Jan 1 23:39:34 2020@author: billie程序运行环境要求:- ...

  9. XSS - Labs 靶场笔记(下)

    Less - 11: 1.观察界面和源代码可知,依旧是隐藏表单 2.突破点是 $str11=$_SERVER['HTTP_REFERER']; (本题为HTTP头REFERER注入) 3.因此构造pa ...

  10. DOS的FOR命令用法总结

    鉴于dos自带的关于for命令的帮助信息看起来太简单,自己总结了一下,并增加了必要的实例,以备日后自己查阅.其中一些地方可能存在理解错误,敬请指出. [转发请注明出处]