成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

16 個必知必會的 Python 教程!

開發 前端
Python 是一門用途廣泛的編程語言,它具有大量的庫和框架。有一些鮮為人知的 Python 編碼技巧和庫可以讓你作為開發人員的工作更為輕松,編寫代碼更高效。

介紹

Python 是一門用途廣泛的編程語言,它具有大量的庫和框架。有一些鮮為人知的 Python 編碼技巧和庫可以讓你作為開發人員的工作更為輕松,編寫代碼更高效。

本文中將探討一些鮮為人知的 Python 技巧,這些技巧非常有用,但并不廣為人知。通過學習和使用這些技巧,可以幫你節省時間和精力,并使你的代碼更加優雅和高效。那么,讓我們深入探索 Python 語言的這些隱藏寶藏吧!

1.三元運算符

三元運算符是 if-else 語句的簡寫。語法是value_if_true if condition else value_if_false。三元運算符是一行代碼,可以替代多行 if-else 語句,使你的代碼更加簡潔。

a = 5
b = 10
max = a if a > b else b # value_if_true if condition else 
value_if_false
print(max)
# 10

上面的代碼通過檢查“a”是否大于“b”,如果為真則返回“a”,如果為假則返回“b”。

2.枚舉函數

enumerate()函數向可迭代對象添加一個計數器,并以枚舉對象的形式返回。當你想要遍歷列表并跟蹤索引時,此函數很有用。

fruits = ['apple', 'banana', 'mango']
for index, fruit in enumerate(fruits):
print(index, fruit)
# 0 apple
# 1 banana
#2 mango

3. 壓縮函數

zip()函數聚合來自每個可迭代對象的元素并返回一個元組迭代器。當你想同時遍歷兩個或多個列表時,此函數很有用。

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y)
# 1 a
# 2 b
# 3 c

4. 列表生成式

列表生成式是一種從現有列表或任何可迭代對象創建列表的簡潔方法。這是一種可以替代 for 循環的單行代碼,使你的代碼更加高效,并使代碼的可讀性更強。

squared_numbers = [x**2 for x in range(1, 6)]
print(squared_numbers)
# [1, 4, 9, 16, 25]

5. 匿名函數

Lambda 函數是使用lambda關鍵字定義的匿名函數。當你需要編寫一次性的小函數并且不想使用關鍵字def來定義命名函數時,它們很有用。微信搜索公眾號:架構師指南,回復:架構師 領取資料 。

add = lambda x, y: x + y
result = add(3, 4)
print(result)
# 7

6.any()和all()函數

any()函數和all()函數返回True或False基于 iterable 中元素的真實性。如果 iterable 中的任何元素為真,則函數any()返回True,如果 iterable 中的所有元素都為真,則函數all()返回True。

numbers = [1, 2, 3, 0, 4]
result = any(numbers) # True
result = all(numbers) # False。0使結果為False

7. 迭代模塊

itertools模塊提供了一組函數來處理迭代器。該模塊中的函數包括chain、product和permutations。

import itertools
numbers = [1, 2, 3]
result = list(itertools.permutations(numbers))
# 輸出所有排列組合
# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

8. 生成器

生成器是一種可迭代的類型,它可以即時生成值,而不是將它們存儲在內存中。它是使用yield關鍵字定義的,用于創建自定義迭代器。

# 使用yield關鍵字創建生成器
def fibonacci_series(n):
a, b = 0, 1
for i in range(n):
yield a
a, b = b, a + b
# 輸出迭代器中的值
for number in fibonacci_series(10):
print(number)
# 0
# 1
# 1
# 2
# 3
# 5
# 8
# 13
# 21
# 34

9.裝飾器

裝飾器是一種修改函數或類行為的方法。使用@符號進行定義,可用于向函數添加功能,例如日志記錄、計時或身份驗證。

def log_function(func):
def wrapper(*args, **kwargs):
print(f'Running {func.__name__}')
result = func(*args, **kwargs)
print(f'{func.__name__} returned {result}')
return result
return wrapper
@log_function
def add(x, y):
return x + y
print(add(5,7))
# 運行add函數,返回值為12

10. 使用多個函數參數

在 Python 中,可以使用*和**運算符來處理多個函數參數。*運算符用于將參數列表作為單獨的位置參數進行傳遞,運算符**用于傳遞關鍵字參數的字典。

def print_arguments(*args, **kwargs):
print(args)
print(kwargs)
print_arguments(1, 2, 3, name='John', age=30)
# (1, 2, 3)
# {'name': 'John', 'age': 30}

