Python(八) 函数、模块

函数

定义函数

1、意义:函数是实现某个功能的一些代码,提高代码的复用性。

2、定义:用def关键字定义函数,

3、函数组成:函数由函数名、形参、函数体、调用函数(里面会有函数体)组成

4、要使用函数,必须要调用它

5、示例函数:

定义一个简单的函数,里面只有函数名、函数体、调用函数组成

形参与实参

形参:在函数名字后面括号里的值,实参是调用函数时传递给函数的信息

实参:实参是在调用函数是,函数名字后面括号里的值

示例:定义一个写文件的函数

定义一个读文件的函数

返回值:在函数中,可使用return语句将值返回到调用函数的代码行,如果不写return将返回none

return的作用:把函数处理的结果返回。结束函数,函数里面遇到return,就立刻结束函数

传递参数 

1、默认值参数:在函数定义时,可给形参指定一个默认值,在函数调用中给形参提供了实参时,Python将使用指定的实参值,否则将使用指定的默认值

2、位置实参:在函数调用时,必须将每个实参都关联到函数定义中的每一个形参,必须按照形参位置来传递实参,实参为必传。

3、关键字实参:在函数调用时,传的实参要以 名称-值得形式来传递参数。关键字实参的顺序无关紧要,不用和形参对应上

 4、可变参数(传递任意数量的实参):定义形参时,用 *name ,调用函数时,实参非必填,不限制参数个数

参数是放在元组里面的。

5、向函数传递列表、元组、集合:元素个数要与形参个数对应上,调用函数时语法:函数名字(*listname)

6、传递任意数量的关键字实参:非必传,不限制个数,会把传过来的关键字参数放到一个字典里面,传参的时候必须用key=value形式来传

7、向函数传递字典,字典里的key要与函数中的形参个数对应上,语法:函数名(**dictname)

局部变量与全局变量

1、局部变量:函数里面定义的变量,只要一出了函数就不能用了

2、全局变量:在函数外面定义的变量,就会全局变量,在函数里面与外面都可以用

global关键字:全局变量如果要在函数中修改的话,需要加global关键字声明;

                        定义的全局变量是list或者字典或者集合,不需要声明global;只有字符串、元组,int、float 需要声明global

 浅拷贝与深拷贝

浅拷贝:两个变量指向同一块内存地址,查看内存地址用print(id(name))

深拷贝:需要导入copy模块,深拷贝两个变量的内存地址不一样

注意:不要循环删list,会导致结果错乱

1不是偶数,也打印出来了,这就导致了结果的错乱

正确代码如下:

 

模块

定义:一个Python文件就是一个模块

模块分类:

1、标准模块:Python自带的 time,random

2、第三方模块:别人写好的,需要安装 比如 连接mysql的,汉字转成拼音的
3、自己写的Python文件

json模块:解析Json的,json就是一个字符串

导入json模块:

1、json.loads方法:直接操作的是字符串,把json转成字典

2、json.load方法:可以直接操作文件对象,自己读取文件里的内容,把文件对象里的json转成字典。

3、json.dumps:把字典转成字符串。

4、json.dump:操作文件对象,把字典写入到文件里面,文件里以json形式显示

os模块

操作系统相关的东西都在os模块里面:import os

os.walk方法:可以遍历返回文件目录、文件夹、文件

定义一个查找文件内容的函数

import os
def find_movie(KeyWord,path="e:\\",):
for cur_path, cur_dirs, cur_files in os.walk(path):
# if KeyWord in str(cur_files):
# print(cur_path)
for file in cur_files:
# if KeyWord in file:
if file.endswith('KeyWord'):
print(cur_path)

time模块 import time

 1、时间戳转换成格式化好的时间

 

2、格式化好的时间转成时间戳

3、定义两个函数,实现  时间戳转换成格式化好的时间、格式化好的时间转成时间戳

