Python 初学者的一个帖子,Mark

Python+Streamlit搭建Instagram账号分析工具 Instagram账号分析是社交媒体运营中的基础技术能力,涉及公开数据抓取、结构化清洗、关键指标计算与可视化呈现。其核心原理在于利用Instagram未公开但稳定的JSON端点(如__a=1参数)获取粉丝数、帖子数、认证状态等字段,规避Graph API的审核门槛与配额限制;再通过Python完成数据标准化、异常容错与行业基准比对,最终借助Streamlit实现零前端开发的交互式报告生成。该方案兼具合规性、轻量化与可解释性,适用于竞品监控、内容自查与教学演示等典型场景,尤其适合无API权限或低预算团队快速落 阅读详情

原文地址  http://blog.jobbole.com/32748/


以下是我近些年收集的一些Python实用技巧和工具,希望能对你有所帮助。

交换变量

1
2
3
4
5
6
7
8
9
x = 6
y = 5
 
x, y = y, x
 
print x
>>> 5
print y
>>> 6

if 语句在行内

1
2
print "Hello" if True else "World"
>>> Hello

连接

下面的最后一种方式在绑定两个不同类型的对象时显得很cool。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
nfc = [ "Packers" , "49ers" ]
afc = [ "Ravens" , "Patriots" ]
print nfc + afc
>>> [ 'Packers' , '49ers' , 'Ravens' , 'Patriots' ]
 
print str ( 1 ) + " world"
>>> 1 world
 
print ` 1 ` + " world"
>>> 1 world
 
print 1 , "world"
>>> 1 world
print nfc, 1
>>> [ 'Packers' , '49ers' ] 1

数字技巧

1
2
3
4
5
6
#除后向下取整
print 5.0 / / 2
>>> 2
# 2的5次方
print 2 * * 5
>> 32

注意浮点数的除法

1
2
3
4
print . 3 / . 1
>>> 2.9999999999999996
print . 3 / / . 1
>>> 2.0

数值比较

这是我见过诸多语言中很少有的如此棒的简便法

1
2
3
4
5
6
7
x = 2
if 3 > x > 1 :
    print x
>>> 2
if 1 < x > 0 :
    print x
>>> 2

同时迭代两个列表

1
2
3
4
5
6
nfc = [ "Packers" , "49ers" ]
afc = [ "Ravens" , "Patriots" ]
for teama, teamb in zip (nfc, afc):
      print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots

带索引的列表迭代

1
2
3
4
5
6
7
teams = [ "Packers" , "49ers" , "Ravens" , "Patriots" ]
for index, team in enumerate (teams):
     print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots

列表推导式

已知一个列表,我们可以刷选出偶数列表方法:

1
2
3
4
5
numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ]
even = []
for number in numbers:
     if number % 2 = = 0 :
         even.append(number)

转变成如下:

1
2
numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ]
even = [number for number in numbers if number % 2 = = 0 ]

是不是很牛呢,哈哈。

字典推导

和列表推导类似,字典可以做同样的工作:

1
2
3
teams = [ "Packers" , "49ers" , "Ravens" , "Patriots" ]
print {key: value for value, key in enumerate (teams)}
>>> { '49ers' : 1 , 'Ravens' : 2 , 'Patriots' : 3 , 'Packers' : 0 }

初始化列表的值

1
2
3
items = [ 0 ] * 3
print items
>>> [ 0 , 0 , 0 ]

列表转换为字符串

1
2
3
teams = [ "Packers" , "49ers" , "Ravens" , "Patriots" ]
print ", " .join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'

从字典中获取元素

我承认try/except代码并不雅致,不过这里有一种简单方法,尝试在字典中查找key,如果没有找到对应的alue将用第二个参数设为其变量值。

1
2
3
4
5
data = { 'user' : 1 , 'name' : 'Max' , 'three' : 4 }
try :
    is_admin = data[ 'admin' ]
except KeyError:
    is_admin = False
1
替换诚这样:
1
2
data = { 'user' : 1 , 'name' : 'Max' , 'three' : 4 }
is_admin = data.get( 'admin' , False )

获取列表的子集

