python
文章平均质量分 85
python学习
JacksonKim
这个作者很懒,什么都没留下…
展开
-
重载==overload,重写==覆盖==override
一、重载(overload):定义:同一个类中的函数具有相同名称,但参数列表不同(参数个数,参数类型),这样同名不同参数的函数之间,互为重载函数,属于编译时多态。特点:①同一个类中(相同作用域)②函数名称必须相同③函数参数必须不同④函数返回类型可同可不同,不重要二、重写(override)也称为覆盖,是指子类重新定义父类中有相同函数名,参数列表,返回类型的虚函数。子类对象使用这个方法时,将调用子类中的定义,父类中的定义如同被“屏蔽”了,属于运行时多态。特点:①函数名、参数列表、返回类型翻译 2022-05-15 19:59:07 · 368 阅读 · 0 评论 -
Python中模块的搜索路径及其手动添加——解决ImportError: attempted relative import with no known parent package
一、出错场景如果当前的工作路径就是在package1中(在此目录下执行a.py),而且在a.py中尝试用相对导入的方式引入b文件,就会导致出错。|package1 -__init__.py -a.py -b.py#a.pyfrom .b import *二、出错原因正如错误提示所将的一样,这是由于“在不知道父包的情况下尝试相对导入”导致出错。我们知道,python中是允许进行相对导入的,即通过.或者..引入其相应的模块。但是这种相对导入机制的原则是:相对导入是使原创 2021-04-12 18:43:37 · 500 阅读 · 1 评论 -
Python:实现进度条和时间预估
一、前言在python当中可以用进度条来显示工作的进度,比如for循环的进度或者一些模型训练的进度。在这里可以使用progressbar包来实现。使用pip install progressbar 安装progressbar包。二、代码import progressbarimport timewidgets = ["doing task: ", progressbar.Percentage()," ", progressbar.Bar(), " ", progressbar.原创 2020-05-31 15:30:13 · 4239 阅读 · 0 评论 -
Python:连接mysql数据库的三种方式,mysql.connector, pymysql, MYSQLdb
一、关于PEP 249 PEP的全称是Python Enhancement Proposals,其中Enhancement是增强改进的意思,Proposals则可译为提案或建议书,所以合起来,比较常见的翻译是Python增强提案或Python改进建议书。在数据库这方面python有PEP 249 -- Python Database API Specification v2.0,...原创 2020-05-01 13:03:58 · 3387 阅读 · 0 评论 -
Python: numpy数组添加一行或者一列, numpy数组的增删查改
一、numpy数组的增删查改(一)查和改 1.通过下标访问 array[0][0] array[0,1] 2.通过下标修改 array[0][0] = 1 array[0,0] = 2(二)增 1.增加一列 (1)通过np.c_[a,b]方式import numpy as n...原创 2020-04-30 22:03:44 · 42259 阅读 · 0 评论 -
Python: numpy中random子模块常见用法的总结
一、前言 python的random功能是我们常常需要用到的,除了python中random模块之外,numpy模块中也有random子模块,相比较之下,np.random有更多的函数支持。二、np.random中的方法1.给出单个随机数1.1给出一个范围是[0.0,1.0),服从均与分布,浮点型的随机数 print(np.random.random()) pr...原创 2020-04-28 00:35:56 · 450 阅读 · 0 评论 -
VSCode中Jupyter Server Not Started | No Kernel 的解决办法
一、前言 VSCode中最新版的Microsoft Python插件其实已经包含了以前jupyter插件的功能,所以只要安装了Python插件(就是下面这个),是可以打开、编辑、运行 .ipybn类型的文件的。 问题就是尝试运行ipybn的时候,由于VSCode没有办法找到Jupyter Server,会报如下的错误: Error: Activating Pyth...原创 2020-04-13 20:05:43 · 4816 阅读 · 3 评论 -
pyspider运行卡死在result_worker starting 的解决办法
最近在学习网络爬虫的一些知识,接触到pyspider框架,但在下载安装的过程当中遇到不少坑,记录一下。环境:win10+anaconda3+python3.7一、Pyspider和PhantomJS的安装 pyspider的安装网上有很多教程,可以参照这个:戳这里。 PhantomJS下载之后需要配置环境变量,我是直接把它放在python.exe的文件夹中,因为该路径已...原创 2020-04-11 19:35:59 · 7864 阅读 · 6 评论 -
Python yield关键字是什么意思?从可迭代对象(Iterable),迭代器(Iterator),生成器 (Generator) 说起
刚接触到迭代器,生成器的时候常常分不清这些概念的区别,下面的一张图很好的展示了他们的关系:也就是:父类 子类 iterable iterator,一些container container list, set, dict iterator generator 这里不对container展开讨论一、iterable很多容器都是可迭代对象,...原创 2020-04-03 01:49:11 · 189 阅读 · 0 评论 -
Python面向对象编程:魔法方法
魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。它们经常是两个下划线包围来命名的(比如 __init__/__new__等等),Python的魔法方法是非常强大的。这些魔法方法是每个类都会有的,当你自己定义的时候就相当于重载该方法。如果你没有定义__str...转载 2020-03-30 14:31:47 · 212 阅读 · 0 评论 -
Python面向对象编程:私有成员,保护成员和普通成员;抽象基类与继承
一、基本概念私有成员变量:__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。 保护成员变量: _foo:以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于from module import * 普通成员变量:foo类外可访问。 私有方法:__private_method:两个...原创 2020-03-30 14:35:56 · 812 阅读 · 0 评论 -
Python字符串拼接,截取,查找,替换
熟练掌握字符串操作可以使我们的开发效率更高,接下来总结一下python字符串的操作一、字符串拼接 1.如果是两个字符串拼接,直接用加号即可...原创 2020-03-27 23:10:49 · 584 阅读 · 0 评论