python和shell的區別

shell是操作系統外殼,python不是,這是根本區別

❷ Linux下編寫腳本Shell和Python的區別

其實這個的話 區別還是有的 就是比較難去說清楚了 但是可以自己去實驗一下 然後就會比較好的理解到他們是什麼區別了啊

❸ Linux下編寫腳本Shell和Python的區別

題主問的是調用命令,那當然是 POSIX 系 Shell 不羅嗦。如果你要個調用命令還算可以並且寫起來舒服點的語言,建議找 Ruby 去。


外偏題去說 Shell 不是系統級編程語言的我也是醉了,我還真沒看到過沒有 Shell 能幹活的 Unix/Linux 傢伙的,就連你個
sysVinit 也得靠 shell 啊。並且你還觸碰到了 Unix 狂魔的 G 點——Shell 用戶萬能的膠水能力被丟到哪裡去了?隨便起一個
Python Shell 抓住 stdin 灌或者 /tmp 丟個文件喂,你能乾的我全都能幹(這是認真的,參見 makeself 等自解壓
shell 腳本形式)。

講 Google Style Guide 的算是靠了點譜(雖然還是丟下了調用命令這回事),問題是 Google 還不許用 C++ STL 呢你怎麼不說?Bash 這玩意,認真寫的人文件頭都 source 一組小庫的。

嗯上面三段講的是調用命令這個需求、最小依賴這個優點和語言本身不常被嚴肅使用(放著功能禁止用)這回事。

接下來的內容嚴重不友善,涉及大量打岔,請題主手動忽略。大概大家都看得出我和生意人在微博上有些觀點上的矛盾,我也承認匿名這樣黑不大好。但是這和用 Shell 開命令搞管道膠水一樣爽啊,我怎麼會放棄?

稍有常識的人都能看出,LibreWindows 冒泡排序的 shell 腳本完全不是用和 py 同一種風格寫出來的。我在這里做了較為忠實的翻譯:
#!/bin/bash
orig=(12 5 13 8 9 65)

