python
文章平均质量分 67
u012903992
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python零基础入门到精通学习教程2024年最新版,看完这一篇就够了。
2023年即将接近尾声,随着2024年的到来,Python即将步入他的35岁诞生。(冷知识:Python1989年诞生,Java是1991年,所以Python比Java更加历史悠久)作为当今世界上最受欢迎的编程语言。不少小伙伴都想一窥Python的美妙,却苦于没有一份系统的、科学的学习教程而止步!编程语言排行榜今天,身为一名在编程圈混迹数十年,上至字节,下至初创公司的小蓝过来为你排忧解难了,给同学们带来了一份Python入门到精通的学习教程2024年最新版。原创 2024-04-14 13:45:38 · 656 阅读 · 0 评论 -
字节大佬呕心沥血撰写159页的《Python零基础入门教程》在编程圈内火了!小白零基础必备,开放PDF下载!
Python在多个领域有广泛的应用,例如网络爬虫、数据分析、人工智能等。无论你是在职人员,或者是零基础的小白,也或者需要转行学习Python的读者,都建议你们可以拿过去学习一下。除了这些,Python还可用于数据分析和可视化,帮助你更好地。Python作为21世纪最伟大的发明,正在潜移默化的改变我们的生活。剔除了相对来说应用不那么广泛的冷门知识点,将最简单的部分囊括了进来,都有详细明了的介绍,是学习过程中不可多得的最佳学习资料。,可以帮助新手小白快速领略Python的魅力。此外,学习Python还能为你。转载 2024-04-14 13:42:38 · 360 阅读 · 0 评论 -
使用Bazel编译TensorBoard教程
Tensorboard是一套用于查看和理解TensorFlow运行情况的工具,有时可能现有的功能并不能满足我们当前的需求,那么则需要我们对Tensorboard进行定制化开发,定制化的第一步就是编译源码。包括TensorBoard在内,Google的很多项目都是使用Bazel进行编译的,接下来我们进行相关环境的安装。至此,TensorBoard的编译已经完成,接下来就可以进行自定义的开发了,注意要遵循Apache License 2.0许可喔~,本文以Ubuntu为例介绍Bazel的安装过程。原创 2023-07-29 17:07:46 · 926 阅读 · 0 评论 -
Python中的深拷贝和浅拷贝区别是什么?
深拷贝和浅拷贝出现的原因是因为在Python中,变量实际上是对象的引用,而不是对象本身。因此,当我们对一个变量进行拷贝时,实际上是将这个变量的引用复制给了新的变量。这就导致了一个问题:如果我们修改了新变量中的数据,原变量中的相应数据也会被修改,因为它们实际上是同一个对象。深拷贝和浅拷贝的作用是在需要对对象进行拷贝时,可以选择合适的拷贝方式,以避免出现意外的修改。浅拷贝只复制对象的引用,而不复制对象本身,因此新对象和原对象共享一部分数据。中的嵌套列表是两个不同的对象,因此修改。可以看到,由于深拷贝的原因,原创 2023-07-18 20:17:33 · 317 阅读 · 0 评论 -
python打包分发工具:setuptools
自定义命令行为是setuptools进阶知识。line)见:https://pythonhosted.org/an_example_pypi_project/setuptools.html这些命令具体是由定义在setuptools.command中的类执行的。比如由setuptools.command.bdist类来执行。因此我们可以继承于setuptools.command中的类来执行自定义的命令行为。原创 2023-07-14 11:33:04 · 2303 阅读 · 0 评论 -
python中的PEP 587是什么特性
PEP 587 是 Python Enhancement Proposal 的缩写,是 Python 3.8 中引入的一个新特性,它提供了一种新的 C 语言 API,用于管理解释器状态和线程状态。PyConfig API 的主要目的是提供一种更加灵活和可扩展的方式来配置 Python 解释器的状态和线程状态。总之,PEP 587 提供了一种更加灵活和可扩展的方式来配置 Python 解释器的状态和线程状态,这使得 Python 解释器更加适应不同的应用场景和需求。原创 2023-06-28 17:21:48 · 327 阅读 · 0 评论 -
使用gdb调试Python进程
python2.6的源码中提供了部分预定义函数以便大家使用gdb调试,我们只需将文件Python-2.6/Misc/gdbinit所包括的内容加入到用户目录下的.gdbinit文件中即可,这样每次启动gdb时会自动完成这些宏的定义。2)安装python-debuginfo包(如:python-debuginfo-2.6.6-29.el6_2.2.x86_64.rpm,这个版本号一定要跟你所用的python版本一致(可以rpm -qa|grep python查看你安装的python的详细版本号)。原创 2023-06-02 09:12:23 · 3094 阅读 · 0 评论 -
python3中的宏HAVE_VFORK
宏的地方可能因不同的 Python 版本和代码库而有所不同,它通常用于处理与进程相关的操作或优化,以适应不同的操作系统环境和系统调用的差异。宏通常用于条件编译,根据系统支持情况启用或禁用特定的代码段。在创建子进程时会共享父进程的内存空间,而不会复制整个父进程的内存。的系统调用,用于创建一个新进程作为当前进程的子进程,但与。,可以使用动态链接库或系统调用的方式。在编译软件时,可以通过检查预定义的宏来确定系统是否支持。系统调用,可以通过编译时的配置或在运行时进行判断。函数的地址,如果返回的地址不为。原创 2023-05-27 11:48:06 · 982 阅读 · 0 评论 -
python内存泄露问题定位:附带解决pyrasite timed out
发现接收超时,手动修改代码 vi /usr/lib/python2.7/site-packages/pyrasite/ipc.py,将settimeout默认5改成50.查看内存情况安装guppy,命令为pip install guppy,如果运行程序为python3 安装命令为 pip3 install guppy3。原文链接:https://blog.youkuaiyun.com/lonevenn/article/details/120075646。此时定位到内存增长符合预期,内部有一个内存队列,没有来得及消费。转载 2023-03-04 21:40:31 · 2159 阅读 · 0 评论 -
python-C 语言模块
由于 Python 是解释型语言,非常适合处理 IO 密集型任务,但是不善于处理计算密集型任务,例如加解密,压缩解压缩等,这类任务如果全部使用 Python 开发,是非常低效的,通常的做法是将算法密集型任务使用 C 语言实现,并用 Python 封装接口以方便用户调用。为了同时发挥 Python 快速开发和 C 语言的快速处理的优点,Python 支持调用 C 语言接口。实际上 Python 底层均是由 C 语言开发的,调用 C 语言接口是最基本的功能。原创 2023-03-03 16:05:46 · 1239 阅读 · 0 评论 -
python之wheel 包命名规则、abi 兼容和安装
通常判断依赖的时候,需要看下是否符合最低版本。pip 的做法是,计算出一个支持的 abi tag 集合,然后判断目标 abi tag 是否在这个集合里。这意味着,打包拓展的 CPython 需要跟安装的机器上的 CPython 版本是一致的,否则就装不了。不过如果用的是 Python 3,又不能控制具体的 CPython 版本,对于 C 拓展还是现场编译安装比较靠谱。这里就查看到自己的python所支持的wheel包:('python Tag','abi Tag','platform tag')原创 2023-02-27 21:39:05 · 1821 阅读 · 0 评论 -
Python学习笔记:字符串前加f、r、b、u
格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或者 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替代的字段。str.format( )是一个升级版本,代码易读,但当处理多个参数和更长字符串时,非常冗长,每个变量都要指明。使用字典的方式 .format(**dict) 解压,并通过字符串中的键值引用。转载 2022-11-17 19:18:37 · 1261 阅读 · 0 评论 -
一文看懂python的迭代器和可迭代对象
前面的研究只是开胃菜,接下来的才是重点,可迭代对象的定义如下:如果一个对象实现了__iter__方法,那么这个对象就是可迭代对象。我们来验证一下这个定义是否成立# 仅仅是实现了__iter__ 方法,在方法内部什么都不做pass# 判断是否为可迭代对象# 判断是否为迭代器你现在能理解我为什么在文章的第一小节里寻找可以判断对象是否为可迭代对象的原因了吧,我需要验证可迭代对象的定义,只有这样才算是把这个知识点吃透。原创 2022-10-09 21:01:01 · 559 阅读 · 0 评论 -
Python 深拷贝和浅拷贝详解
Python 深拷贝和浅拷贝详解_xzw96的博客-优快云博客_python 深拷贝文章目录1、Python 深拷贝和浅拷贝概念理解2、浅拷贝2.1 使用数据类型本身的构造器2.2 对于列表2.3 使用 copy.copy() 函数2.4 对于元组2.5 关于切片操作符 ':'2.6 和赋值的区别2.7 浅拷贝需注意的问题2、深拷贝1、Python 深拷贝和浅拷贝概念理解浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。深拷贝,是指重新分配一转载 2022-07-11 20:29:40 · 2577 阅读 · 0 评论 -
理解python中的yield关键字
想必大家都看到过这样的代码:上面的这段代码会计算0-9的平方并打印出来。那么问题来了,这段代码和下面的这段代码有什么区别呢?这里的关键点是,前一段代码使用了yield关键字。那么yield是什么呢?要理解yield,还得从容器开始说起。像列表(list)、集合(set)、序列(tuple)、字典(dict)都是容器。简单的说,容器是一种把多个元素组织在一起的数据结构,可以逐个迭代获取其中的元素。容器可以用in来判断容器中是否包含某个元素,如大多数的容器都是可迭代对象,可以使用某种方式访问容原创 2022-07-11 19:57:57 · 392 阅读 · 0 评论 -
Python 协程 asyncio 极简入门与爬虫实战
在了解了 并发编程的多线程和多进程之后,我们来了解一下基于 的异步IO编程--协程01协程简介协程(Coroutine)又称微线程、纤程,协程不是进程或线程,其执行过程类似于 函数调用, 的 模块实现的异步IO编程框架中,协程是对使用 关键字定义的异步函数的调用;一个进程包含多个线程,类似于一个人体组织有多种细胞在工作,同样,一个程序可以包含多个协程。多个线程相对独立,线程的切换受系统控制。同样,多个协程也相对独立,但是其切换由程序自己控制。02一个简单例子我们来使用一个简单的例子了解协程,首先看转载 2022-06-25 10:58:34 · 1001 阅读 · 0 评论 -
有趣的 LD_PRELOAD
LD_PRELOAD 是 Linux 系统中的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。如果你是个 Web 狗,你肯定知道 LD_PRELOAD,并且网上关于 LD_PRELOAD 的文章基本都是绕过 disable_functions,都快被写烂了。今天我们就从浅入深完整的学习一下什么是 LD_PRELOAD,LD_PRELOAD 有什么作用,我们可以如何利用 LD_PRELOAD。程序的链接主要有以下三种:对于动态链接来说,转载 2022-06-10 10:33:29 · 1976 阅读 · 0 评论 -
理解Python String Intern机制与源码调式分析
最近看了几篇讲Intern机制的文章,发现有些不一样的地方,调了一下Python源码,学习一下什么是Intern机制String interning意思就是一种优化机制:一些字符串在程序中只存一份,其他的都是其引用自动Intern例子 123456 >>> s1="asdasd">>> s2="asdasd">>> id(s1)140595742177576>>>原创 2022-05-28 15:43:47 · 537 阅读 · 0 评论 -
一日一技:引用计数什么时候+1什么时候-1
引用计数是Python进行垃圾回收的主要技术之一。当一个对象的引用计数归零的时候,它就会被Python的垃圾回收清理掉。以下情况导致对象引用计数+1:对象被创建,例如a=2对象被引用,b=a对象被作为参数,传入到一个函数中对象作为一个元素,存储在容器中以下情况会导致对象引用计数-1:对象别名被显式销毁 del对象别名被赋予新的对象,例如a='x', a=2,此时原来'x'对应的对象引用计数-1一个对象离开他的作用域对象所在的容器被销毁或者是从容器中删除对象...原创 2022-05-23 18:18:04 · 561 阅读 · 0 评论 -
Python的位置参数、默认参数、关键字参数、可变参数区别
对于python函数参数,对于初学者可能就是进入了迷宫,尽管我也是初学者,简单总结一下。说参数之前,先讲一下两个packing(包裹)和unpacking(解包裹):a = (1,2,3)b,c,d = aprint(b)print(c)print(d)输出:123我总结不了这个概念,只能帮大家到这了一、位置参数和关键字参数:调用函数时根据函数定义的参数位置来传递参数。def print_hello(name, sex): sex_di原创 2022-05-19 19:12:24 · 3173 阅读 · 1 评论 -
python专题:函数参数的四种形式
一、函数参数的四种形式1、不定长参数:指参数的数量不确定,可随时增加与减少(1)以*为不定长参数符号(2)约定变量名为args(3)调用函数时,传入参数的数据类型不限#不定长参数def fun2(*args): #定义函数,其中*为不定长参数符号,args为约定的变量名 print(args) for i in args: print(i)fun2(1,3.14,True,3+0.14原创 2022-05-19 09:41:59 · 2085 阅读 · 0 评论 -
如何在Python中调用C语言代码
如何在Python中调用C语言代码_奇异空间里的猫的博客-优快云博客_python调用c1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码开发者有三种方法可以在自己的Python代码中来调用C编写的函数:ctypes,SWIG,Python/C API。每种方式也都有各自的利弊。首先,我们要明确为什么要在Python中调用C?常见原因如下:你要提升代码的运行速度,而且你知道C要比Python快50倍以上 -C语言中有很多传统类库,而且有些转载 2022-05-18 10:15:20 · 11028 阅读 · 0 评论 -
在python里调用C函数的三种方式
一个python项目快速开发完以后,常常针对瓶颈进行优化,其中一种方式就是对于性能至关重要的部分,使用C重写,这已经是一种最佳实践。如果整个项目完全使用C,开发效率就没有保障。python运行环境(CPython)是用C开发的,因此python与C结合起来很容易,而且方式多种多样。使用C重写了关键部分后,需要在python中调用,本文介绍三种最常用的调用C函数的方式,分别是c extension,Cython和ctypes。举个例子,假设我们用C重写了add函数,它接受两个整数,计算他们的和并返回。原创 2022-05-17 19:59:57 · 9477 阅读 · 2 评论 -
Python 中下划线的 5 种含义
Python 中下划线的 5 种含义 | 菜鸟教程单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:__var__ 单下划线:_在文章结尾处,你可以找到一个简短的"速查表",总结了五种不同的下划线命名约定及其含义,以及一个简短的视频教程,可让你亲身体验它们的行为。让我们马上开始!1. 单前导下划线 _var当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义。 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么转载 2022-05-17 17:19:26 · 536 阅读 · 0 评论 -
Python3.9的新的特性
是不是感觉python3.7刚刚使用,3.8还没捂热乎,怎么3.9这么快就来了!其实版本迭代速度快,说明这门编程语言的活力强,对于我们使用者来说是件好事,而且谁也没说必须使用最新版本,我到现在仍然在用python3.6。但是呢,新版本出来了一定要体验一下,看看都有哪些改动和优化,说不定哪个新特性就能解决你手里的大问题。1新的特性1).import异常我们在进行模块的相对引用时,可能会遇到这个错误提示:ValueError: Attempted relative import beyond t原创 2022-05-16 16:39:31 · 1545 阅读 · 0 评论 -
python性能测试之pyperformance
是用于测试python性能的一个软件套装。作用是对python不同的版本测试性能,发现Python在实现过程中是否有性能衰减,当然也可以用于测试不同的机器的性能差异。官方的文档位于:Usage — Python Performance Benchmark Suite 1.0.3 documentation大家注意,大多数情况下,我们只需要看官方文档就可以了。因为其他人写的文档肯定没有官方写的好,写的具体,写的全面。我这里只是把大体的情况罗列一下,具体的还是要看官方文档。安装:...转载 2022-05-16 10:28:12 · 1244 阅读 · 0 评论 -
Python中如何更新pip以及解决超时的问题
一、pip使用时主要存在的问题新手使用Python需要安装pip下的组件时,经常会遇到以下两个问题:1、pip版本过低图1-1 提示你pip版本过低2、超时超时问题不仅会导致无法更新pip的版本,而且也不能安装pip下的组件图1-2 提示你超时,资源无法下载二、如何解决这两个问题对于问题1:更新pip版本即可(1)Windos图标+R(2)输入cmd(3)在显示出来的代码后面输入:python -m pip install --upgrade pip即原创 2022-02-18 20:39:20 · 9054 阅读 · 1 评论 -
python的for...in...if...语句
Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。>>> a=[12, 3, 4, 6, 7, 13, 21]>>> newList = [x for x in a]>>> newList[12, 3, 4, 6, 7, 13, 21]>>> newList2 = [x for原创 2022-02-18 18:59:04 · 862 阅读 · 0 评论 -
python二维列表排序
方法一:使用 lambda 关键词辅助对二维列表进行排序,lambda的使用方法参考https://blog.youkuaiyun.com/zjuxsl/article/details/79437563假设有一个学生列表存储了学号,姓名,年龄信息:students = [[3,'Jack',12],[2,'Rose',13],[1,'Tom',10],[5,'Sam',12],[4,'Joy',8]]按学号顺序排序:sorted(students,key=(lambda x:x[0]))[[1, 'T转载 2021-08-16 20:54:43 · 2894 阅读 · 0 评论
分享