11. 動態導入

當你想根據用戶輸入或配置導入模塊時,可以使用模塊動態導入模塊importlib。

import importlib
module_name = 'math'
module = importlib.import_module(module_name)
result = module.sqrt(9)

12. 字典生成式

字典生成式是一種從現有字典或任何可迭代對象創建字典的簡潔方法。它是一種可以替代 for 循環的單行代碼,使你的代碼更加高效,代碼可讀性更強。

squared_numbers = {x: x**2 for x in range(1, 6)}
print(squared_numbers)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

13. 可調用對象

在 Python 中,任何可以稱為函數的對象都稱為可調用對象,包括函數、方法、類,甚至是定義__call__方法的對象。

class Adder:
def __call__(self, x, y):
return x + y
adder = Adder()
result = adder(3, 4)
print(result)
#7

14.用下劃線分隔大數字/字符

大數字很難一眼看出來是多大,在 Python 中可以用下劃線來使數字更易讀。

num_test = 100_345_405 # 一個大數字
print(num_test)
# 100345405

15.快速合并兩個字典

可以使用以下代碼在 Python 中快速合并 2兩個字典。

dictionary_one = {a: 1, b: 2}
dictionary_two = {c: 3, d: 4}
merged = {**dictionary_one, **dictionary_two}
print(merged)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}

16. 列表、集合和字典是可變的

可變意味著可以更改或更新對象(列表、集合或字典),而無需更改內存中對象的指針。實際效果可見如下示例。

在下面的示例中,通過添加一個新城市來更新城市列表,可以看到 ID(對象指針)保持不變,集合和字典也是如此。

cities = [Munich, Zurich, London]
print(id(cities)) # 2797174365184
cities.append(Berlin)
print(id(cities)) # 2797174365184
# 集合
my_set = {1, 2, 3}
print(id(my_set)) # 2797172976992
my_set.add(4)
print(id(my_set)) # 2797172976992
# 字典
thisdict = {
brand: Ford,
model: Mustang,
year: 1964
}
print(id(thisdict)) #2797174128256
thisdict[engine] = 2500cc
print(id(thisdict)) #2797174128256
責任編輯:華軒 來源: 今日頭條
相關推薦

2023-04-20 14:31:20

Python開發教程

2020-08-23 18:18:27

Python列表數據結構

2018-10-26 14:10:21

2020-07-10 07:58:14

Linux

2024-11-15 11:11:48

2021-03-03 10:39:11

容器微服務IT

2024-01-03 07:56:50

2022-09-28 08:40:04

殺死一個終端進程

2024-01-23 18:49:38

SQL聚合函數數據分析

2022-05-18 09:01:19

JSONJavaScript

2023-09-20 22:52:12

Kubernetes快捷方式

2017-07-12 15:32:12

大數據大數據技術Python

2019-11-06 10:56:59

Python數據分析TGI

2019-07-05 07:49:19

TCPIP網絡協議

2022-04-15 09:23:29

Kubernetes面試題

2023-12-26 12:10:13

2022-08-19 10:31:32

Kafka大數據

2023-11-08 18:01:53

硬重置Git命令

2023-10-19 21:30:36

架構CQRS模式

2024-01-10 18:01:22

編程技巧Java 12
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特黄毛片| 欧美日韩福利视频 | 亚洲免费在线 | 在线2区 | 午夜影院在线播放 | 天堂一区| 欧美区在线 | 欧美久久影院 | 亚洲成人久久久 | 午夜精| 特黄小视频 | 国产精品久久国产精品久久 | 免费一区二区三区 | 欧美精品一区二区免费 | 成人欧美日韩一区二区三区 | 麻豆一区二区三区精品视频 | 亚洲精品久久嫩草网站秘色 | 成人欧美日韩一区二区三区 | 日韩伦理一区二区 | 国产精品久久久久一区二区 | 国产成人免费视频网站高清观看视频 | 美女黄视频网站 | 99久久国产精 | 欧美一级欧美三级在线观看 | 一级毛片视频 | 成人一区二区三区在线观看 | 中文字幕电影在线观看 | 欧美成人激情 | 色综合久久久 | 欧美 日本 国产 | 一区二区三区四区不卡视频 | 中文字幕三区 | 在线免费观看成年人视频 | 国产精品久久久久av | 亚洲福利精品 | 国产成人精品久久二区二区 | 奇米四色在线观看 | 精品国产一区二区三区久久久蜜月 | 久久久久久久国产 | 国产一区二区不卡 | 日韩免费视频一区二区 |