# paramaters[] -> list[]
bubble(){
list=("$@")
local size=$((${#list[@]}-1)) i sorted=0 t
until ((sorted)); do
sorted=1
for ((i=0;i<size;i++)); do
if ((list[i] > list[i+1])); then
sorted=0;
t="${list[i]}" list[i]="${list[i+1]}" list[i+1]="$t"
fi
done
done
}

bubble "${orig[@]}"
echo ${list[@]}
: << _NOTES
Real unix-shelly way:
sorted=$(for i in ${orig[@]}; do echo $i; done | sort -g)
sorted=$($sorted)
echo ${sorted[@]}
_NOTES

Bash 的完整版本可以使用 declare -n 創建引用類型的變數,但是 Cygwin 上的 bash 沒編譯進去我也就先不用吧。


請閣下注意一點,數組本非古老的 Shell 所支持的,She-bang 不應調用 /bin/sh 而應使用 /bin/bash 執行。Bash
帶著鐐銬做這種拓展還要拿來說就算了,還強行醜化代碼不開高亮接著便是叫人「感受一下」,大概也是先生您在微博上常用的套路了。另外我承認論現代編程
Shell 不如 Python,也承認 WoSign/CNNIC 驗證就是比資本主義快。

啊我忘了一點,這個問題本來就是討論調用命令的,你跟我扯一般計算幹啥?
不要問我是誰,我只是個買辣條的。

❹ bash和python的區別有哪些

Bash 和 Python 是大多數自動化工程師最喜歡的編程語言。它們都各有優缺點,有時很難選擇應該使用哪一個。所以,最誠實的答案是:這取決於任務、范圍、背景和任務的復雜性。

讓我們來比較一下這兩種語言,以便更好地理解它們各自的優點。

Bash

·是一種 Linux/Unix shell 命令語言;

·非常適合編寫使用命令行界面(CLI)實用程序的 shell 腳本,利用一個命令的輸出傳遞給另一個命令(管道),以及執行簡單的任務(可以多達 100 行代碼);

·可以按原樣使用命令行命令和實用程序;

·啟動時間比 Python 快,但執行時性能差;

·Windows 中默認沒有安裝。你的腳本可能不會兼容多個操作系統,但是 Bash 是大多數 Linux/Unix 系統的默認 shell;

·與其它 shell (如 csh、zsh、fish) 不 完全兼容;

·通過管道(|)傳遞 CLI 實用程序如 sed、awk、grep 等會降低其性能;

·缺少很多函數、對象、數據結構和多線程支持,這限制了它在復雜腳本或編程中的使用;

·缺少良好的調試工具和實用程序。

Python

·是一種面對對象編程語言(OOP),因此它比 Bash 更加通用;

·幾乎可以用於任何任務;

·適用於大多數操作系統,默認情況下它在大多數 Unix/Linux 系統中都有安裝;

·與偽代碼非常相似;

·具有簡單、清晰、易於學習和閱讀的語法;

·擁有大量的庫、文檔以及一個活躍的社區;

·提供比 Bash 更友好的錯誤處理特性;

·有比 Bash 更好的調試工具和實用程序,這使得它在開發涉及到很多行代碼的復雜軟體應用程序時是一種很棒的語言;

·應用程序(或腳本)可能包含許多第三方依賴項,這些依賴項必須在執行前安裝;

·對於簡單任務,需要編寫比 Bash 更多的代碼。

python學習網,大量的免費python視頻教程,歡迎在線學習!

❺ powershell與python的區別

如你所說powershell是cmd的改進。它 windows系統一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework的強大功能。

python一種高級的編程語言,可以在windows中編寫運行,也可以在linux中編寫運行。所以對於你的疑問:1.python可以應用到Linux系統中去。2.powershell和shell是兩個平台的不通用工具。

❻ python程序和python shell的區別

shell腳本只是一種簡單的語言,通常用來寫一些系統維護和實用工具,比如批量檢索文件這樣的操作,它的功能主要依靠在shell腳本中啟動其它獨立的程序來完成,比如find、grep等Linux常用程序。而Python是一種完全的現代編程語言及環境

❼ python和shell有什麼區別

shell是linux下的命令行,一種腳本語言,在windows下不能運行。
python是一種編程語言,只要有解釋器,在任何系統上都可以運行。
至於語法的相似性,只是一部分而已。

❽ shell和python區別

shell 應該屬於宏語言,顧名思義是系統的殼,方便與系統交互的在以下情況回下,不使用答shell,因為shell對此無能為力;如:跨平台,較復雜數學操作(如浮點運算,精確運算等),圖形化界面 GUI,I/O 或socket 介面,多維數組,對效率要求很高等。

  • shell:簡單,開發迅速,專注系統(比如:Linux)管理領域。

  • python:通用腳本語言,功能強大,跨平台(比如:Windows和Linux),嚴謹;

  • Python可以調用圖形庫,可以直接做網路應用,甚至直接嵌入其它語言,跨平台;

  • shell就是和系統結合得比較緊密,其內部數據處理方面,側重文本(或者說字元串,或字元流)處理,而對運算和其他基本數據結構的原生較弱。

如果對Python感興趣,推薦你了解一下北京尚學堂,我是在那裡學習的Python,老師講的很好,知道現在參加工作,還能給到你很多的幫助。

❾ shell和python腳本學哪個

各有優勢,個人偏向python

跨平台
面向對象,模塊豐富,在解決一些復雜問題時方便點,除了當腳本用也能寫一些比較大的應用程序;
代碼可讀性好,易寫易維護

不過最終還是看工作需要吧

❿ 為什麼Python的命令和shell的版本查看不同

應該是你裝了兩個版本的python,打開的3.7版本的shell,但在cmd中輸入python命令時,從環境變數中找到了之前裝3.6版本的路徑。