有时,你只需要列表中的部分元素,这里是一些获取列表子集的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
x = [ 1 , 2 , 3 , 4 , 5 , 6 ]
#前3个
print x[: 3 ]
>>> [ 1 , 2 , 3 ]
#中间4个
print x[ 1 : 5 ]
>>> [ 2 , 3 , 4 , 5 ]
#最后3个
print x[ 3 :]
>>> [ 4 , 5 , 6 ]
#奇数项
print x[:: 2 ]
>>> [ 1 , 3 , 5 ]
#偶数项
print x[ 1 :: 2 ]
>>> [ 2 , 4 , 6 ]

60个字符解决FizzBuzz

前段时间Jeff Atwood 推广了一个简单的编程练习叫FizzBuzz,问题引用如下:

写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。

这里就是一个简短的,有意思的方法解决这个问题:

1
for x in range ( 101 ): print "fizz" [x % 3 * 4 ::] + "buzz" [x % 5 * 4 ::] or x

集合

除了python内置的数据类型外,在collection模块同样还包括一些特别的用例,在有些场合Counter非常实用。如果你参加过在这一年的Facebook HackerCup,你甚至也能找到他的实用之处。

1
2
3
from collections import Counter
print Counter( "hello" )
>>> Counter({ 'l' : 2 , 'h' : 1 , 'e' : 1 , 'o' : 1 })

 迭代工具

和collections库一样,还有一个库叫itertools,对某些问题真能高效地解决。其中一个用例是查找所有组合,他能告诉你在一个组中元素的所有不能的组合方式

1
2
3
4
5
6
7
8
9
10
from itertools import combinations
teams = [ "Packers" , "49ers" , "Ravens" , "Patriots" ]
for game in combinations(teams, 2 ):
     print game
>>> ( 'Packers' , '49ers' )
>>> ( 'Packers' , 'Ravens' )
>>> ( 'Packers' , 'Patriots' )
>>> ( '49ers' , 'Ravens' )
>>> ( '49ers' , 'Patriots' )
>>> ( 'Ravens' , 'Patriots' )

False == True

比起实用技术来说这是一个很有趣的事,在python中,True和False是全局变量,因此:

1
2
3
4
5
6
False = True
if False :
    print "Hello"
else :
    print "World"
>>> Hello

如果你还有任何很酷的奇技淫巧,可以在下面留言,感谢阅读


【PythonDjango后台实例 第一章】Python3.6.1+Pyserial 实现读取STM32蓝牙串口 在Baidu,Google寻找了一大堆帖子,最后索性自己看文档自己研究。 最后发现实现非常容易,得益于Python强大的串口库Pyserial可以直接调用串口 第一步:下载pyserial 本人是windows环境,所以其他环境请自行切换 1,windows按 + R 打开搜索 2,输入CMD进入终端 3. 输入pip install pyserial 下载最新版 第 阅读详情

相关推荐

【AGENT开发】python学习 Python Level 5

本文摘要: 20小时编程训练聚焦Level5晋级核心内容,通过7项关键技术(Git、pytest、requests、Flask、环境变量、项目结构、Docker)掌握80%工程化能力。课程采用"概念学习+动手练习+复盘"的3段式教学,每节2小时覆盖版本控制、API开发、测试驱动开发等实战技能。最终结业项目要求开发Docker化天气查询应用,包含API设计、测试编写、配置管理等完整开发生命周期。课程强调工程实践,提供错误速查表和10项晋级自检标准,帮助学员从"能写代码"

qq_27246521的博客 104

快收藏!!整理了100个Python小技巧!!

大家好,我是小F~目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手。你可以用它来完成很多任务,比如数据科学、机器学习、W...

法纳斯特 2361

Python之路V2.0.pdf

告别枯燥,60秒学会⼀个⼩例⼦,系统学习Python,从⼊门到⼤师。Python之路已有 247 个例⼦: 感受Python之美 | ⼀、Python基础 |⼆、Python字符串和正则|三、Python⽂件和⽇期|四、Python 三⼤利器|五、Python绘图|六、Python之坑|七、Python第三⽅包|⼋、机器学习和深度学必知算法| 九、Python实战|⼗、Pandas数据分析案例实战

