python的代码复用技术_Python__函数和代码复用

主要内容

函数的定义和使用

实例:七段数码管的绘制

代码复用与函数递归

PyInstall库的使用

实例:科赫雪花小包裹

函数的定义与使用

函数的理解与定义

函数的使用及调用过程

函数的参数传递

函数的返回值

局部变量和全局变量

lambda函数

------------------------------------

函数的定义:函数是一段代码的表示                               函数的作用: 降低编程难度    和    代码复用

(函数是一段具有特定功效的、可重用的语句组         函数是一种功能的抽象,一般函数表达特定功能)

函数定义语法:

def ():

return

注意:

函数定义时,所指定的参数是一种占位符

函数定义后,如果不经过调用,不会被执行

函数定义时,参数是输入、函数体是处理、结果是输出(IPO)      函数也是一种完整代码的封装

函数调用  fact(10)

可选参数(赋初值,在必选参数后面定义)、可变参数(*b)、名称传递

对于不确定参数个数,可以添加*b形式定义

def  fact(n,m=1,*b):  xxxxx

函数参数传递,可以通过位置直接给定,也可以指定:fact(m=2,n=123)

函数的返回值

函数可以返回0个或多个结果

--return 保留字用来传递返回值

--函数可以有返回值,也可以没有,可以有return,也可以没有

--return可以传递0个返回值,也可以传递任意多个返回值  return a,b,c   得到的结果是元组类型  小括号括起来的  (123,a,b) 调用可以是:a,b,c = fact(10,5)

局部变量和全局变量

规则1:局部变量喝全局变量是不同的变量

-局部变量是函数内部的占位符,与全局变量可能重名但不同

-函数运算结束后,内部变量被释放

-可以使用 global保留字在函数内部使用全局变量

规则2:局部变量为组合数据类型且未创建,等同于全局变量

ls = ["F","f"]

def func (a):

ls.append(a)

return

func("C")

print(ls)       运行结果: ["F","f","C"]     如果函数中真实创建了,那么这里是 ["F","f"]

使用规则

-基本数据类型,无论吃否重名,局部变量与全局变量不同

-可以通过global保留字在函数内部声明全局变量

-组合数据类型,如果局部变量未真实创建,则是全局变

lambda函数

lambda函数返回函数名作为结果

-lambad函数是一种匿名函数,即没有名字的函数

-使用lambda保留字定义,函数名是返回结果

-lambda函数用于定义简单的,能够在一行内表示的函数

= lambda :

等价于

def (参数):

return

不同的是lambda后面的内容只能使用表达式,不能使用函数体

比如:  f = lambda x,y : x+y

>>>f(10,15)             25

f = lambda : "lambda函数"

>>>print (f())    lambda函数

谨慎使用lambda函数

-lambda函数主要用作一些特定函数或方法的函数

-lambda函数有一些固定使用方式,建议逐步掌握

-一般情况,建议使用def定义的普通函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Queue:poll、offer、element、peek的区别

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队…

python实现k均值算法_python实现kMeans算法

聚类是一种无监督的学习,将相似的对象放到同一簇中,有点像是全自动分类,簇内的对象越相似,簇间的对象差别越大,则聚类效果越好。1、k均值聚类算法k均值聚类将数据分为k个簇,每个簇通过其质心,即…

mysql给数据量大的表添加索引的办法

有一个问题,一张表有3百万条记录,随着时间的增加,记录量会更多,此时查询速度很慢。在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引。但是因为数据量大的原因,索引添加不成功,想了…

修改背景图片_我花了5小时,为网易修改了一份内容超多的PPT,效果超级赞!!...

微信扫码观看全套Excel、Word、PPT视频作者:宋雪贤 来源:PPT进化论(ID:PPTjinhualun)哈喽,大家好,不知道您看过《我花了3个小时,为京东修改了一份PPT,效果好到惊人!》这篇案例修改文…

MySQL千万级别大表如何优化?

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值…

linux c 调用python_C程序调用Python脚本

一般调用步骤Py_Initialize(); //初始化Python环境PyImport_ImportModule("test"); // 载入python模块PyObject_GetAttrString(g_pModule,"test1"); //获得相应Python函数的PyObjectPyObject_CallFunction(test1,"i,s",2,e); //调用Python相应的…

命令测试post_【第2088期】前端中台化,把格局做大——NodeJS 和测试服务探索