def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
#时间戳转格式化好的时间
if timestamp:
time1=time.localtime(timestamp)#时间元祖
res=time.strftime(format,time1)
#print(res)
else:
res=time.strftime(format)#如果没有传时间元祖,那么就默认传当前时间格式化好的时间元祖
#print(res)
return res
#test=timestampToStr(1540280339)
#test=timestampToStr()
#print(test)


def strTotimestamp(str=None,format='%Y%m%d%H%M%S'):
#格式化好的时间转时间戳
if str:
timep=time.strptime(str,format)#转成时间元祖
res=time.mktime(timep)#时间元祖转成时间戳
else:
res=time.time()
return int(res)
res=strTotimestamp('20180505101010')
print(res)


注意:如果提示需要导入模块,那么用快捷键Alt+Enter即自动导入了。
如下 提示需要导入json模块,即用快捷键就可以自动导入了。

 

 

 

转载于:https://www.cnblogs.com/qiaomeiling/p/10057349.html

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

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

相关文章

[css] 怎么让body高度自适应屏幕?为什么?

[css] 怎么让body高度自适应屏幕?为什么? 为何只设置body{height:100%}不行? height:100%是相对于父元素来说的,如果只设置body的高度属性,由于其父元素是html高度未设置,且并非浏览…

PMP读书笔记(第7章)

大家好,我是烤鸭:     今天做一个PMP的读书笔记。 第七章 项目成本管理项目成本管理项目成本管理的核心概念项目成本管理的趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素7.1 规划成本管理7.1.1 规划成本管理:输入7.1.1.1 项目…

[css] font-style的属性有Italic和oblique,两者有什么区别呢

[css] font-style的属性有Italic和oblique,两者有什么区别呢 italic和oblique都是向右倾斜的文字, 但区别在于Italic是指斜体字,而Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果.个人简介 我是歌谣&am…

PMP读书笔记(第8章)

大家好,我是烤鸭:     今天做一个PMP的读书笔记。 第八章 项目质量管理项目质量管理项目质量管理的核心概念项目质量管理的发展趋势和新兴实践裁剪时需要考虑的因素在敏捷或适应型环境中需要考虑的因素8.1 规划质量管理8.1.1 输入8.1.1.1 项目章程8.…

[css] IE(6/7/8/9/10/11/Edge)下的hack写法分别有哪些?

[css] IE(6/7/8/9/10/11/Edge)下的hack写法分别有哪些&#xff1f; IE9以及<IE9: \9;IE8以及>IE8: \0;3.IE7以及<IE7: *;4.IE6:*或_;5.edge不清楚;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起…

SQL Server Query界面不能录入中文

ctrl空格转载于:https://www.cnblogs.com/chengxiaofei2018/p/10065328.html

