Introduction to Python

Jason Pan

2016/03/14

HI!我是JasonPan

今天要來介紹Python

有什麼問題都可以直接提出來

Overview

  • 背景
  • 語法

背景

Background

Python 什麼?可以吃嗎?

Python 是什麼?

  • 一個語言
  • 直譯語言
  • 物件導向
  • 多種用途(GUI, Web, Script, etc.)
  • 強型別且動態型別
  • 強調可讀性

直譯語言又是什麼?

直譯語言

  • 透過直譯器解讀並執行
  • 邊“讀”邊執行
  • 容易上手

物件又是什麼?

這太難說惹

有興趣可以去修“物件導向程式設計”

強型別、動態型別這又是是什麼?

強型別

型別不會立即轉換

DEMO

動態型別

變數沒有固定型別

DEMO

可讀性

等等再說

Python有什麼特別之處嗎?

Features

  • 所有東西都是物件
  • 互動式Shell
  • 跨平台
  • CPython, Jython, IronPython, Pypy

那有誰在用Python?

誰在用Python?

  • Google
  • NASA
  • Yahoo JAPAN
  • 還有很多很多

歷史

  • 1989年 由 Guido Van Rossum
  • 1994年 發行 Python 1.0
  • 2000年 發行 Python 2.0
  • 2008年 發行 Python 3.0
  • 目前最新版為3.5.1及2.7.11 
  • 我們應該是會用3.5.1

語法

Syntax

#! /usr/bin/python3
print("Hello World")

hello_world.py

縮排

  • Indentation
  • Python美麗之處
  • 大部份語言不在乎縮排
  • 聚集相關連的程式在一起

就以C為例

/***C Code***/
void foo(int a){
    if(a == b){
        bar();
    }
}

但是他也可以寫成

/***C Code***/
void foo(int a){
if(a == b)
{
bar();
}}

都可以編譯,都不會錯

而Python?

#! /usr/bin/python3

def foo():
    if a is b:
        bar()

print("Hello world")
#! /usr/bin/python3

def foo():
if a is b:
bar()

print("Hello world")

IndentationError: expected an indented block

是的

他炸了

因此

請注意縮排

Made with Slides.com