前言今日早读文章由《React状态管理与同构实战》作者LucasHC投稿分享。正文从这开始~~近些年,「NodeJS 应该如何在公司业务中真实落地 」这类问题屡见不鲜。自从 2009 年 NodeJS 诞生之后,抢尽风头,圈粉无数。但一定有工程师不禁要质疑「Node…

Go类型转换

由于Go语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明。 string、int、float类型相互转换 string转其他 string转成int: int, err : strconv.Atoi(string) string转成int64: // 参数1:带转换字符串,/…

linux tee 重定向_快乐的linux命令行-重定向

整理自《快乐的linux命令行一书》。linux系统版本: Ubuntu 17.04本章,我们将介绍命令行最酷的特性,叫做I/O重定向,通过这个工具,可以重定向命令的输入输出,命令的输入来自文件,而输出也存到文。…

Java 诊断工具 Arthas 常见命令

基本概念 云原生这么多微服务,当然需要一个诊断利器来排查问题。 Arthas 是阿里开源的 Java 诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪 Java 代码;实时监控 JVM 状态。Arthas 支持 JDK 6&#xff0c…

28和lba48命令格式区别_编译Sass(命令行)

本文作者:开课吧无忧图文编辑:开三金sass编译有很多种方式,如命令行编译模式、编辑器自动编译、编译软件koala、sass-loader等。今天我们就先来看第一种:命令行编译刚才我在test文件夹里面已经建立了一个style.scss文件&#xff0…

JAVA基础编程代码50个

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子…

爬虫软件python功能_Python 网络爬虫程序详解

#!/usr/bin/python #调用pythonfrom sys import argv #导入sys是导入python解释器和他环境相关的参数from os import makedirs,unlink,sep  #os主要提供对系统路径,文件重命名和删除文件所需的函数#makedirs是创建递归文件夹的函数。#比如说我们要创建一个新的目录…

价钱转换python_如何在python中转换货币?

我正在做一个虚拟助手项目。我想让它告诉我其他货币的美元汇率。我用beauthoulsoup编写了以下代码,它从给定的网站获取数据,对其进行解析并在命令行中打印结果供我阅读。但这只是美元对巴基斯坦卢比。如何修改程序,使其接受任何货币并告诉我该…

char qt 转unicode_Qt QString 中文 char* UTF-8 QByteArray QTextCodec unicode gb2312 GBK 乱码与转码问题...

2012-03-22 14:00175人阅读评论(0)代码如下:如果不不设全局的字符集是utf-8,那么网上一般的方法是可以转的。如下程序中 #define DD 1的情况下;但是如果设置了全局的utf-8,再用以前的方法:QByteArraybaaaa.toLatin1();…

计算机图形学考试题及答案_计算机图形学考试题及答案

3、在图形文件中,常用来描述图形元素(点,线,圆,弧等);而在光栅扫描图形显示器中,采用显示所有图形。4、当三维物体用透视变换方程投影到观察平面上,物体中不与观察平面平行任一簇平行线投影成收…

子窗体中组合框联动_一张表实现组合框联动

嗨,大家中午好!最近,有网友给我私信,想要一个联动的示例,一个有关于部门联动的操作。其实关于联动的操作有很多,可以是组合框的联动,列表框联动,组合框与列表框也可以联动&#xff0…

中如何实现文字转语音_录音转文字、文字转语音,学会这一招就够了!手把手教你如何操作...

阅读文章时候想着有人可以把文章读给我听就好了,写作时想着语音直接可以转换成文字就好了,大家是不是有时会突然冒出这样的想法?七十这些看似天真的想法,还真的有办法解决,这里就手把手教你如何操作才能将的文字转换成…

图像 理想低通滤波_图像处理之滤波(下)

[toc]目录一、常规滤波低通高通带通带阻二、非局部均值滤波三、维纳滤波四、卡尔曼滤波前言所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号。信号的分类:确定型信号,可以表示为确定的时间函数,可确定其在任何时刻的…

泰山行宫碧霞元君祠_临清市泰山行宫碧霞元君祠5月4号(农历三月三十日)举行大型泰山奶奶接驾法会...

临清是泰山奶奶的娘家,每年的四月泰山奶奶要回临清省亲临清市道教协会定于2019年农历三月三十(5月4号星期六)于临清桑树园泰山行宫碧霞元君祠举行大型泰山奶奶迎鸾接驾庙会。届时,将有架鼓会、云龙会、狮胞会、钢叉会、高跷会、天音会、彩船会、秧歌会等…