1.argparse按名称读取命令行参数如何传递参数给Python脚本,python如何获取参数值,详见argparse—Parserforcommand-lineoptions,argumentsandsub-commands初始化:parser=argparse.ArgumentParser()-->增加参数:parser.add_argument(argument_info):只有一个参数可以不加"-",其余的必须加“-”-->解析参数:parser
系统 2019-09-27 17:49:47 2070
多态问起面向对象的三大特性,几乎每个人都能对答如流:封装、继承、多态。今天我们就要来说一说Python中的多态。所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。我在《Python中的设计模式详解之:策略模式》一文中详细描述了策略模式的实现,而策略模式就是典型的多态应用。之前的代码我就
系统 2019-09-27 17:49:30 2070
文章目录一、做出决策一、做出决策使用双等号(==)做比较可以在数字之间比较,序列片段之间比较,序列之间比较,字符串之间比较、字典比较。同样也可以使用不等于(!=)比较大小(>或<)当比较字母的大小的时候,A最小,z最大。比较字符串的时候从左至右,依次比较。lower和upper方法将字母进行全部大写或者全部小写。>>>"Hello".upper()'HELLO'>>>"Hello".lower()'hello'>>>"Hello".upper()=="HE
系统 2019-09-27 17:47:17 2070
1.效果图:2.代码#作用域是对象生效的区域(对象能被使用的区域)#全局作用域在任意位置可生效#局部作用域在函数内生效c=20#全局变量deffn():d=10#a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问print('函数内部:','c=',c)print('函数内部:','d=',d)fn()print('函数外部获取:','c=',c)print('函数外部获取:','d=',d)#在Python中一共有两种作用域#全局作用域#-
系统 2019-09-27 17:54:02 2069
目录一、数据库的配置二、DjangoORM语法1.模型之间的三种关系:一对一,一对多,多对多。2.模型常用的字段类型参数3.Field重要参数4.表(模型)的创建5.单表操作1.创建记录2.修改记录3.删除记录4.查询记录6.多表操作(多对多关系)7.聚合查询和分组查询8.F查询和Q查询9.QuerySet的惰性机制一、数据库的配置1django默认支持sqlite,mysql,oracle,postgresql数据库。<1>sqlitedjango默认使
系统 2019-09-27 17:50:11 2069
os.remove不能用来删除文件夹,否则拒绝访问。#-*-coding:utf-8-*-importosif__name__=="__main__":os.remove('D:\\test')运行结果:删除空目录:#-*-coding:utf-8-*-importosif__name__=="__main__":os.rmdir('D:\\test')如果目录不为空会报错,如下:删除目录(不论目录是否为空):#-*-coding:utf-8-*-impo
系统 2019-09-27 17:46:47 2069
刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。在Python中,记录路径时有以下几种写法,如:(大家都知道\n是换行的意思)report_dir1=r‘C:\Local\Programs\Python\Python35\Lib\n_test'report_dir2=‘C:\\Local\\Programs\\Python\\Python35\\Lib\\n_test'report
系统 2019-09-27 17:46:07 2069
python实现删除文件或文件夹最近自己学习Python的知识,自己学习抓取网页的内容知识等,在学习的时候Python删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家。实例代码,仔细看注释明细:#-*-coding:UTF-8-*-#有时候要删除文件夹里文件或文件夹#这个小类用来删除文件或文件夹还是相当有用的#删除文件时有时希看到删除的结果,于是就有了这个Deleter了#下面的一些文件注释用的是Doxygen的样式#用了英文,先就不改回中文吧。
系统 2019-09-27 17:38:43 2069
程序结构程序三种结构顺序循环分支分支结构分支结构基本语法if条件表达式:语句1语句2语句3……条件表达式就是计算结果必须为布尔值的表达式表达式后边的冒号不能少注意if后边出现的语句,如果属于if语句块,则必须同一个缩进等级条件表达式结果为True执行if后边的缩进的语句块双向分支if……eles……表达多路分支很多分支的情况if条件表达式:语句1……elif条件表达式:语句2elif条件表达式:语句3else语句4elifeles可选只执行其中一种情况if
系统 2019-09-27 17:55:05 2068
经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如:修改前:[脚本之家]MacOSXforUnixGeeks[www.jb51.net].mobi修改后:MacOSXforUnixGeeks.mobipython代码如下:复制代码代码如下:importosimportredefrename_dir(dir,regex,f):ifnotos.path.isdir(
系统 2019-09-27 17:54:13 2068
前言在JavaWeb开发中,一般使用Zxing来生成和识别二维码,但是,Zxing的识别有点差强人意,不少相对模糊的二维码识别率很低。不过就最新版本的测试来说,识别率有了现显著提高。对比在没接触Python之前,曾使用Zbar的客户端进行识别,测了大概几百张相对模糊的图片,Zbar的识别速度要快很多,识别率也比Zxing稍微准确那边一丢丢,但是,稍微模糊一点就无法识别。相比之下,微信和支付宝的识别效果就逆天了。代码案例#-*-coding:utf-8-*-
系统 2019-09-27 17:50:56 2068
导入time这个包就可以通过它获取是时间#-*-coding:UTF-8-*-importtimeprint(time.time())#输出:1562304217.5744529通过执行上面代码后我们发现我们得到的是一个时间戳,这个时间戳是根据1970年到现在的秒数据但是很多人需求并不要一个时间戳,而是要所有人都看的懂的(年月日,时分秒)所以我们需要将这个时间戳进行计算,一分钟是60秒,所以我们就要算分钟,这些是可以通过模运算来解决这个问题的。不过已经有人
系统 2019-09-27 17:48:52 2068
在WebHostingTalk论坛上有些国外奸商会把虚拟机当作独立服务器卖,去年7月份的时候就有一位中国同胞上当受骗,并在WHT上发帖声讨,证据确凿,甚至连服务商自己也承认,回帖达355篇。这家独立服务器/VPS提供商HostATree.com居然大胆的把OpenVZVPS这种一看就知道是虚拟机的虚拟机当作独立服务器卖,晕,至少也要弄个VMWare/KVM/XenHVM吧(更难发现是虚拟机),用OpenVZ这种容器也太欺负人了:)昨天恰好收到网友一封邮件问
系统 2019-09-27 17:48:43 2068
对于每一个学习Python的同学,想必对@符号一定不陌生了,正如你所知,@符号是装饰器的语法糖,@符号后面的函数就是我们本文的主角:装饰器。装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为装饰器。曾经我在刚转行做程序员时的一次的面试中,被面试官问过这样的两个问题:1、你都用过装饰器实现过什么样的功
系统 2019-09-27 17:55:11 2067
之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库。两种语言混合编程,其中最重要的是类型的传递。我们用一个简单的例子进行入门:这次的目标是用C语言写一个Numpy的加法和元素相乘模块。在本例中,Numpy的array被传入到C语言模块内,变成了二维数组。1.头文件main.h:#ifndef_MAIN_H#define_MAIN_Hvoidplus(double*a,double*b,double*
系统 2019-09-27 17:54:47 2067