Python
文章平均质量分 95
taolusi
联系方式:taolusi@163.com,一般不太看评论,欢迎来信交流。
展开
-
yield
1.可迭代对象首先,建立一个列表,我们可以逐项读取这个列表,那么这个列表可以称为一个可迭代对象:mylist = [1, 2, 3]for i in mylist: print(i)如上,mylist就是一个可迭代对象。其次,通过一个列表生成式来建立一个列表的时候,也是建立了一个可迭代对象:mylist = [x*x for x in range(3)]for ...翻译 2018-06-26 17:51:11 · 124 阅读 · 0 评论 -
Python的super类(1)
转自:FunHacks 你不知道的 super在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可通过使用 super 来实现,比如:class Animal(object)...转载 2018-07-17 14:09:48 · 267 阅读 · 0 评论 -
Python的super类(2)
转自:[漩涡鸣人](https://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035005.html)一、问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1:class A: def __init__(self): pr...转载 2018-07-17 14:12:02 · 113 阅读 · 0 评论 -
TensorFlow使用gpu
1 安装对应版本的CUDA、cuDNN和tensorflow使用支持gpu的tensorflow的前提是安装了正确版本的CUDA和cuDNN。 关于CUDA和cuDNN的安装可以参考NVIDIA官网和网上各种安装教程,在此不再赘述。本文想要强调的重点是要安装支持自己的GPU的版本,然后根据CUDA版本安装正确版本的cuDNN,最后根据安装的CUDA和cuDNN的版本选择正确的tensor...原创 2018-07-18 12:51:27 · 23102 阅读 · 0 评论 -
谷歌的开源Python工具包fire
转自:coordinate 0x00 简介欢迎来到Python Fire指南! Python Fire是一个Python库,只需对Fire进行一次调用即可将任何Python组件转变为命令行界面。让我们开始吧!0x01 安装从pypi安装Python Fire,请运行:pip install f...转载 2018-07-14 18:02:35 · 1692 阅读 · 0 评论 -
Python变量的赋值(可变变量与不可变变量)
知识点:python中,万物皆对象。 python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。python中,对象分为可变(mutable)和不可变(immutable)两种类型,元组(tuple)、数值型(number)、字符串(string)均为不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象。不可变类型特点: 看下面的例子...转载 2018-07-15 11:19:13 · 1223 阅读 · 0 评论 -
Python argparse用法总结
转自:yarbing 1. argparse介绍是python的一个命令行解析包,非常编写可读性非常好的程序2. 基本用法prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下:#!/usr/bin/env python# encoding: utf-8import argparseparser = argparse...转载 2018-07-15 12:01:36 · 248 阅读 · 0 评论 -
Python的异常处理
ython中一般会遇到两种错误:语法错误(syntax errors)和异常(exceptions)。语法错误的话可以通过IDE来提示或者通过语法分析器指出。一般来说语法错误不会是太严重的问题,即使一条语句或表达式在语法上是正确的,但在执行时仍有可能引发错误。运行过程中检测到的错误成为**异常**。异常分为内置异常和用户的自定义异常,在检测到异常而打印错误信息时。错误信息的前半部分以堆栈的形式列出...转载 2018-07-30 16:14:52 · 377 阅读 · 0 评论 -
@staticmethod和@classmethod的作用与区别
一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类名.方法名()来调用,那他们有什么区别呢从它们的使用上来看,...转载 2018-08-21 14:03:12 · 190 阅读 · 0 评论 -
Python中str转为dict的两种方法
转自:[绿水青山江湖再见](https://blog.csdn.net/antch620/article/details/80583365)两种方法捷径eval(str)>>> user = "{'name' : 'jim', 'sex' : 'male', 'age': 18}">&...转载 2019-02-22 20:13:35 · 18859 阅读 · 0 评论 -
使用python3的typing模块提高代码健壮性
转自:手艺人123使用python3的typing模块提高代码健壮性前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,加上Python本身就是一门弱类型的语言,这种现象就变得更加的严重,而typing这个模块很好的解决了这个问题。typing模块的作用:类型检查,防止运...转载 2019-02-22 21:44:40 · 565 阅读 · 0 评论 -
python读取文件遇到的\ufeff问题
用python读取csv文件时,遇到首行的开头出现"\ufeff"的问题,查询发现是由于编码的问题,具体原因就不写了,这里只写一下解决方法:用sublime text 3的FIle -> save with encoding功能,选择UTF-8,不要选择UTF-8 with bom,可以解决。...原创 2019-02-23 15:58:37 · 2533 阅读 · 0 评论 -
python读写csv文件
转自:吴下_阿蒙csv释义逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。...转载 2019-02-23 18:02:00 · 237 阅读 · 0 评论 -
Python callable() 函数
转自:runoob.comPython callable() 函数描述callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回 True。 语法callable()方法语法:c...转载 2019-02-20 11:16:09 · 524 阅读 · 0 评论 -
typing-python用于类型注解的库
转自:铁群的碎碎念简介动态语言的灵活性使其在做一些工具,脚本时非常方便,但是同时也给大型项目的开发带来了一些麻烦。自python3.5开始,PEP484为python引入了类型注解(type hints),虽然在pep3107定义了函数注释(function annotation)的语法,但仍然故意留下了一些未定义的行为.现在已经拥有许多对于静态类型的分析的第三方工具,而pep484引入...转载 2019-02-20 11:38:37 · 927 阅读 · 0 评论 -
Python的MRO算法
转自:XYM 【前言】MRO(Method Resolution Order):方法解析顺序。Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中一切皆引用,这使得他不会像C++一样使用虚基类处理基类对象重复的问题,但是如果父类存在同名函数的时候还是会产生二义性,Python中处理这种问题的方法就是MRO。...转载 2018-07-17 13:58:29 · 433 阅读 · 0 评论 -
Python random模块
转自:[Test_log](https://my.oschina.net/cuffica/blog/33336) random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。 random.random() 用于生成一个随机浮点数:...转载 2018-07-17 10:26:38 · 123 阅读 · 0 评论 -
Python Argparse Tutorial (Python Agrparse 教程)
本文内容来源于Python官方文档,均为本人翻译得来,部分内容可能翻译不准确或者不优雅,欢迎大家批评指正。Argparse教程argparse是Python标准库里的推荐的命令行解析模块。Note: Python还有两个可以完成同样功能的模块,一个是getopt(和C语言中的getopt()函数等价的),还要一个是不太建议用的模块optparse。需要注意的是argparse是基于op...翻译 2018-06-19 10:32:40 · 1277 阅读 · 0 评论 -
Python的类变量
转自:[大蟒传奇](https://www.jianshu.com/p/3aca78a84def) 最近我参加了一次面试,面试官要求用python实现某个api,一部分代码如下class Service(object): data = [] def __init__(self, other_data): self.other_data ...转载 2018-07-16 11:05:32 · 1686 阅读 · 0 评论 -
Python的enumerate()函数
转自:[python3-cookbook](http://python3-cookbook-personal.readthedocs.io/zh_CN/latest/c04/p10_iterate_over_index_value_pairs_of_sequence.html)序列上索引值迭代¶问题¶你想在迭代一个序列的同时跟踪正在被处理的元素索引。解决方案¶内置的 enume...转载 2018-07-16 15:55:47 · 3231 阅读 · 0 评论 -
Python类的继承
转自:[Bigberg](https://www.cnblogs.com/bigberg/p/7182741.html)目录一、概述 二、类的继承2.1 继承的定义2.2 构造函数的继承 2.3 子类对父类方法的重写 三、类继承的事例 回到顶部一、概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无...转载 2018-07-16 22:02:06 · 221 阅读 · 0 评论 -
Python时间日期处理
转自:WKLKEN BUILDING 原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理步骤:1. 掌握几种对象及其关系2. 了解每类对象的基本操作方法3. 通过转化关系转化涉及对象1. datetime>>> import datetime>>&amp转载 2018-07-17 09:13:09 · 410 阅读 · 0 评论 -
Python的os模块的一些常见文件和目录操作
转自:极客学院Python 的 os 模块封装了常见的文件和目录操作,本文只列出部分常用的方法,更多的方法可以查看官方文档。下面是部分常见的用法:方法 说明 os.mkdir 创建目录 os.rmdir 删除目录 os.rename 重命名 os.remove 删除文件 os.getcwd 获取当前工作路径 os....转载 2018-07-08 12:38:00 · 1056 阅读 · 0 评论 -
Python简单多进程multiprocessing.Pool类
转自:伪·计算机科学家|真·码农首先介绍一个简单粗暴,非常实用的工具,就是 multiprocessing.Pool。如果你的任务能用 ys = map(f, xs) 来解决,大家可能都知道,这样的形式天生就是最容易并行的,那么在 Python 里面并行计算这个任务真是再简单不过了。举个例子,把每个数都平方: 1 import multiprocessing 2 3 def f(x...转载 2018-07-08 12:13:00 · 4418 阅读 · 0 评论 -
Python lambda的用法
转自:另一个自己匿名函数lambda的用法Python中,lambda函数也叫匿名函数,及即没有具体名称的函数,它允许快速定义单行函数,类似于C语言的宏,可以用在任何需要函数的地方。这区别于def定义的函数。lambda与def的区别:1)def创建的方法是有名称的,而lambda没有。2)lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def则会把函数对象赋值给一个...转载 2018-07-08 11:56:00 · 289 阅读 · 0 评论 -
BeautifulSoup通过lxml解析页面造成信息丢失的解决方法
在爬新浪财经的股吧评论的时候,使用第三方解析器lxml时出现了信息丢失的问题:1 bsObj = BeautifulSoup(page, "lxml")通过search,发现是通过lxml来解析页面时出现的问题。因此换用另一个解析器:html5lib,此解析器速度较慢,但容错性最好。1 bsObj = BeautifulSoup(page, "html5lib")关于各种解析器...原创 2018-07-07 22:21:00 · 1706 阅读 · 0 评论 -
python中pandas库中DataFrame对行和列的操作使用方法
转自:晓东邪用pandas中的DataFrame时选取行或列: 1 import numpy as np 2 import pandas as pd 3 from pandas import Sereis, DataFrame 4 5 ser = Series(np.arange(3.)) 6 7 data = DataFrame(np.arange(16).reshap...转载 2018-07-06 15:42:00 · 1013 阅读 · 0 评论 -
Python使用pdb进行调试
转自:JefferyZh和IBM在命令行使用参数进入调试运行运行python -m pdb test.py(Pdb) 会自动停在第一行,等待调试,这时你可以看看帮助(Pdb) h几个关键命令 断点设置 (Pdb)b 10 #断点设置在本py的第10行或(Pdb)b ots.py:20 #断点设置到 ots.py第20行删除断点(Pdb)b #查看断点编号(...转载 2018-07-05 14:40:00 · 1275 阅读 · 0 评论 -
Python的配置文件模块yaml的使用
转自:君惜丶简述和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。YAML不是XML。为什么不是XML呢?因为:YAML的可读性好。 YAML和脚本语言的交互性好。 YAML使用实现语言的数据类型。 YAML有一个一致的信息模型。 YAML易于实现。上面5条也就是XML不足的地方。同时,YAML也有XML的下列优...转载 2018-07-13 17:32:00 · 1565 阅读 · 0 评论 -
Python通过pandas将多个csv文件进行合并
在将多个csv文件拼接到一起的时候,可以用Python通过pandas包的read_csv和to_csv两个方法来完成。这里不采用pandas.merge()来进行csv的拼接,而只是通过简单的文件的读取和附加方式的写入来完成拼接。1 import pandas as pd2 for inputfile in os.listdir(inputfile_dir):3 pd.re...原创 2018-07-11 10:05:00 · 29196 阅读 · 1 评论 -
Python爬取javascript(js)动态网页
转自:自由爸爸,iceblue iceblue,王阳阳详细内容请参考:Selenium-Python中文文档python有许多库可以让我们很方便地编写网络爬虫,爬取某些页面,获得有价值的信息!但许多时候,爬虫取到的页面仅仅是一个静态的页面,即网页 的源代码,就像在浏览器上的“查看网页源代码”一样。一些动态的东西如javascript脚本执行后所产生的信息,是抓取不到的,这里暂且先给出这么一...转载 2018-07-09 10:30:00 · 7003 阅读 · 0 评论 -
python使用with结构打开多个文件
转自:ERP_Odoo_553490191考虑如下的案例: 同时打开三个文件,文件行数一样,要求实现每个文件依次读取一行,然后输出,我们先来看比较容易想到的写法:with open(filename1, 'rb') as fp1: with open(filename2, 'rb') as fp2: with open(filename3, 'rb') as...转载 2019-03-03 17:40:31 · 406 阅读 · 0 评论