PMP读书笔记(第9章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第九章 项目资源管理项目资源管理项目资源管理的核心概念项目资源管理的趋势和新兴实践裁剪考虑因素在敏捷或适应型环境中需要考虑的因素9.1 规划资源管理9.1.1 规划资源管理&#xff1a;输入9.1.1.…

[css] 写出你遇到过IE6/7/8/9的BUG及解决方法

[css] 写出你遇到过IE6/7/8/9的BUG及解决方法 把以前兼容IE6.7学习的东西搬出来了&#xff0c;还以为不见了。兼容性问题 1.IE6margin双边距问题 2.IE67 li间隙问题 3.图片间隙问题——vertical-align&#xff1a;top 4.ie6下高度小于19px处理成19px&#xff1b;font-size:0;或…

读书印记 - 《混乱:如何成为失控时代的掌控者》

虽然已经听过一遍语音讲解&#xff0c;但读一遍书仍有很大的收获&#xff0c;从某种意义上说这本书真的纠正了我一些重大的错误观念。 创造力、办公环境&#xff1a;在我的认知中&#xff0c;一直盲信整洁规律是个好习惯&#xff0c;从这本书中才一声冷汗的认识到这是多么错误的…

PMP 第六版 p25 矩阵图 方便记忆 口诀

大家好&#xff0c;我是烤鸭&#xff1a;     这是我第六版PMP矩阵图和自己总结的方便记忆的方法。 记忆方法&#xff1a; 首先是6大管理过程&#xff0c;10大知识领域。这个需要背下来。 过程&#xff1a;启动-规划-执行-监控-收尾 知识领域&#xff1a;整合-范围-进度-…

[css] 举例说明css的基本语句构成是什么呢?

[css] 举例说明css的基本语句构成是什么呢&#xff1f; 一个选择器&#xff08;例如&#xff1a;BODY&#xff0c;P等&#xff09;和写在花括号里的声明&#xff0c;这些声明通常是由几组用分号分隔的属性和值组成。 body{ color:red; }个人简介 我是歌谣&#xff0c;欢迎和大…

使用Tomcat部署应用

概述 一个简单的web项目下载地址&#xff1a;https://files.cnblogs.com/files/Mike_Chang/hello.rar Tomcat部署应用三种方法。 方法一 将一个WAR文件或者整个应用程序复制到Tomcat的webapps目录下。 如果把web应用文件夹改名为ROOT&#xff0c;那么应用上下文就是“/”&#…

PMP读书笔记(第10章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第十章 项目沟通管理项目沟通管理项目沟通管理的核心概念项目沟通管理的趋势和新兴实践裁剪考虑因素在敏捷或适应型环境中需要考虑的因素10.1 规划沟通管理10.1.1规划沟通管理&#xff1a;输入10.1.…

IntelliJ Idea注释模板--类注释、方法注释

刚从Eclipse切换到IntelliJ Idea&#xff0c;之前使用eclipse时用到了注释模板&#xff0c;包括类注释和方法注释&#xff0c;现在分别讲一下在Intellij Idea中如何进行配置&#xff0c;作为备忘 一. 类注释模板配置 1. 配置效果 2. 配置方法 【File】-->【settings】-->…

[css] 写例子说明如何强制(自动)中、英文换行与不换行

[css] 写例子说明如何强制&#xff08;自动&#xff09;中、英文换行与不换行 word-break:break-all;只对英文起作用&#xff0c;以字母作为换行依据word-wrap:break-word; 只对英文起作用&#xff0c;以单词作为换行依据white-space:pre-wrap; 只对中文起作用&#xff0c;强制…

maven 关于使用 snapshot 的坑

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下maven项目引入"快照"版依赖的问题。 1. snapshot 和 realease 顾名思义 就是 快照和稳定版。快照是不稳定的开发版本&#xff0c;不定时更新。稳定版不会有这个问题。 不定时更新有什么危害。 maven install…

常用命令集合

查看开放的端口 netstat -nupl (UDP类型的端口)netstat -ntpl (TCP类型的端口) a 表示所有 n表示不查询dns t表示tcp协议 u表示udp协议 p表示查询占用的程序 l表示查询正在监听的程序转载于:https://www.cnblogs.com/mutong1228/p/10076282.html

[css] 说说你对BEM规范的理解,同时举例说明常见的CSS规范有哪些?

[css] 说说你对BEM规范的理解&#xff0c;同时举例说明常见的CSS规范有哪些&#xff1f; BEM是比较好的CSS规范&#xff0c;应该也是得到大家认可最多的CSS规范 OAMC是WeUI根据BEM改造来的 object-area-meta-control还有OOCSS&#xff0c;面向对象的CSS书写规范。 不管哪种&am…

PMP读书笔记(第11章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第十一章 项目风险管理项目风险管理项目风险管理的核心概念项目风险管理的趋势和新兴实践裁剪考虑因素在敏捷或适应型环境中需要考虑的因素11.1 规划风险管理11.1.1 规划风险管理&#xff1a;输入11…

[css] 遇到overflow: scroll不能平滑滚动怎么解决?

[css] 遇到overflow: scroll不能平滑滚动怎么解决&#xff1f; ipone 上解决方法是这样的&#xff0c; -webkit-overflow-scrolling: touch;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 …