Python
文章平均质量分 77
python日常学习记录
我爱夜来香A
求职意向:大数据开发、数据开发、DBA等
展开
-
python实现rdbms和neo4j的转换
【代码】python实现rdbms和neo4j的转换。原创 2024-02-05 16:19:10 · 614 阅读 · 0 评论 -
python进阶:常见问题
也就是说import在导入文件的时候,会自动把暴露在外面的代码全都执行一遍,因此,如果你要把一个东西封装成模块,又想让它可执行的话,必须要将执行的代码放在 if __ name__ == '__ main__'下。在功能方面,用if和assert似乎没什么差异,但是需要注意assert的检查是可以被关闭,比如运行python程序的时候,加入-O选项就会让assert失效。在对一些重要的功能进行判断的时候,假如使用了assert,并且不小心失效的时候,会给程序带来巨大的安全漏洞。会输出:testint和3。原创 2024-01-03 16:46:18 · 355 阅读 · 0 评论 -
Python进阶:Asyncio并发编程
和其它Python程序一样,是单线程的,只有一个主线程,但是可以进行多个不同的任务(task),这里的任务,就是特殊的future对象,这些不同的任务,被一个叫做event loop的对象所控制。可以把这里的任务,类比多线程版本里的多个线程上述代码是爬虫的简单示例,四个url一共用了10s的时间,如何用协程进行优化呢?async:声明异步函数,上面的crawl_page和main都成了异步函数await:协程的关键字,后面接异步函数1、当遇到 await 关键字时,协程会暂停自己的执行。原创 2024-01-03 15:50:01 · 1036 阅读 · 0 评论 -
Python进阶:Futures并发编程
在上述代码中,ProcessPoolExecutor()表示创建进程池,使用多个进程并行,这里,通常省略参数workers,因为系统会自动返回CPU的数量作为可以调用的进程数,但是使用多进程效果并不一定显著,因为并行的方式一般用在CPU heavy的场景中,而上述场景是I/O heavy。上述代码表示,创建了个线程池,总共有5个线程可以分配使用,map高阶函数表示并发的对sites的每一个元素调用函数download_one()也可以通过并行的方式运行上述代码。3、详解Futures。原创 2023-12-28 17:51:34 · 853 阅读 · 0 评论 -
python进阶:装饰器
上述代码是描述装饰器可以接受原函数任意类型和数量的参数,此外,它还可以接受自己定义的参数print('打印参数:{}'.format(name))函数还是原函数吗?#打印出来是wrappergreet()函数被装饰之后,元信息就变了,不再是greet()函数,而是wrapper()函数为了解决这个问题,通常使用内置的装饰器@functools.wrap,会帮助我们保留原函数的元信息(也就是将原函数的元信息,拷贝到对应的装饰器函数里)print('打印参数:{}'.format(name))原创 2023-12-19 14:28:54 · 888 阅读 · 0 评论 -
python进阶:函数
如上述代码所示,外部函数nth_power()返回值,是函数exponent_of(),而不是一个具体的数值,需要注意的是在执行square = nth_power(2)和cube = nth_power(3)后,外部函数的参数exponent仍然会被内部函数exponent_of()记住。闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来还会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。1、为什么要使用匿名函数?原创 2023-12-18 16:56:53 · 924 阅读 · 0 评论 -
python进阶:深入理解迭代器和生成器
可以简单理解为函数运行到yield这一行的时候,程序会从这里暂停,然后生成一个值跳出程序,每次next()函数被调用的时候,暂停的程序又复活了,会把yield生成的值返回给调用者,周而复始;从代码层面上说,迭代器是实现了迭代器协议的对象,即具有__iter__()和__next__()方法,它用于提供一种顺序访问容器中元素的方式,而无需了解容器的内部实现细节。上述代码是生成一个包含一亿元素的列表,迭代器是用[]括起来的,每个元素在生成后都会保存在内存中,此时内存占用大概是迭代器对象 + 元素占用的内存。原创 2023-12-15 14:22:04 · 784 阅读 · 0 评论 -
python进阶:异常处理
上述代码是用来处理某个文件夹下的json文件,假如某个json文件格式不正确,程序就会终止并退出,但是其它json文件格式是正确的,我想让它不管格式有问题的json文件,从而处理其它正确的json文件,有什么办法呢?不过,很多时候,我们很难保证程序覆盖所有的异常类型,更通常的做法,是在最后一个except block,声明其处理的异常类型是Exception.Exception是其他所有非系统异常的基类,能够匹配任意非系统异常。也可以在except后面省略异常类型,表示与任意异常匹配。原创 2023-12-14 16:34:35 · 876 阅读 · 0 评论 -
python进阶:上下文管理器和with语句
需要注意的是,当使用类来创建上下文管理器时,必须保证类包括’__ enter__’ 和 ’__ exit__'方法。也可以用try except finally语句处理。就和我们使用with open() as f一样。2、打开、关闭数据库操作。1、打开、关闭文件操作。原创 2023-12-14 14:12:11 · 380 阅读 · 0 评论 -
python进阶:浅拷贝与深拷贝详解
而’is’操作符比较的是对象的身份标识是否相等,即它们是否是同一个对象,是否指向同一个内存地址,在python中,每个对象的身份标识,都能通过id(object)获得,因此’is’操作符,相当于比较对象之间的id是否相等。相当于l2会重新开辟一块内存区域,会存储1,2,3,但是不会存储[4,5],只是存储[4,5]对象的引用,如下图所示。我们知道,对于不可变数据类型,没有提供修改它的方法,是不是可以理解为无论是浅拷贝还是深拷贝返回的结果都是一样的。= id(b),即a is b返回的是False。原创 2023-12-12 16:38:33 · 997 阅读 · 0 评论 -
Python学习:常用数据结构
二、双向链表(linkedlist)一、数组(array)四、队列(queue)三、栈(stack)原创 2023-11-23 08:40:22 · 434 阅读 · 0 评论 -
如何理解Python中一切皆对象?
Python中一切皆对象,如常见的加(+)、减(-)、乘(*)、除(/)、相等(==)都是调用类中的某个方法。当删除对象时,python解释器也会默认调用__del __()方法。__xx __()的函数叫做魔法方法,指的是具有特殊功能的函数。原创 2023-11-22 10:07:00 · 191 阅读 · 0 评论 -
Python应用:自动生成数据库建表语句
【代码】Python学习:自动生成Mysql建表语句。原创 2023-11-22 08:54:38 · 684 阅读 · 0 评论 -
pyspark报错
sparkContext后的参数有问题,即使加上这个参数会标红,运行是没问题的。这个报错一般是因为本地spark版本和pyspark版本不一致导致的,可以用。查看pyspark版本,然后将版本替换为一致即可。原创 2023-09-06 10:01:06 · 716 阅读 · 0 评论 -
python学习:爬虫爬取微信公众号数据
参考: https://blog.csdn.net/qq_45722494/article/details/120191233。上述第一步可以获取到cookie、fakeid、token、user_agent等,编辑成wechat.yaml文件,如下所示。1、使用fiddler或Charles抓包。1、登录微信公众平台。原创 2023-07-18 15:50:24 · 5707 阅读 · 11 评论 -
python与oracle数据库交互
最近在学习python对oracle数据库的操作,也遇到了不少问题,在此记录下一、环境准备1、oracle11g2、python 3.10.13、cx_Oracle 8.3.0二、安装cx_Oracle1、可以在pycharm中进行下载,File/Settings/Project:项目名称/Python Interpreter/+,搜索cx_Oracle进行下载2、cmd窗口若通过上述方式找不到可在cmd窗口pip install cx_Oracle下载cx_Oracle库,并把下载下来原创 2022-01-07 20:25:12 · 2342 阅读 · 1 评论