搜索到与相关的文章
Python

Python 命令行之旅:使用 argparse 实现 git 命令

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认

系统 2019-09-27 17:52:35 2031

Python

Python yield与实现方法代码分析

yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`

系统 2019-09-27 17:52:18 2031

Python

python学习笔记 第五章2

经典的汉诺塔问题:这里我们可以利用递归的思想去做,递归中重要的三步,我们逐条来实现:1、函数+分支结构2、递归链条3、递归基例函数+分支结构:defhanoi(n,start,end,mid):globalcountif:else:这里我们可以定义一个函数,里面的参数有:一共有n个圆盘,从start柱子移到end柱子,中间柱子为mid。这里定义一个全局变量来计算移动的步骤数,若为局部变量,会在函数内部不断初始化,所以需要定义全局变量。递归基例:ifn==1

系统 2019-09-27 17:52:07 2031

Python

Python基础之常用内置函数

python常用内置函数dir(__builtins__)#获取内置函数dir(random)#查看random中有哪些内置函数help(random.shuffle)#查看random.shuffle的用法id(a)#获取内存地址chr()#数字转为asciiord()#ascii转为数字isinstance(1,int)#判断1是否为int类型eval("1+1")#可以把字符串里的字符转换为可执行代码,但只支持一行。可以返回执行后得到的值,用于计算一

系统 2019-09-27 17:52:02 2031

Python

Python集训营45天—Day03 (分支和循环)

目录1.分支结构1.1初步介绍1.2使用案例1.3练习2.循环结构1.1初步介绍1.2使用案例1.分支结构1.1初步介绍至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户输入用户名和密码,输入正确则验证通过,否则即验证失败。这个时候就会产生两个分支,而且两个分支只会有一条分支会走下去。当然,还有很多类似的场景,我们将这种结果称为"分支结构"或“选择结构”。语法格式:ifxxx1:事情1elifxxx2:事情2el

系统 2019-09-27 17:51:46 2031

Python

Python踩坑系列-20190803

关于声明并初始化二维列表想要快速创建一个二维列表如:5x3的二维列表[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]正确用法:#先创建一个一维列表tmp=[0,]*3result=[]foriinrange(5):#拷贝对象result.append(tmp.copy())result[0][1]=1print(result)#[[0,1,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]误用:#得到的

系统 2019-09-27 17:51:23 2031

Python

python redis连接 有序集合去重的代码

pythonredis连接有序集合去重的代码如下所述:#-*-coding:utf-8-*-importredisfromconstantimportredis_ip,redis_db,redis_pw,redis_zset_namepool=redis.ConnectionPool(host=redis_ip,db=redis_db,password=redis_pw)#pool=redis.ConnectionPool(db=6,password=re

系统 2019-09-27 17:51:00 2031

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 2031

Python

python多线程

python多线程#创建线程threading_list=[]t1=threading.Thread(target=music,args=(u'爱情买卖',))threading_list.append(t1)t2=threading.Thread(target=move,args=(u'阿凡达',))threading_list.append(t2)fortinthreading_list:#启动线程t.setDaemon(True)#将线程声明为守护线

系统 2019-09-27 17:50:32 2031

Python

Python理解递归的方法总结

递归一个函数在执行过程中一次或多次调用其本身便是递归,就像是俄罗斯套娃一样,一个娃娃里包含另一个娃娃。递归其实是程序设计语言学习过程中很快就会接触到的东西,但有关递归的理解可能还会有一些遗漏,下面对此方面进行更加深入的理解递归的分类这里根据递归调用的数量分为线性递归、二路递归与多重递归线性递归如果一个递归调用最多开始一个其他递归调用,我们称之为线性递归。例如:defbinary_search(data,target,low,high):"""二分查找,对有

系统 2019-09-27 17:50:01 2031