搜索到与相关的文章
Python

Python之路【第十篇】:Python面向对象之多态、多态性

阅读目录一多态多态指的是一类事物有多种形态动物有多种形态:人,狗,猪importabcclassAnimal(metaclass=abc.ABCMeta):#同一类事物:动物@abc.abstractmethoddeftalk(self):passclassPeople(Animal):#动物的形态之一:人deftalk(self):print('sayhello')classDog(Animal):#动物的形态之二:狗deftalk(self):prin

系统 2019-09-27 17:53:09 1931

Python

python实现中文繁体和中文简体之间的相互转换的代码

在学习过程中,把开发过程中重要的一些内容备份一下,下面内容是关于python实现中文繁体和中文简体之间的相互转换的内容,应该是对码农们有所好处。#转换繁体到简体line=Converter('zh-hans').convert(line.decode('utf-8'))line=line.encode('utf-8')#转换简体到繁体line=Converter('zh-hant').convert(line.decode('utf-8'))line=li

系统 2019-09-27 17:52:50 1931

Python

Python设计模式3--建造者模式

建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会

系统 2019-09-27 17:52:26 1931

Python

Python符号计算之实现函数极限的方法

SymPy是符号数学的Python库。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展#coding:utf-8'''函数极限'''importsympysympy.init_printing()fromsympyimportI,pi,ooimportnumpyasnpx=sympy.Symbol('x')expr=sympy.sin(x)/xresult=sympy.limit(expr,x,0)print('limit:',r

系统 2019-09-27 17:52:24 1931

Python

Python进阶之路 3.4.5 断言

3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,

系统 2019-09-27 17:52:20 1931

Python

python多线程扫描端口(线程池)

扫描服务器ip开放端口,用线程池ThreadPoolExecutor,i7的cpu可以开到600个左右现成,大概20s左右扫描完65535个端口,根据电脑配置适当降低线程数#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa

系统 2019-09-27 17:52:19 1931

Python

Python yield与实现方法代码分析

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

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

Python

025 Python基础小结

目录一、执行Python程序的两种方式1.1交互式1.2命令行式二、变量2.1什么是变量2.2如何定义变量2.3变量的组成2.4变量名的规范2.5变量名的两种命名风格三、常量四、Python变量内存管理4.1引用计数4.2垃圾回收机制4.3小整数池五、花式赋值5.1链式赋值5.2交叉赋值六、注释6.1单行注释6.2多行注释七、数据类型基础7.1为什么要有数据类型八、解压缩九、Python与用户交互十、Python格式化输出的三种方式10.1占位符%10.2

系统 2019-09-27 17:51:57 1931

Python

python日志logging模块使用方法分析

本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下:一、从一个使用场景开始开发一个日志系统,既要把日志输出到控制台,还要写入日志文件importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')

系统 2019-09-27 17:51:47 1931

Python

Ubuntu18.04下python版本完美切换的解决方法

ubuntu18.04版本,python版本python2.7,python3.5,python3.6因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3,默认会使用python3.5,无法调用安装包。解决方法:一、使用pythonxx.py运行程序时,加上版本号。比如python3.6xx.py二、1.要以root身份操作yz@yz-pc:~$sudosu2.确认本机下的python默认版本。调出终端,输入py

系统 2019-09-27 17:51:04 1931