Python

2.Python函数的进阶

1.今日内容1.1函数的参数*的魔性用法函数形参最终顺序1.2名称空间全局名称空间,局部名称空间,内置名称空间取值顺序与加载顺序作用域内置函数:globals()locals()1.3高阶函数(函数的嵌套)1.4关键字:globalnonlocal2.内容详细2.1函数的参数昨天我们从形参角度,讲了两种参数,一个是位置参数,位置参数主要是实参与形参从左至右一一对应,一个是默认值参数,默认值参数,如果实参不传参,则形参使用默认参数。那么无论是位置参数,还是默

系统 2019-09-27 17:50:44 2135

Python

python发送告警邮件脚本

python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。脚本如下:#!/usr/bin/python#coding:utf-8importsmtplibfromemail.mime.textimportMIMETextimportsysmail_host='smtp.126.com'mail_user='username'mail_pass='passwd'mail_postfix='126.com

系统 2019-09-27 17:50:36 2135

Python

深入浅析python3中的unicode和bytes问题

最近写了一些python3程序,四处能看到bytes类型,而它并不存在于python2中,这也是python3和python2显著区别之一。以前在写python2代码的时候,经常会遇到很多编码报错的异常,原因在于python2对unicode的支持不是特别理想。而在python3中,所有编写的代码都是unicode,python解析器在运行的时候,内部都转换(除非你显示定义为bytes类型)为unicode,减少了出错的可能性。在python3中,有两种字

系统 2019-09-27 17:49:59 2135

Python

二叉树的前序、中序、后序遍历(python递归)

先序遍历1、BinaryTreePreorderTraversal---leetcode144#coding:utf-8classSolution:#根左右defpreorderTraversal(self,root):ifnotroot:return[]return[root.val]+self.preorderTraversal(root.left)+self.preorderTraversal(root.right)#给定二叉树的前序遍历和中序遍历,

系统 2019-09-27 17:49:30 2135

Python

对Python生成器、装饰器、递归的使用详解

1、Python生成器表达式1)、Python生成器表达式语法格式:(exprforiter_variniterable)(exprforiter_variniterableifcond_expr)2)、自定义生成器函数中使用yield,会返回一个生成器对象。yieldx生成器使用示例:In[1]:list((i**2foriinrange(1,11)))Out[1]:[1,4,9,16,25,36,49,64,81,100]In[2]:defgenNum

系统 2019-09-27 17:49:03 2135

Python

python好玩的程序-花和时钟

时钟的打印本文免费直播课程分享链接:https://ke.qq.com/course/397896?flowToken=1009460有需要学习提升的宝宝可以进去免费报名一下每天分享一些好完的技术和主流的项目打印时钟:importturtledefdraw_spiral(t,n,length=3,a=0.1,b=0.0002):#DrawsanArchimedianspiralstartingattheorigintheta=0.0foriinrange(

系统 2019-09-27 17:48:44 2135

Python

python原类、类的创建过程与方法详解

今天为大家介绍一下python中与class相关的知识……获取对象的类名python是一门面向对象的语言,对于一切接对象的python来说,咱们有必要深入的学习与了解一些知识首先大家都知道,要获取一个对象所对应的类,需要使用class来进行检索。但如果我们只是一个简单的赋值语句,能这么使用么?让我们看下下面的代码:num=10string='abc'classMainClass:passp=MainClass()print(num.__class__)#o

系统 2019-09-27 17:48:42 2135

Python

Python functools模块学习总结

文档地址functools.partial作用:functools.partial通过包装手法,允许我们"重新定义"函数签名用一些默认参数包装一个可调用对象,返回结果是可调用对象,并且可以像原始对象一样对待冻结部分函数位置函数或关键字参数,简化函数,更少更灵活的函数参数调用复制代码代码如下:#args/keywords调用partial时参数defpartial(func,*args,**keywords):defnewfunc(*fargs,**fkey

系统 2019-09-27 17:47:58 2135

Python

Python 命令行之旅:深入 argparse(二)

Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助

系统 2019-09-27 17:47:15 2135

Python

python之递归函数

函数的嵌套defone():print("第一个函数")deftwo():one()print("第二个函数")two()递归函数,就是函数内嵌套函数自身,下面是阶乘的递归方法defone(a):ifa==1:return1else:returnone(a-1)*aone(5)匿名函数:https://blog.csdn.net/GrofChen/article/details/93018250全局变量:https://blog.csdn.net/Grof

系统 2019-09-27 17:47:12 2135

Python

python网络爬虫学习笔记之三 Selenium入门

抓取动态的网页内容主要有两种办法,一种是通过开发者工具找到动态内容的接口,然后分析接口的参数和返回值来爬取网站的数据。另外一种是通过模拟浏览器来抓取数据。python的Selenium库就可以通过代码来模拟浏览器抓取数据。一、概述运行Selenium需要依赖于Python的selenium库,以及浏览器对应驱动器(WebDriver)。安装selenium库pipinstallselenium项目地址:https://pypi.org/project/se

系统 2019-09-27 17:47:10 2135

Python

Python解释执行原理分析

本文较为详细的分析了Python解释执行的原理,对于深入理解Python可以起到一定的帮助作用。具体分析如下:首先,这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。但是对于Python而言,python源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行

系统 2019-09-27 17:46:15 2135

Python

Python中的推导式使用详解

推导式是Python中很强大的、很受欢迎的特性,具有语言简洁,速度快等优点。推导式包括:1.列表推导式2.字典推导式3.集合推导式嵌套列表推导式NOTE:字典和集合推导是最近才加入到Python的(Python2.7和Python3.1以上版).下面简要介绍下:【列表推导式】列表推导能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形其基本格式如下:复制代码代码如下:[exprforvalueincollectionifcondit

系统 2019-09-27 17:45:56 2135

Python

Python用模块pytz来转换时区

前言最近遇到了一个问题:我的server和client不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八区。处于测试需要,我需要向server发送一个时间,使得server在这个时间戳去执行一些动作。这个时间戳通常是当前时间加2分钟或者几分钟。通常美东在夏令时时,和我们相差12小时,所以直接减掉这12小时,然后再加两分钟,可以实现发送基于server的时间戳,但是只有一半时间是夏令时,所以考虑

系统 2019-09-27 17:38:44 2135

Python

Python数据库的连接实现方法与注意事项

在Python中要连接数据库,首先我们得先安装几个重要的东西,主要有:(1)Python-dev包(2)setuptools-0.6c11.tar.gz(3)MySQL-python-1.2.3.tar.gz下面分别来说说这三个主要的包的安装步骤:(1)Python-dev包直接yuminstallpython-devel(2)setuptools-0.6c11.tar.gz在网上下载后,先解压:tarzxfsetuptools-0.6c11.tar.gz

系统 2019-09-27 17:37:55 2135