前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >20 个 解决日常编程问题的 Python 代码片段

20 个 解决日常编程问题的 Python 代码片段

作者头像
快学Python
发布于 2023-02-10 08:21:16
发布于 2023-02-10 08:21:16
55500
代码可运行
举报
文章被收录于专栏:快学Python快学Python
运行总次数:0
代码可运行

英文 | https://python.plainenglish.io/20-python-code-snippets-for-everyday-programming-problems-339346a6f996

翻译 | 杨小爱

人生苦短,快学Python!

使用这些有用的 Python 代码片段提升你的编程技能,在本文中,我将分享 20 个 Python 代码片段,以帮助你应对日常编程挑战,你可能已经知道其中一些片段,但其他片段对你来说,有可能是新的。我们现在开始吧。

1. 简单的 HTTP Web 服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Simple HTTP SERVER
import socketserver
import http.server
PORT = 8000
handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), handler) as http:
    print("Server Launch at Localhost: " + str(PORT))
    http.serve_forever()
# Type in http://127.0.0.1:8000/ in your webbrowser

2.单行循环List

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# One Liner Loop throught List
mylist = [10, 11, 12, 13, 14]
print([i * 2 for i in mylist]) # [20, 22, 24, 26, 28]
print([i * 5 for i in mylist]) # [50, 55, 60, 65, 70]

3.更新字典

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Update Dictionary
mydict = {1: "Python", 2: "JavaScript", 3: "Csharp"}
mydict.update({4: "Dart"})
print(mydict) # {1: 'Python', 2: 'JavaScript', 3: 'Csharp', 4: 'Dart'}

4.拆分多行字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Split Multi Lines String
string = "Data \n is encrpted \n by Python"
print(string)
# Output
# Data
# is encrpted
# by Python
splited = string.split("\n")
print(splited) # ['Data ', ' is encrpted ', ' by Python']

5. 跟踪列表中元素的频率

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Track Frequency 
import collections
def Track_Frequency(List):
    return dict(collections.Counter(List))
print(Track_Frequency([10, 10, 12, 12, 10, 13, 13, 14]))
# Output
# {10: 3, 12: 2, 13: 2, 14: 1}

6. 不使用 Pandas 读取 CSV 文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Simple Class Creation
import csv
with open("Test.csv", "r") as file:
    read = csv.reader(f)
    for r in read:
        print(row)
# Output
# ['Sr', 'Name', 'Profession']
# ['1', 'Haider Imtiaz', 'Back End Developer']
# ['2', 'Tadashi Wong', 'Software Engineer']

7. 将列表压缩成一个字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Squash list of String
mylist = ["I learn", "Python", "JavaScript", "Dart"]
string = " ".join(mylist)
print(string) # I learn Python JavaScript Dart

8. 获取列表中元素的索引

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取列表中元素的索引
mylist = [10, 11, 12, 13, 14]
print(mylist.index(10))
print(mylist.index(12))
print(mylist.index(14))

运行结果:

9. Magic of *arg

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Magic of *arg
def func(*arg):
    num = 0
    for x in arg:
        num = num + x
    print(num) # 600
func(100, 200, 300)

运行结果:

10. 获取任何数据的类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Get Type of Any Data
data1 = 123
data2 = "Py"
data3 = 123.443
data4 = True
data5 = [1, 2]
print(type(data1)) # <class 'int'>
print(type(data2)) # <class 'str'>
print(type(data3)) # <class 'float'>
print(type(data4)) # <class 'bool'>
print(type(data5)) # <class 'list'>

11.修改打印功能

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 修改打印功能
print("Top Programming Languages are %r, %r and %r" % ('Py', 'Js', 'C#'))
# Output
# Top Programming Languages are 'Py', 'Js' and 'C#'

12. 字符串去大写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 字符串去大写
data1 = "KuaiXue"
data2 = "Python"
data3 = "Kx Python"
print(data1.lower())
print(data2.lower()) 
print(data3.lower())

运行结果:

image-20221208220057915

13. 更快捷的变量交换方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Quick Way to Exchange Variables
d1 = 25
d2 = 50
d1, d2 = d2, d1
print(d1, d2) # 50 25