Python 的一些日常高频写法总结,建议收藏!

来 源:数据STUDIO今天给大家准备了60个python日常高频写法,如果觉得有用,那就点赞收藏起来吧~数字1、求绝对值绝对值或复数的模In [1]: abs(-6) Out[1]: 62、进制转化十进制转换为二进制:In [2]: bin(10) Out[2]: '0b1010'十进制转换为八进制:In [3]: oct(9) Out[3]: '0o11'十进制转换为十六进制:In [4]:...

lsxxx2011的专栏 288

Python中字符串的常见操作技巧总结

主要介绍了Python中字符串的常见操作技巧,结合实例形式总结分析了Python针对字符串的反转、编码转换、进制转换及运算等常用技巧,需要的朋友可以参考下

训练AI:从数据收集到模型部署的完整指南

如果你刚开始接触AI,建议先学习一些基础的编程和机器学习知识,还可以使用现成的AI平台和工具来帮助你训练AI模型。在这篇文章中,我们将详细探讨从数据收集到模型部署的完整步骤,并提供一些有用的技巧和工具,以帮助你成功地训练自己的AI模型。在收集数据时,你需要从可靠的数据源(如数据仓库、数据集市、API接口)获取数据,确保数据的准确性和完整性。常用的划分比例是70%的数据集用于训练模型、15%的数据集用于验证模型,5%的数据集用于超参数调整,最后10%的数据集用于测试模型的性能。测试数据集用于测试模型的性能。

a_wsnd的博客 4166

总结 90 条写 Python 程序的建议!

作者丨笑虎 来源丨http://zhuanlan.zhihu.com/p/32817459 自己写 Python 也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量。都有去...

lsxxx2011的专栏 184

关于HC32F460 输出可调占空比PWM波遇到的问题记录

文章目录问题记录一、问题分析二、解决方法总结 问题记录 芯片:HC32F460系列 功能:PWM电机调速 最近产品开发,需要用到HC32的PWM输出来控制电机的转速。参考官方的例程很快就完成了相关的功能,但是,后面在测试,重复开关电机的时候,发现电机的转速时大时小。 一、问题分析 一开始,怀疑是相关寄存器的设置出错导致的问题。因此在设置PWM输出时加上LOG打印,上机测试并没有发现问题。 用示波器抓取波形,这是正常状态下的波形(上电默认配置成5kHz,70%占空比输出) 这是转速较小时的波形输出 .

Top0_0lll的博客 6165

新手学习Python需要知道的100个小技巧,加班一晚上终于整理出来了!

新手学习Python需要知道的100个小技巧,加班一晚上终于整理出来了!

分享Python知识 664

STM32开发者必看:如何在正点原子探索者开发板上快速移植CANopenNode协议栈

本文为STM32开发者提供了在正点原子探索者开发板上快速移植CANopenNode协议栈的实战指南。文章详细介绍了从环境准备、硬件抽象层适配到协议栈初始化与测试的全过程,并分享了PDO配置与性能优化等关键技巧,帮助开发者高效实现CANopen标准化通信。

weixin_29173777的博客 464

EfficientNet中的MBConv模块详解:为什么它能如此高效?

本文深度解析了EfficientNet中的MBConv模块,详细介绍了其核心设计理念、效率优化技术和复合缩放理论。MBConv通过深度可分离卷积、倒残差结构和注意力机制三大关键技术,实现了计算效率与模型性能的平衡,成为高效网络结构设计的典范。

tcp8optimizer的博客 353

python的列表表达式_Python表达式进阶——列表表达式

x = 0y = x*2 if x >= 0 else xprint(y)# [表达式for变量in列表]l1 = []l2 = [i for i in range(100) if i % 2 == 0]print(l2)a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]b = [x**3 for x in a if x % 2 == 0 and x > 5]pri...

weixin_39636608的博客 563

Excel数据透视表实战:分组折线图制作与动态分析指南

