查看原文
其他

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

杨小爱 快学Python 2023-05-04
原文链接:https://python.plainenglish.io/20-python-code-snippets-for-everyday-programming-problems-339346a6f996
翻译 | 杨小爱    整理 | 快学Python

人生苦短,快学Python!

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

1. 简单的 HTTP Web 服务器

# 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

# 单行循环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]
Output:

3.更新字典

# Update Dictionary
mydict = {1"Python"2"JavaScript"3"Csharp"}
mydict.update({4"Dart"})
print(mydict) # {1'Python'2'JavaScript'3'Csharp'4'Dart'}

4.拆分多行字符串

# Split Multi Lines String
string = "Data \n is encrpted \n by Python"
print(string)

splited = string.split("\n")
print(splited)
Output:

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

# Track Frequency 
import collections
def Track_Frequency(List):
    return dict(collections.Counter(List))
print(Track_Frequency([1010121210131314]))
Output:

6. 不使用 Pandas 读取 CSV 文件

# 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. 将列表压缩成一个字符串

# Squash list of String
mylist = ["I learn""Python""JavaScript""Dart"]
string = " ".join(mylist)
print(string) # I learn Python JavaScript Dart

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

# 获取列表中元素的索引
mylist = [10, 11, 12, 13, 14]
print(mylist.index(10))
print(mylist.index(12))
print(mylist.index(14))
运行结果:

9. Magic of *arg

Magic of *arg
def func(*arg):
    num = 0
    for x in arg:
        num = num + x
    print(num) # 600
func(100, 200, 300)
运行结果:

10. 获取任何数据的类型

# 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.修改打印功能

# 修改打印功能
print("Top Programming Languages are %r, %r and %r" % ('Py''Js''C#'))
# Output
# Top Programming Languages are 'Py', 'Js' and 'C#'

12. 字符串去大写

# 字符串去大写
data1 = "KuaiXue"
data2 = "Python"
data3 = "Kx Python"
print(data1.lower())
print(data2.lower()) 
print(data3.lower())
运行结果:

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

# Quick Way to Exchange Variables
d1 = 25
d2 = 50
d1, d2 = d2, d1
print(d1, d2) # 50 25

14. 分色打印

# Print with Seperation
print("Py""Js""C#", sep="-"# Py-Js-C#
print("100""200""300", sep="x"# 100x200x300

15. 获取网页 HTML 数据

# First Install Request with pip install requests
import requests
r = requests.get("https://www.baidu.com/")
print(r)
运行结果:

16. 获取数据占用的内存

# Get Memory taken by data
import sys
def memory(data):
    return sys.getsizeof(data)
print(memory(100)) # 28
print(memory("Pythonnnnnnn")) # 61

17. 简单的类创建

# 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. 字符串乘法器

# String Multiplier
# Normal way 
for x in range(5):
    print("C#")

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

19.进行链式比较

# Chain Comparison
a = 5
print(1 == a < 2) # False
print(2 < 3 < 6 > a) # True

20. 数字化整数值

# Digitizing
integer = 234553
digitz = [int(i) for i in str(integer)]
print(digitz) # [2, 3, 4, 5, 5, 3]
最后的想法以上就是我今天跟你分享的20个Python的代码片段,希望你能发现这些 Python 代码片段它们的有用之处,并且用起来很有趣,然后,随时与你的程序员朋友分享这篇文章。
感谢你的阅读,人生苦短,快学Python!

推荐阅读


新书上市


《运营之巅:非互联网行业的新媒体运营》

本书是一本非互联网行业的新媒体运营案头书,从公众号到视频号,从抖音到小红书,从公域到私域……凡涉及新媒体运营,你想了解的、掌握的,这里全都有。含认知、思维、技巧、方法、底层逻辑,大量真实实训案例来自“大厂”。拒绝“套路式技巧”,学只学“底层逻辑”,新媒体运营全掌握,承包“鱼塘”钓“大鱼”!


  ▼点击查看作者新书《快学Python》的5折优惠!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存