14. 分色打印

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Print with Seperation
print("Py", "Js", "C#", sep="-") # Py-Js-C#
print("100", "200", "300", sep="x") # 100x200x300

15. 获取网页 HTML 数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# First Install Request with pip install requests
import requests
r = requests.get("https://www.baidu.com/")
print(r)

运行结果:

image-20221208215917810

16. 获取数据占用的内存

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Get Memory taken by data
import sys
def memory(data):
    return sys.getsizeof(data)
print(memory(100)) # 28
print(memory("Pythonnnnnnn")) # 61

17. 简单的类创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Simple Class Creation
class Employee:
    def __init__(self, empID):
        self.empID = empID
        self.name = "Haider"
        self.salary = 50000

    def getEmpData(self):
        return self.name, self.salary
emp = Employee(189345)
print(emp.getEmpData()) # ('Haider', 50000)

18. 字符串乘法器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# String Multiplier
# Normal way 
for x in range(5):
    print("C#")

# Good way
print("C# "*5) # C# C# C# C# C#

19.进行链式比较

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Chain Comparison
a = 5
print(1 == a < 2) # False
print(2 < 3 < 6 > a) # True

20. 数字化整数值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Digitizing
integer = 234553
digitz = [int(i) for i in str(integer)]
print(digitz) # [2, 3, 4, 5, 5, 3]

最后的想法以上就是我今天跟你分享的20个Python的代码片段,希望你能发现这些 Python 代码片段它们的有用之处,并且用起来很有趣,然后,随时与你的程序员朋友分享这篇文章。

