
python
工作中遇到的python问题,整理出来,供大家交流学习
IT_心如止水
python,大数据,nlp,人工智能领域的小学生,希望和各位志同道合的朋友一起进步
展开
-
python-可哈希对象与不可哈希对象
目录什么是hashable(可哈希性)可哈希的数据类型不可哈希的数据类型对于哈希一词,想必大家都不陌生。哈希值、哈希算法、可哈希、不可哈希、哈希表中总有一个你熟悉的面孔。那哈希(hash)到底是什么意思呢?今天就好好总结一下!什么是hashable(可哈希性)An object is hashable if it has a hash value which never changes during its lifetime (it needs a __hash__() meth原创 2022-04-12 14:09:09 · 1800 阅读 · 0 评论 -
二叉树的遍历与深度计算(python实现)
二叉树作为一种重要的数据结构,也是面试中经常会问到的。其中,二叉树的遍历和深度计算更是重中之重。二叉树的遍历分为深度优先遍历和广度优先遍历两类。其中,深度优先遍历,根据遍历顺序的不同可以细分为:前序遍历、中序遍历、后序遍历广度优先遍历,就是常规意义上按照层次从上到下,依次进行遍历。二叉树深度计算即为求取二叉树的最大深度python实现:class TreeNode: def __init__(self, value=None, left=None, ...原创 2022-04-11 19:42:39 · 1333 阅读 · 0 评论 -
python遍历多层文件夹的所有指定类型文件
随着互联网的发展,每天我们的电脑中都会产生大量的文件,这也就使得快速查找自己的想要的文件需求变得越来越突出,移动端有各种各样的文件管理器可以帮我们完成这个工作,而PC端由于其自身系统的复杂性,市面上的大多数文件类软件并不能满足我们的需求。所以,作为软件创造者——coder的我们,遇到这种情况必须发挥一下自己的职业技能,自己动手,丰衣足食。开搞!需求:快速查找出指定目录下的所有层级下指定类型文件思路就很简单了。逐级遍历, 判断对象是文件/目录,文件的话,进入下一步文件类型判断;目录的话,返回原创 2021-12-01 16:54:19 · 1483 阅读 · 0 评论 -
Pandas——Dataframe行遍历几种常用方法性能分析
pandas作为python数据分析的一大利器,为广大数据分析人员使用。今天无意中,听到美女同事吐槽:dataframe好慢啊!嗯哼,瞬间引起了我这个数据人的注意,过去一看,原来是用的方法本身效率低。日常工作中,按照行遍历数据是我们一个非常常见的场景!尤其是从sql boy转到数据分析的我,动不动就想 select * from table1;一下,看看数据的大概情况。这一操作在pandas中的实现主要有一下几种:1、iterrows()原理是将Dataframe迭代为Series,再原创 2021-11-22 17:06:04 · 4552 阅读 · 0 评论 -
如何使用python操作excel
# coding:utf-8"""自动打开excel文件并截图保存"""import win32com.client as win32from PIL import ImageGrab, Imageexcel = win32.Dispatch('Excel.Application')excel.Visible = Falseexcel.DisplayAlerts = False# 打开excel文件,注意此处要使用绝对路径wb = excel.Workbooks.Open('E:..原创 2021-09-05 16:09:30 · 1083 阅读 · 0 评论 -
python经典面试题
题目:假设某人有100000现金,每次经过路口需要进行一次交费交费规则为:手中现金大于50000,需要交费5%;手中现金小于等于50000,需要交费1000请设计程序,计算这个最多经过多少次路口答案:直接上代码(python)total = 100000n = 0while True: if total > 50000: n = n + 1 total = total * 0.95 elif total >原创 2021-09-05 16:01:42 · 522 阅读 · 0 评论 -
python访问hive数据库踩坑指南
最近做数据ETL系统的更新,需要将原有ETL任务迁移到新的系统中,并验证数据的准确性。目录安装依赖包核心代码遇到的坑依赖包版本安装依赖包因为本人电脑是win本,所以只能使用impyla连接;其他系统还可以使用PyHive包进行连接pip install impylapip install pure-saslpip install thrift_saslpip install thriftpip install sasl注意点:直接使用pi...原创 2021-08-04 14:32:22 · 699 阅读 · 0 评论 -
python——通过ssh访问远程MySQL数据库
在日常工作中,为了保证线上服务的稳定和数据安全,想要访问线上数据库通常需要先通过跳板机进入内网才可以登录数据库,虽然这样可以保证数据安全,但对于我们日常调试程序却带来不便。于是,我特意封装了一个通过ssh访问远程MySQL数据库的方法供大家参考。不搞虚了吧唧的,直接上源码:import timeimport pymysqlfrom sshtunnel import SSHTunnelForwarderfrom pyhive import presto, hivefrom impala.d原创 2021-07-26 11:43:03 · 1755 阅读 · 1 评论 -
dict、list、series、dataframe之间的相互转换
在用pandas进行数据处理过程中,经常会遇到dict、list、series、dataframe之间相互转换的场景,今天特意整理了一下,以备自己后面再次遇到可以快速解决,分享出来也方便大家# dict、list、series、ataframe之间的相互转换import pandas as pddict1 = {'id': [1,2] ,'name':['xiaoming', 'dandan']}list1 = [{'id': 1, 'name':'xiaoming'}, {'id': 2原创 2021-04-08 18:28:52 · 1214 阅读 · 0 评论 -
python3经典错误之no module name MySQLdb
问题:前几天从网上clone一个比较古老的项目,本以为python版本可以向下兼容,没想到竟然报错,还是很常用的mysql模块no module name MySQLdb上网一查,大吃一惊:MySQLdb竟让只支持Python2.*,还不支持3.*。(不都是向下兼容的吗???)没办法只好想办法解决,经过各种查找尝试,总算是解决了解决方法:可以用PyMySQL代替MySQLdb。首先安装:pipinstallPyMySQL然后在项目的__init__.py或者引用My..原创 2021-03-14 18:30:29 · 395 阅读 · 0 评论 -
python基础语法——字符串、列表、元祖、字典
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。 join适用于字符串和列表字符串的replace方法,字符串名.replace(old,new,count),默认情况下全部替换partition分隔为元祖,包含三部分,str前,str,str后<5>split以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 为maxsplit...原创 2018-07-10 22:00:49 · 505 阅读 · 0 评论 -
python基础语法——判断语句和循环语句注意事项
if要判断的条件:注意要加冒号 条件成立时,要做的事情 if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3 else:while条件:注意要加冒号 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 改变局部变量...原创 2018-07-10 21:47:29 · 368 阅读 · 0 评论 -
jupyter notebook 中文乱码问题解决
安装SimHei.ttf字体 在执行代码前加上如下代码: import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False原创 2018-12-03 10:28:29 · 10016 阅读 · 0 评论 -
设置PyCharm创建文件时自动添加文件头
打开pycharm,按照如下路径查找、添加即可File->settings->Editor->File and Code Templates->Python Script 下面为你要添加的文件头内容#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : ${DATE} ${TIME}# ...原创 2018-09-21 17:39:56 · 3477 阅读 · 0 评论 -
python多态发生的条件
多态的发生条件1 发生继承2 子类重写父类方法3 子类重写的父类的方法被调用原创 2018-07-18 11:36:58 · 288 阅读 · 0 评论 -
Python——赋值、浅拷贝与深拷贝之间的区别
= :赋值运算符为整体引用的拷贝浅拷贝:为一层个体的引用拷贝深拷贝:为递归到最底层不可变元素的引用的拷贝原创 2018-07-18 11:33:05 · 149 阅读 · 0 评论 -
进程、线程和协程之间的异同
进程、线程和协程之间的区别:进程是资源分配的单位 线程是操作系统调度的单位 进程切换需要的资源很最大,效率很低 线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下) 协程切换任务资源很小,效率高 多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以只能是并发...原创 2018-07-15 20:40:25 · 680 阅读 · 0 评论 -
TCP协议重点注意事项
1. tcp服务器一般情况下都需要绑定端口和IP地址,否则客户端找不到这个服务器2. tcp客户端一般不绑定,因为是主动链接服务器,所以只要确定好服务器的ip、port等信息就好,本地客户端可以随机3. tcp服务器中通过listen可以将socket创建出来的主动套接字变为被动的,这是做tcp服务器时必须要做的4. 当客户端需要链接服务器时,就需要使用connect进行链接,ud...原创 2018-07-15 18:44:53 · 991 阅读 · 0 评论 -
python基础语法——异常和模块的导入问题
异常在try..1.except.2..else 3,即如果1中捕获到异常,那么就执行except中的语句;如果1中没有捕获到异常,则执行else中的语句 可以用raise语句抛出一个异常try...finally...语句用来表达这样的情况:在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。比如文件关闭,释放锁,把数据库连接返还给连接池等 如果t...原创 2018-07-12 18:07:14 · 530 阅读 · 0 评论 -
python基础语法——类的继承
单继承# 子类继承了父类 如果子类重写了父类的同名方法 ,则调用该方法时,优先使用子类的,(其后依次为第一个父类,第二个父类。。。)但是子类还想使用父类这个同名方法 # 有三种解决方法: # 01: 父类名.同名方法名(self) **多继承 # Master.make_cake(self) # 02: super(子类名, self).同名方法名(...原创 2018-07-11 20:46:41 · 652 阅读 · 0 评论 -
python基础语法——类
object 是Python 里所有类的最顶级父类;类就是创建对象的模板类名 的命名规则按照"大驼峰命名法";__init__()方法,在创建一个对象时默认被调用,不需要手动调用__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去在类的方法里定义属性的固定值,则每个对象实例变量的属性值都是相同的。__init__(self)中,默认有1个...原创 2018-07-11 20:45:09 · 479 阅读 · 0 评论 -
python基础语法——文件操作综合应用
使用文件的目的:就是把一些数据存储起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后...原创 2018-07-11 19:43:05 · 237 阅读 · 0 评论 -
python基础语法——函数
把具有独立功能的代码块组织为一个小模块,这就是函数函数的文档说明用三引号括起来定义时小括号中的参数,用来接收参数用的,称为 “形参”调用时小括号中的参数,用来传递给函数用的,称为 “实参”因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处当函数返...原创 2018-07-11 10:36:51 · 189 阅读 · 0 评论