数据可视化是数据分析的关键环节,其核心原理在于将抽象数据转化为直观图形,以揭示趋势、对比差异。在众多图表类型中,折线图因其能清晰展示连续数据随时间或其他序列的变化趋势,而成为趋势分析的利器。其技术价值在于通过视觉编码,将多维数据关系降维呈现,从而辅助决策。在业务分析、运营监控等应用场景中,常需对比不同分组(如产品线、销售区域)在同一时间序列上的表现,这正是分组折线图要解决的核心问题。本文聚焦于利用Excel数据透视表这一强大工具,高效构建动态分组折线图,并深入探讨数据透视表在数据重塑和图表自动化中的实战应用

weixin_29057237的博客 381

Mark

学习方向 1、web page script languages 就是网页代码,比如Html、javascript、Css、Asp、Php、Xml都应该属于此类(照蔡的意思,Html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得Html也应该算的,大家爱听谁的就听谁的好了,这个不重要) 2、Interpreted Languages(解释型语言) 包括Perl、Pytho...

FanFeiFei199024的博客 177

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

weixin_42412049的博客 1530

两万字硬核指南!Python爬虫requests库从入门到精通:新手也能搞定所有爬取场景(附实战案例+避坑大全)

请求头是客户端发送给服务器的额外信息,比如User-Agent(浏览器类型)、Referer(来源页面)、Cookie(登录凭证)、(编码方式)等。Cookie是服务器存储在客户端的小型文本文件,包含用户的登录凭证、偏好设置等信息。浏览器会在每次请求时自动携带Cookie,服务器通过Cookie识别用户身份。代理IP是一个中间服务器,你的请求先发送到代理IP,再由代理IP发送到目标网站,目标网站只能看到代理IP的地址,看不到你的真实IP。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1496

终极实战指南:Python Facebook Scraper高效数据采集解决方案

在当今社交媒体数据驱动的决策时代,获取Facebook公开页面数据已成为市场研究、舆情分析和竞争情报收集的重要环节。Facebook Scraper作为一款无需API密钥的Python数据采集工具,为开发者提供了高效便捷的Facebook数据采集解决方案。这款开源库通过智能解析Facebook页面结构,让用户能够轻松获取公开页面、群组和个人资料信息,为数据分析和商业洞察提供强有力的支持。 ##

gitblog_01105的博客 354

OpenClaw实战四|内容创作全流程AI助理:自动撰稿+智能剪辑+多平台发布,一人顶一个内容团队

AI替代的是「写稿、剪辑、发布」这种流水线工作,真正让你解放出来,去做选题、创意、人设、变现这些高价值的事。OpenClaw这套内容创作全流程AI助理,最大的价值不是「帮你发内容」,而是让一个人,拥有一个内容团队的产能。不管是个人博主、小团队,还是企业新媒体,都能用零代码的方式,快速搭建属于自己的自动化内容矩阵。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 589

Python开发者AI增效7法:聚焦调试、文档、测试等真实开发切口

Python开发者日常面临大量重复性认知劳动——如报错定位、文档补全、测试编写、脚手架搭建等,这些任务不构成完整项目,却严重拖慢开发节奏。其本质是多层抽象间频繁切换导致的认知超载,而大语言模型的价值恰在于承接确定性子任务,实现‘认知卸载’。依托Python生态的强约定(如PEP8、Django结构、pytest规范),AI可稳定生成符合工程标准的代码片段、类型注解与单元测试;结合精准提示词设计(版本约束、标准库限定、错误堆栈输入),能显著提升输出可靠性。本文详解7类已在生产环境验证的轻量级用法,覆盖从调试辅

weixin_30367873的博客 558

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度 CSGO段位机制

晚上没事打csgo,被外挂打自闭,然后就研究了一下csgo的升级机制 看到csdn上有好多帖子,找到了个py代码实现 特此转载,侵删!! 在年度影片《社交网络》中,影片开场,马克扎克伯克和他的女朋友在酒馆里因为琐事分手,气急败坏的他回到了宿舍,在舍友的鼓励和帮助下,充分发挥了作为技术天才的动手能力,做出了Facemash网站,对大学女生的相貌进行分级打分,结果网站访问流量过大,直接把大学网络都搞宕...

Loss 2073

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python自动化测试开发实战:从零基础到精通,掌握Selenium、pytest与接口测试

