您必須知道的十個有用的Python一行程序
儘管自發布以來,Python已經走過了30年的歷史,但它仍然是現存的最相關的高級程式語言之一。許多開發人員會選擇使用這種語言來開發易於維護的應用程序,並且只需要很少的手工操作就可以在許多作業系統和Linux的發行版.
Python最大的好處之一是它能夠繞過(完全是雙關語)其他語言中的許多約定,程式設計師只需付出很少的努力,就可以編寫非常簡單的小「妙語」來完成工作。下面舉幾個例子!
內容
- 1.交換變數
- 2.做一個快速餐巾階乘
- #3.初始化並宣告多個變數
- 4.開啟並閱讀檔案
- 6.建立一個數字範圍清單
- 7.顯示所有使用者(在Linux/Unix/BSD中)
- 8.產生隨機密碼
- 9.尋找文字中任何內容的實例
- 10.將十六進位表達式轉換為明文
- 常見問題
1.交換變數
因為您不必處理像記憶體中的位址這樣繁瑣的事情,所以可以在一行程式碼中完成變數之間的交換:
x, y = y, x
只需使用逗號分隔每個變量,並交換它們!
這是這個概念在一個片段中的樣子:
x = 1 y = 4 x, y = y, x print(x,y)
在控制台中執行該指令應該會輸出「4 1」。
2.做一個快速餐巾階乘
Python的數學工具允許一些非常有創意的程式碼執行複雜的計算。例如,找出一些物體排列方式的最快方法是什麼?做階乘。與reduce()打電話,可以很快想出答案!
reduce(lambda a, b: a * b, range(1, x+1)
這個呼叫將計算您先前在「x」中定義的任何數字的階乘
#不要忘記這一點reduce()是的組成部分Python的函數工具圖書館。程式碼片段如下所示:
from functools import reduce x = 12print(reduce(lambda a, b: a * b, range(1, x+1)))
您的控制台應該從這個特定的計算中輸出479001600。繼續做你想做的“x ”!
3.初始化並聲明多個變數
Python的語法規則允許你做一些非常瘋狂的事情。例如,一次性初始化和聲明盡可能多的變數。這與逐行執行相反。
x, y, z = 16, 78, 195
把這些印出來,你會得到「16 78 195」最棒的是,你甚至不必限制自己在一行中宣告一種類型的變數。將“y”聲明替換為類似“Hi”的字串,就可以了!
4.開啟並閱讀檔案
Python要求您像在許多其他語言中一樣逐行遍歷檔案。即便如此,它也讓您能夠在一行程式碼中實現打開和讀取文件的全部功能:
[line.strip() for line in open('file.txt')]
現在,如果我只想顯示我自己的預設bash配置文件的文本,我會這樣寫:
[print(line.strip()) for line in open('/home/miguel/.bashrc')]
5.寫入檔案
就像讀取檔案一樣,用這種漂亮的語言寫檔案的過程非常簡單。
with open("file.txt",'a',newline='n') as f: f.write("This is a new line in a file")
這隨著語句讓您避免了必須關閉檔案句柄的麻煩。因此,當您的應用程式開啟時,它不會與試圖存取它的其他應用程式發生衝突。
您現在可以使用您學習的用於讀取檔案的一行程式來檢查該行是否已正確新增!
[print(line.strip()) for line in open('file.txt')]
6.建立一個數字範圍列表
與LUA等其他腳本語言的工作方式類似,Python允許您產生預先填充的列表,只要操作導致可預測的結果。在這個程式碼片段中,我們建立了一個10個整數的列表,範圍從0到9:
lst = [i for i in range(0,10)]
列印這個列表將產生一個逗號分隔的數字列表,其中包含我們前面討論過的參數。
7.显示所有用户(在Linux/Unix/BSD中)
想知道在您的特定Linux安装中实际上有多少个用户名吗?Python有一个很好的方法,通过打开“/etc/passwd”文件,在一行中就可以做到这一点。在这种情况下,我们要做的就是从每行的第一个冒号(":")开始删除所有内容。
print('n'.join(line.split(":",1)[0] for line in open("/etc/passwd")))
如果您没有仔细查看该文件,您可能会惊讶地发现,系统创建的用户比您登录时使用的用户和根用户多得多。
用户列表通常有这么长,因为系统会根据您运行的服务创建自己的身份验证形式。
8.生成随机密码
像任何自尊的语言一样,Python允许你随机化事情,但是它不能不更进一步,允许你在一行中生成密码。诚然,这是一个非常漫长的过程..
pwd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 %^*(-_=+)'; print(''.join([pwd[random.randint(0,len(pwd)-1)] for i in range(32)]))
这个特定的代码片段将生成一个32个字符的密码,允许使用空格。根据你的喜好调整。如果您出于某种原因不想在密码中使用空格,请删除字符串声明中的空格。不要忘记导入“随机”库,否则你的代码将无法工作!
9.查找文本中任何内容的实例
如果您正在阅读一个较长的文件,并试图找出其中有多少个特定表达式的实例,这就有点奇怪了:
import re; len(re.findall('d','The dumb lazy cat doesn't know how to hunt birds.'))
在这个特殊的例子中,我们试图找出字母“d”在它后面的字符串中出现了多少次。通过打印输出,控制台让我们知道这封信有3个实例。您可以使用整个单词和在文件中搜索来实现这一点。
10.将十六进制表达式转换为明文
通过一点迭代魔法,可以用一个简单的表达式将十六进制代码转换成纯文本:
print(''.join(chr(int(''.join(i), 16)) for i in zip(*[iter('576f772c2049276d2077726974696e6720696e2068657861646563696d616c21')]*2)))
里面的一大堆胡言乱语iter()是一个十六进制表达式,这段代码将其转换为“哇,我在用十六进制写!”
常见问题
Python相对于其他语言有多难?
虽然Python确实有一些特定于某些编码风格的缺陷,但由于它在可变类型方面的灵活性,Python提供了比其他语言更友好的初学者氛围。它是一种解释型语言,所以它不需要您处理手动分配内存并确保在不再使用时释放内存的繁琐工作。
Python稳定吗?
Python的开发人员强烈反对用新版本使旧代码无效的想法,并且在历史上一直非常小心地确保向后兼容更旧的代码。在2005年,Python社区不得不处理一个棘手的问题reduce()和许多其他功能从标准库中移除并且必须从Python 3000中的另一个导入。一般来说,这些事情都是公开的,如果您的代码停止正常运行,控制台会提供有用的信息,让您找出原因并做出相应的调整。
Python最好的开发环境是什么?
如果您想使用Python的集成开发环境,有几个跨操作系统的选项可供您选择:
- 皮查姆
–如果你真的想献身于Python,就用这个吧。这个IDE只专注于Python,包含大量的工具和库,可以帮助您流畅地编写代码。
- Visual Studio代码
–如果您希望最终扩展并学习其他语言,VSCode(在Linux中有时称为Code–OSS,在Arch Linux中称为“Code”包)提供了强大的功能以及针对各种语言的集成编译器。
- 精力
–它允许在任何终端模拟器中非常快速地编辑复杂的文本。它有很高的学习曲线,但应该是每个程序员的武器库。
以上是您必須知道的十個有用的Python一行程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。
