Python实用宝典
文章平均质量分 83
如此Python,怎能不爱?
╰つ栺尖篴夢ゞ
本人毕业于计算机技术专业,从事iOS高级开发,专注于iOS/MacOS内核/汇编/源码/架构/算法等相关技术的开发学习,同时热爱人工智能、OpenGL/ES、云原生等技术,CSDN博客专家与原力计划作者,华为云云享专家与特约博主,阿里云专家博主,荣获CSDN iOS领域优质创作者、2022年度博客之星移动领域TOP 3、2022年度博客之星TOP 16、AI创想秀邂逅“华为云ModelArts”征文大赛一等奖、CSDN第一届猿创征文优质博文奖,以及多项优秀TOP博文、CSDN开源挑战赛优秀奖等。
展开
-
Python之值得学习练手的22个迷你程序(附代码)
① 前言Python 丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让开发事半功倍。本文分享 22 个通过 Python 构建的项目,以此来学习 Python 编程,这些例子都很简单实用,非常适合初学者用来练习。大家也可尝试根据项目的目的及提示,自己构建解决方法,提高编程水平。② 骰子模拟器目的:创建一个程序来模拟掷骰子。提示:当用户询问时,使用 random 模块生成一个 1 到 6 之间的数字。③ 石头剪刀布游戏目标:创建一个原创 2021-10-04 18:44:11 · 2401 阅读 · 6 评论 -
Python之每个人都应该知道的30个一行代码程序
Python 语法简洁,能够用一行代码实现很多有趣的功能,现在整理 30 个常见的 Python 一行代码集合。① 转置矩阵old_list = [[1, 2, 3], [3, 4, 6], [5, 6, 7]]list(list(x) for x in zip(*old_list))[[1, 3, 5], [2, 4, 6], [3, 6, 7]]② 二进制转十进制decimal = int('1010', 2)print(decimal) #1010③ 字符串大写转小写# 方法一原创 2021-10-04 21:36:27 · 1999 阅读 · 9 评论 -
Python之深入解析Python技能树的测评分析
一、什么是 Python 技能树?① 简介技能树是 CSDN 提供的系统化,面向实战的学习环境,它能帮助用户从初学者成长为合格的 Python 工程师。它系统地整理了关于 Python 领域的知识点,并从海量的 CSDN 数据中不断更新高质量内容。除了传统的阅读学习,技能树为每一个知识点都提供了匹配的练习题,帮助用户随练随学直到精通。如果是初学者:请马上开始学习,最终可以获得 CSDN 的技能认证。如果正在学习 Python:请尝试 CSDN 的练习题,看看自己到底掌握了多少。如果是 Py原创 2021-10-05 05:33:16 · 1386 阅读 · 1 评论 -
Python之超级好用的8个VS Code扩展
① Python extension for Visual Studio Code这个扩展是由微软官方提供的,支持但不仅限于以下功能:通过 Pylint 或 Flake8 支持代码检查;在 VS Code 编辑器中调试代码;IntelliSense 支持自动完成,代码导航和格式化;支持 Jupyter Notebook,Pytest 和 Unittest;在编辑器中轻松切换 Python 环境。② Python Preview这个插件很牛皮,能原创 2021-10-07 05:15:00 · 506 阅读 · 1 评论 -
Python之精心整理的50道入门练手习题 | Python技能树征题
① 已知一个字符串为 “hello_world_yoyo”,如何得到一个队列 [“hello”,”world”,”yoyo”] ?使用 split 函数,分割字符串,并且将数据转换成列表类型:test = 'hello_world_yoyo'print(test.split("_"))结果:['hello', 'world', 'yoyo']② 有个列表 [“hello”, “world”, “yoyo”],如何把列表里面的字符串联起来,得到字符串 “hello_world_yoyo原创 2021-10-08 04:56:27 · 3130 阅读 · 15 评论 -
Python之打造专属Python开发者的完美终端工具Rich
一、前言在业务开发中,可能有遇到我们的项目 App 定位被篡改的情况,在 android 端表现的尤为明显。为了防止这种黑产使用虚拟定位薅羊毛,iOS 也不得不进行虚拟定位的规避。在做技术调研后,发现在苹果手机上,单凭一部手机,真正要实现虚拟定位,是比较难实现的,但还是有存在的可能性,公司的一个项目 App 的 bugly 记录反馈用户存在使用越狱苹果手机,这就着实让人这种行为实在有大嫌。本人和公司伙伴的共同努力下,大致调研了以下使用虚拟定位的情况(使用 Xcode 虚拟定位的方式本文忽略)。二原创 2021-10-09 23:32:29 · 38282 阅读 · 3 评论 -
Python之深入解析一行代码计算每个省面积的神器Geopandas
一、前言GeoPandas 是一个基于 pandas,针对地理数据做了特别支持的第三方模块。它继承 pandas.Series 和 pandas.Dataframe,实现了 GeoSeries 和 GeoDataFrame 类,使得其操纵和分析平面几何对象非常方便。二、准备① Python 安装在 windows 上安装 Python:下载 Python 的最新版本:访问链接 Python 官网,在 Windows 操作系统上安装 Python 3.10.0,大家也可以自行选择最新版原创 2021-10-10 15:15:11 · 694 阅读 · 1 评论 -
Python之深入解析如何制作国际空间站实时跟踪器
一、前言Open Notify 是一个开源项目,旨在为 NASA 的一些出色数据提供简单的编程接口。open-notify.org 的作者做了一些工作,以获取原始数据并将其转换为与太空和航天器有关的 API。现在将通过这个接口,获取得到国际空间站的位置,并实时地绘制到地图上。为了实现该目标,得先安装 ISS_Info:pip install ISS-Info二、地图初始化为了实时展示国际空间站的路径,需要使用 turtle 绘制曲线,因此可以创建一个 turtle 画布,将背景设为地球原创 2021-10-10 15:50:52 · 51561 阅读 · 1 评论 -
Python之深入解析优秀的时间格式转换工具Delorean
一、前言DeLorean 是一个 Python 的第三方模块,基于 pytz 和 dateutil 开发的,用于处理 Python 中日期时间的格式转换。由于时间转换是一个足够微妙的问题,DeLorean 希望为移位、操作和生成日期时间提供一种更干净、更省事的解决方案。比如,实例化字符串形式的时间对象,Delorean 只需要 parse 指定字符串,不需要声明其格式就可以进行转换。至于 Delorean 这个模块名称的由来,Delorean 是电影《回到未来》里的那辆极为炫酷的鸥翼汽车,采用这部电原创 2021-10-10 16:36:38 · 532 阅读 · 1 评论 -
Python之30秒就能学会的漂亮短程序代码
① 二维列表根据给定的长和宽,以及初始值,返回一个二维列表:def initialize_2d_list(w, h, val=None): return [[val for x in range(w)] for y in range(h)]例如:>>> initialize_2d_list(2,2)[[None, None], [None, None]]>>> initialize_2d_list(2,2,0)[[0, 0], [0, 0原创 2021-10-16 14:24:34 · 723 阅读 · 8 评论 -
Python之深入解析如何一键批量生成真实的手机号码及其号码归属地解析
① 目标场景平时在工作过程中,偶尔会需要大量的手机号码,去测试一些具体的业务功能,为了保证测试的有效性,手机号码的真实性尤为的重要。那如何按要求批量生成 一些真实的手机号码呢?本文就带大家利用 Python 批量生成手机号码。② 编写代码生成手机号码要批量生成手机号码,首先需要了解 11 位手机号码的组成规律,即:手机号码一共有 11 位,以 1 开头;第 2 位的数值是 3、4、5、7、8 中的一个;第 3 位根据第 2 位的数字,对应运营商的生成规律;后原创 2021-10-16 15:18:39 · 3192 阅读 · 2 评论 -
Python之将彩色图片批量转化为黑白图片
一、前言最近遇到了一个新的情景,需要将彩色图片转化为黑白图片,如果手动地去转化一张一张图片,那就真的太原始,效率太低。用 Python,只需要几行代码就可以在几秒内转化上千张图片。而且,这个功能的用途相当广泛,不仅能使图片变得深邃,而且还可以简化一些复杂模型的数学计算。二、准备① Python 安装在 windows 上安装 Python:下载 Python 的最新版本:访问链接 Python 官网,在 Windows 操作系统上安装 Python 3.10.0,大家也可以自行选原创 2021-10-16 18:30:21 · 3511 阅读 · 2 评论 -
Python之深入解析如何使用Python Kivy实现一个“乒乓球”游戏
一、前言本文是基于 Kivy 开源跨平台的 Python 框架上创作的,Kivy 开源跨平台的 Python 框架能用于开发多点触控的用户界面程序,允许快速简单的交互设计,非常方便。那么,如何使用 Kivy 编写一款乒乓球游戏呢?我们将从一个基本的应用程序开始,描述创建这个游戏的每个步骤。Kivy 是用 Python 和 Cython 编写的,基于 OpenGL ES 2,支持各种输入设备并拥有丰富的部件库。使用相同的代码,可直接实现多平台应用,包括 Windows、macOS、Linux、Andr原创 2021-10-16 20:25:15 · 2921 阅读 · 2 评论 -
Python之深入解析Box为字典添加高级点符号访问特性
一、前言正常情况下,想访问字典中的某个值,都是通过中括号访问,比如:test_dict = {"test": {"imdb stars": 6.7, "length": 104}}print(test_dict["test"]["imdb stars"])# 104而通过 Box 模块,可以扩展字典功能,使用点符号访问元素:from box import Boxmovie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars":原创 2021-10-20 19:00:45 · 20803 阅读 · 2 评论 -
Python之深入解析Vulture如何一键找出项目中所有无效的代码
一、前言Vulture 可以在Python程序中查找未使用的代码,这对于清理和查找大型项目(代码库)中的错误非常有用。不过由于 Python 的动态特性,像 Vulture 这样的静态代码分析器很可能会遗漏一些无效代码,此外,可能会将仅被隐式调用的代码标记为未使用。尽管如此,Vulture 对于提升代码质量来说可能是一个非常有用的工具:速度快:静态代码分析;靠谱:已测试;兼容强:与 pyflies 相辅相成,具有相同的输出语法;可排序:可以按大小对未使用的类和函数原创 2021-10-20 19:15:05 · 25970 阅读 · 5 评论 -
Python之通过for循环比较Python与Ruby编程思想的差别
Ruby 与 Python 之间的差异在很大程度上可通过 for 循环看出本质。Python 拥有 for 语句,对象告诉 for 如何进行协作,而 for 的循环体会处理对象返回的内容。Ruby 则相反,在 Ruby 中,for 本身(通过 each)是对象的一个方法,调用者将 for 循环体传递给这个方法。在 Python 的语言习惯中,对象模型服从于 for 循环;而在 Ruby 中,for 循环服从于对象模型。也就是说,在 Python 中,如果你想自定义迭代的过程,可以让对象告诉解释器该如何.原创 2022-01-06 20:00:35 · 7391 阅读 · 2 评论 -
Python之字典类型数据常见操作及排序
一、Python 字典Python 的字典 dictionary 是一种灵活的数据结构类型,字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割。Python字典里的键必须独一无二,但值则不必的。字典的值可以取任何数据类型,但必须是不可变的(unhashable),如字符串,元组或数值,用列表是不行的。二、字典的创建字典的创建主要有 2 种方法:直接赋值;根据键赋值。如下所示,分别使用 2 种方法创建了字典 d1 和字典 d2:&原创 2022-01-06 21:36:44 · 1732 阅读 · 4 评论 -
Python之精心整理的二十五个文本提取及NLP相关的处理案例
一、提取 PDF 内容# pip install PyPDF2 安装 PyPDF2import PyPDF2from PyPDF2 import PdfFileReader # Creating a pdf file object.pdf = open("test.pdf", "rb") # Creating pdf reader object.pdf_reader = PyPDF2.PdfFileReader(pdf) # Checking total number of page原创 2022-03-01 14:33:08 · 13501 阅读 · 0 评论 -
Python之分享常用的五款动态数据可视化工具
一、Tableau世界知名的 BI 工具,以超强的可视化能力著称。它已经成为商业BI界的TOP选手,很多大型公司像阿里、谷歌都在使用,能快速搭建数据系统。可以通过设置页面动画,来制作动态可视化图表。官网地址:Tableau。二、Echarts百度旗下基于 JavaScript 的开源 Web 可视化工具,Apache 顶级项目。Echarts 目前有 Python 接口-Pyecharts,可以通过 pip 安装。在网页上看到的各种炫酷的动态图表,Echarts 都能搞定。官网地址:E原创 2022-03-03 20:32:52 · 13905 阅读 · 4 评论 -
Python之调用JS的方式
一、前言日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码。通过调式,然后一层一层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Python 实现。那么,Python 如何调用 JS 呢?有哪些方式呢?以一段简单的 JS 脚本为例,其中定义了一个方法计算两个数的和,将代码写入到文件中:// norm.js// 计算两个数的和function add(num1, num2) { return num1 + num2;原创 2022-04-04 20:50:05 · 12856 阅读 · 0 评论 -
Python之字符串的134个常用操作
一、字符串切片操作test = "Python Programming"print("String: ", test) # First one characterfirst_character = test[:1]print("First Character: ", first_character) # Last one characterlast_character = test[-1:]print("Last Character: ", last_character) # Eve原创 2022-03-28 21:36:36 · 4067 阅读 · 0 评论 -
Python之十大经典排序算法的实现和原理
一、冒泡排序冒泡排序(Bubble Sort)是一种比较简单的排序算法,它重复地走访过要排序的元素,依次比较相邻两个元素,如果它们的顺序错误就把它们调换过来,直到没有元素再需要交换,排序完成。冒泡排序的原理如下所示,数字表示的是数据序列原始的索引号:算法过程:比较相邻的元素,如果前一个比后一个大,就把它们两个对调位置;对排序数组中每一对相邻元素做同样的工作,直到全部完成,此时最后的元素将会是本轮排序中最大的数;对剩下的元素继续重复以上的步骤,直到没有任何一个元素需要比原创 2022-04-05 15:15:48 · 13836 阅读 · 6 评论 -
Python之使用LRU缓存策略进行缓存
一、Python 缓存① 缓存作用缓存是一种优化技术,可以在应用程序中使用它来将最近或经常使用的数据保存在内存中,通过这种方式来访问数据的速度比直接读取磁盘文件的高很多。假设我们搭建了一个新闻聚合网站,类似于 Feedly,其获取不同来源的新闻然后聚合展示。当用户浏览新闻的时候,后台程序会将文章下载然后显示到用户屏幕上。如果不使用缓存技术的话,当用户多次切换浏览相同文章的时候,必须多次下载,效率低下且很不友好。更好的做法就是在获取每篇文章之后,在本地进行内容的存储,比如存储在数据库中;然后,当用户原创 2022-04-06 21:41:28 · 13960 阅读 · 2 评论 -
Python之列表表达式及高阶函数lamda、zip、enumerate、map和filter方法
一、列表表达式[List Comprehension]顾名思义,这个表达式作用是以一个快捷的方法对列表进行操作或运算,返回新的列表。其使用方式为[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]。一个最简单的列表表达式的如下所示:>>> list1 = [1, 2, 3, 4]>>> list2 = [i*i for i in list1]>>> list3 = [i*i for i in li原创 2022-01-07 15:45:10 · 5089 阅读 · 6 评论 -
Python之深入解析Numpy的高级操作和使用
一、数组上的迭代NumPy 包含一个迭代器对象 numpy.nditer,它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元素可使用 Python 的标准 Iterator 接口来访问,如下所示:import numpy as npa = np.arange(0, 60, 5)a = a.reshape(3, 4)print(a)for x in np.nditer(a): print(x)运行结果:[[ 0 5 10 15] [20 25 30 35原创 2022-05-30 19:50:35 · 2220 阅读 · 0 评论