自动化测试是现代软件工程中提升效率、保障质量的核心实践,它通过脚本模拟用户操作或系统交互,将重复、耗时的测试任务交由机器执行。其原理在于利用编程语言和测试框架,驱动被测应用并验证其行为是否符合预期,从而实现快速反馈和持续验证。这项技术的核心价值在于显著提升回归测试效率、保证测试执行的一致性,并成为持续集成/持续部署(CI/CD)流程中不可或缺的一环,广泛应用于Web应用、移动端及后端服务的质量保障。对于希望构建可靠测试体系的工程师而言,掌握如Selenium这样的UI自动化工具和pytest测试框架是基础。

weixin_30388677的博客 282

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python Web安全实战:从漏洞原理到Flask/Django纵深防御

Web安全是软件工程中保障数据与系统完整性的核心领域,其核心原理在于对用户输入进行严格验证与过滤,防止恶意数据被解释为可执行代码或指令。从技术价值看,有效的安全防护能避免数据泄露、服务中断及财产损失,是系统可信赖的基石。在应用场景上,任何涉及用户交互、数据处理的Web应用、API服务及自动化脚本都面临安全风险。本文聚焦Python技术栈,深入剖析SQL注入、XSS跨站脚本、CSRF等常见漏洞在Python环境中的具体表现与危害,并以Flask和Django框架为例,详解如何通过参数化查询、模板自动转义、CS

weixin_30566111的博客 582

Python自动化信息聚合:从零搭建RSS替代方案与日推系统

信息聚合与自动化推送是提升信息获取效率的核心技术。其原理是通过网络爬虫或API接口,定时抓取多源结构化数据,并基于规则进行过滤、去重与格式化。在技术价值上,它解决了人工追踪信息源的重复劳动问题,实现了信息的主动、精准送达。典型应用场景包括技术博客更新监控、行业动态追踪、竞品信息收集以及个人知识库的自动化构建。本文以Python技术栈为例,详细拆解了如何利用requests、BeautifulSoup和APScheduler等成熟组件,快速搭建一个支持多源抓取、内容去重和邮件推送的轻量级日推系统,并探讨了向企

weixin_34189116的博客 368

python3.5 pip install markdown 时发生 "ValueError:the shebang (b'#!c:...)is not decode from utf8"

如上图。在网上找了好久,浏览了好多帖子,均得不到想要的结果。。都说文字编码引发的错误会把人逼疯,确实如此啊。 正当我快要放弃的时候,突然想我何不利用错误信息,自己尝试一下嘛。没想到这一下很快就解决了。下面是解决方法

青霖的博客 1219

Python自动化测试:从工具学习到工程化实战的完整路径

自动化测试是将重复、易错的手工验证转化为可重复执行、结果稳定的代码或脚本,其核心价值在于提升测试效率和反馈速度。其实现原理是通过编程语言驱动测试执行,模拟用户操作或直接调用服务接口,并自动进行结果断言与报告生成。在技术层面,Python凭借其简洁语法、丰富的测试生态库(如Selenium、Pytest、Requests)和强大的“胶水”特性,成为构建自动化测试解决方案的首选语言。掌握如何将这些工具组织成可维护、可扩展的工程化框架,是发挥其技术价值的关键。典型的应用场景包括Web UI自动化、接口测试、以及集

weixin_30607029的博客 464

Postroom:用二维可视化与AI摘要重构HN评论阅读体验

在信息过载的社区讨论中,如何快速把握讨论结构成为阅读痛点。传统树形评论虽能清晰表达层级关系,却难以在大量评论中形成整体认知。利用二维空间布局技术,将评论节点映射为平面坐标,结合节点大小与空间距离编码回复关系,能够显著提升用户对讨论结构的感知。同时,基于LLM的AI摘要能力可自动归纳主要议题与争议焦点,帮助读者在深入阅读前建立预期。这种“空间可视化+智能摘要”的组合,正被应用于Hacker News等开发者社区的线程阅读工具中。Postroom项目以阶梯教室为隐喻,把HN评论转化为二维座位图,并叠加AI生成的

weixin_34409357的博客 356
上一篇: windows 链接mysql
下一篇: 计算机视觉资源网址
有种寒冷叫忘穿秋裤
博客等级 码龄18年 52粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值