甲居工作室

1.Python介紹

日期:2024/04/04

1.Python 介紹

我的大學教授曾說過,程式語言是用來「解決問題」的一項工具。因此,這系列教學的目的在於在未來遇到問題時,能為你提供另一個有用的工具。而不是學會程式當個工程師。

所以~本教材在一些資訊基礎方面的知識會略過。
也期許不要硬背,作者在業界工作多年也沒有完全記起來,有需要再去 google 就好。

1.1 什麼是 Python?

Python 是一個容易學習、功能強大的程式語言,相較其他程式語言而言具有較高的可讀性,下列為幾個優點。

  • Python 社群豐富相關資源容易取得及遇到問題取得支援相對容易。
  • 2024年排行第一的程式語言 https://www.tiobe.com/tiobe-index/
  • 豐富且完整的套件,不必製造輪子及可以快速組裝你所需要的功能。
  • 可以支援各個平臺作業系統,像是 Linux、Windows、macOS。
  • 用途廣泛,開發網頁應用程式、爬蟲、處理數據、自動化工具以及近期熱門話題 機器學習和人工智慧皆可。

Python 有著眾多優點,但也不可避免地存在一些缺點。

  • 執行速度較低,相對於C、Java。
  • 移動性受限:雖然 Python 是跨平台的,但由於其依賴於許多外部庫和模組,因此在不同系統之間移動程式可能會遇到一些問題。
  • 工作需求較低,Python 為比較新的程式語言目前職場上應用尚未發展起來。

1.2 Python之路如何開始?

我們相來了解一下程式語言的常識。
程式語言分成高階語言、低階語言兩大類,低階語言又分成機器語言及組合語言。

高階語言

高階語言其指令更貼近人類的思考方式,使得程式碼易於閱讀和理解。這類語言的程式通常需要透過編譯或解譯的過程,才能被電腦理解和執行。

  • C/C++:一個老人家,也是C#JavaJavaScript等程式語言的基礎。
  • C#:微軟的也是.NET框架所使用的語言。
  • Python:免費的開源程式設計語言。
  • RubyPHPSwiftVisual Basic

低階語言

  • 機器語言:機器語言是一種電腦唯一能直接識別的語言,由0與1組成。
  • 組合語言:相較機器語言可讀性較高。要使用組譯器譯成機械碼,才可由處理器執行。

直譯/編譯、動態/靜態、強型別/弱型別

好的我們要來進入神的領域,這幾個都是談論到程式語言的常用術語聽不懂沒關係有個印象就好,會 Google 比較重要。

  • 直譯 (Interpreted) 與編譯 (Compiled):

    • 直譯語言的程式碼在執行時逐行被解譯器解讀並執行。
    • 編譯語言的程式碼在執行之前會先被轉換成機器碼,這個轉換過程稱為編譯,而轉換後的機器碼可以直接執行。
  • 動態(Dynamic)與靜態(Static):

    • 動態型別的語言在執行時才會檢查變數的類型,並且變數的類型可以在運行時改變。
    • 靜態型別的語言在編譯時會檢查變數的類型,並且通常變數的類型在程式碼撰寫時就已經固定。
  • 強型別(Strongly Typed)與弱型別(Weakly Typed):

    • 強型別語言要求在程式碼中操作變數時,其類型必須明確指定,而且不會隱式轉換變數類型。
    • 弱型別語言對變數類型較為寬容,通常會自動進行類型轉換或隱式轉換,使得程式碼更加靈活,但也容易造成錯誤。

好的,那你知道 Python 歸類在那了嗎?
沒錯,直譯 動態 強型別。既然 Python 為編譯語言所以我們學習的第一步安裝編譯器。

開發環境

本機執行

  1. 安裝 Python 3: Python官網
  2. 安裝 anacondaanaconda 官網
  3. 開啟 anaconda
  4. 開啟 Spyder

線上執行

  1. 使用 Google Colab

我們可以開始來Hello, world!的儀式了。

延伸閱讀

2.Python 基本語法

本章節會提及基本語法、資料型態、資料型態轉換、變數、運算子。

Read more

3.Python 字串(string)

在 Python 中有東西都是物件 (object), 字串是由一個文字 (字元)一個文字串 (字元)接起來,將想要使用的文字內容放在兩個單引號''或兩個雙引號""裡。

Read more