感谢你的阅读,人生苦短,快学Python!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 快学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
vue前端怎么导出图片_VUE中将页面导出为图片或者PDF
1.将页面html转换成图片 npm install html2canvas –save
全栈程序员站长
2022/09/01
2.8K0
html2canvas - 项目中遇到的那些坑点汇总
因为css里的只是展示画布显示的大小,不像这样是canvas真正的内里图画分辨率的大小。
xing.org1^
2020/06/29
4.7K0
带你领略 html2canvas
如果你希望排除某些元素被渲染,你可以添加data-html2canvas-ignore属性到这些元素,html2canvas将从渲染中排除它们。
公众号---人生代码
2020/11/19
1.8K0
带你领略 html2canvas
# 浏览器截图方案分析
html2canvasopen in new window 用的比较广泛的前端截图方案,先将 DOM 一个个 转为 Canvas 然后导出图片(使用 canvas 自带的 toDataUrl、toBobl)即可。使用起来应该是兼容性比较好的方案了,能解决大部分的需求,但是也有一写小问题,如:
九旬
2023/10/19
5210
Web动态图片合成与分享——html2canvas方案实践
在web侧运营活动中,分享传播是重要的一环。普通的h5链接/结构化消息分享已经不能满足产品越来越大的脑洞。在很多场景下,我们需要将个性化内容(如帐号信息,头像,用户输入等)固化为一张完整的图片,一秒分享到朋友圈&AIO&群,藉此提高传播效率。
WendyGrandOrder
2018/10/19
8.5K2
Web动态图片合成与分享——html2canvas方案实践
【前端探索】移动端H5生成截图海报的探索
移动端H5生成图片海报分享,是比较常见的交互方式。生成的海报中,往往会有用户的个性化信息,比如头像、昵称等等。
luciozhang
2023/04/22
8080
vue中使用html2canvas及解决html2canvas截屏图片模糊问题
html2canvas  官方网站http://html2canvas.hertzen.com/index.html
lin_zone
2018/08/15
7.9K0
get两个js小技能——JS截取视频第一帧&图片转Base64
背景 由于开发之前做的VisualDrag拖拽模板优化的时候,拖拽进去的图片、视频文件等需要进行截图作为封面,目前采用的截图方法是htme2canvas,使用canvas进行的截图操作,所以就会遇到这样的问题,视频和图片图床简单的使用标签加入canvas画布里面无法正确的截图成功。最后采取的措施就是将图片转为base64画入canvas,将视频截取第一帧图片,然后画进canvas,最后进行截图,最后经过折腾,这个方法好像成功了,写这篇博客进行记录下。 JS截取视频第一帧 截取视频的第一帧作为视频的封面
不愿意做鱼的小鲸鱼
2023/03/23
7.1K0
get两个js小技能——JS截取视频第一帧&图片转Base64
浅谈两种前端截图方式:Canvas截图 vs SVG截图
如今很多网站都引入截图功能,可用于问题反馈、内容分享等实用需求,而前端截图也不知不觉成为了首选。今天为大家推荐两种前端截图方式,虽然有些局限,但是也能应付大部分项目需求。
JowayYoung
2020/04/01
14.2K2
html2canvas - 解决办法之图片跨域导致的截图空白
1. 后端支持:图片要是cdn上的地址,并且允许图片跨域,header头中设置应为   Access-Control-Allow-Origin:  * 2. 前端配置 1 var opts = { 2 scale: scale, // 添加的scale 参数 3 canvas: canvas, //自定义 canvas 4 logging: false, //日志开关,便于查看html2canvas的内部执行流程 5 w
xing.org1^
2018/05/17
2.9K0
使用 html2canvas 生成分享图片,CDN图片不展示问题
生成分享图片,包含后端返回的图文,图片是 cdn 资源。开始尝试使用 html2canvas 时,使用的是本地图片,生成截图无问题。
用户10106350
2022/10/28
2.1K0
Vue 一键导出 PDF
生成 PDF 基本思路大多一致,先用 html2canvas 将 DOM 元素转换为 canvas,再利用 canvas 的 toDataURL 方法输出为图片,最后使用 jsPDF 添加图片生成 PDF 实现一键下载。
数媒派
2022/12/01
1.9K0
uniapp页面截长图,并非手机自带截图
手机截图只能获取当前页面可视区域的内容,如果我想将整个页面包括溢出屏幕的保存为图片。
英曼畅学
2023/04/18
2.5K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
E:\MyProjects\TMP\frontend>npm install html2canvas
授客
2020/04/30
5K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
【Web技术】929- 前端海报生成的不同方案和优劣
首页测试demo:https://html2canvas.hertzen.com/
pingan8787
2021/04/26
1.6K0
【Web技术】929- 前端海报生成的不同方案和优劣
前端生成pdf,jspdf+html2Canvas的使用(vue)
2、安装html2Canvas: npm install --save html2canvas
前端小tips
2021/11/27
7.9K0
前端生成pdf,jspdf+html2Canvas的使用(vue)
微信刷屏的「给我一面国旗」如果要做到,技术原理是什么?
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
养码场
2019/09/26
7560
微信刷屏的「给我一面国旗」如果要做到,技术原理是什么?
【架构师(第五十二篇)】 几个前端工具的基本使用
设备像素也被称为物理像素,是显示设备中一个最微小的物理部件,在同一设备中,物理像素的总数是固定的。
一尾流莺
2022/12/10
4170
为博客页面添加海报分享功能
以前浏览别的博主网站的时候总会在文章页末看到或多或少一些分享功能,比较常见的都是些社交平台的按钮,当时想的是功能虽好可有多少人会去用啊?心想嘛就是个摆设还不如不要占位置233
2Broear
2024/03/12
2130
【Web技术】1528- 来自大厂前端页面截图方案
将网页保存为图片(以下简称为快照),是用户记录和分享页面信息的有效手段,在各种兴趣测试和营销推广等形式的活动页面中尤为常见。
pingan8787
2023/02/13
3.2K0
【Web技术】1528- 来自大厂前端页面截图方案
推荐阅读
相关推荐
vue前端怎么导出图片_VUE中将页面导出为图片或者PDF
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 1. 简单的 HTTP Web 服务器
  • 2.单行循环List
  • 3.更新字典
  • 4.拆分多行字符串
  • 5. 跟踪列表中元素的频率
  • 6. 不使用 Pandas 读取 CSV 文件
  • 7. 将列表压缩成一个字符串
  • 8. 获取列表中元素的索引
  • 9. Magic of *arg
  • 10. 获取任何数据的类型
  • 11.修改打印功能
  • 12. 字符串去大写
  • 13. 更快捷的变量交换方式
  • 14. 分色打印
  • 15. 获取网页 HTML 数据
  • 16. 获取数据占用的内存
  • 17. 简单的类创建
  • 18. 字符串乘法器
  • 19.进行链式比较
  • 20. 数字化整数值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档