PYTHON
Lesson 1
Lecturer : times1乘一
PYTHON簡介
Python
- 原意是 「大蟒蛇」
- Guido van Rossum 於 1991
(的聖誕夜)發明 - 宗旨為 "Computer Programming for Everybody"
- 設計哲學是「優雅」、「明確」、「簡單」
其實這才是PYTHON的來源→
Python特色
- 直譯式語言
- 可讀性高
- 語法簡單
- 物件導向
- 模組極多
- 功能強大
開發環境
- 線上開發環境
- 美觀
- 使用容易
- 設定簡單
因為裝python很麻煩
所以這學期我們就使用repl.it啦~
點擊sign up
註冊帳號~
建議使用google帳號
創建新檔案
語言選擇python
1.create
2.選擇語言
3.取檔案名稱
開始寫扣啦~
Hello World!
學習程式語言的第一步
C++
#include <iostream>
using namespace std;
int main(){
cout<<"Hello world!\n";
return 0;
}
python
print("Hello world!")
簡潔有力
輸出
Output
方法:print(*object , sep=' ', end='\n')
*object : 要輸出的東西,如果有複數個要以, 隔開
sep : 用來間隔多個東西,預設是空白
end : 指定結尾是什麼,預設是換行
print("Hello world!")
#輸出 Hello world!
print("one", "two", "three", sep='/', end=" :)")
#輸出 one/two/three :)
print()
#輸出 (換行)
#順帶一提 # 井字符號是註解
特殊字元
特殊字元 | 意義 |
---|---|
\\ | 就是一個反斜線 |
\n | 換行 |
\t | tab鍵 |
\0 | 空字元 |
反斜線 \
小測驗
試著用一行程式碼印出以下的文字吧
A: \\Today is our first python class!//
B: \\Oh Yeah!//
解答
print("A: \\\\Today is our first python class!//\nB: \\\\Oh Yeah!//")
#兩個\\會變成一個\
#\n換行
大家寫對了嗎~
例題練習
FGISCOJ 4452 (這ㄍ壞了)
fgiscoj under maintenance (?
zj c185
print("Hey",input())
變數
常用變數型別
英文名稱 | 中文名稱 | 型別轉換 |
---|---|---|
int | 整數 | int() |
float | 小數(浮點數) | float() |
string | 字串 | str() |
bool | 布林值 | bool() |
宣告變數
方法:name = value
*注意到了嗎?
python不需要宣告變數的型別
電腦會自行判斷
那麼我們要如何知道變數的型別呢?
型別判斷
方法:type(object)
電腦會回傳物件的型別~
飯粒
a = "123" #將"123"賦值給a
print("a的型別是:", type(a)) #輸出a的型別
b = a #將a的值給b
b = int(b) #將b的型別轉換為整數
print("b的型別是:", type(b)) #輸出b的型別
'''
a的型別是: <class 'str'>
b的型別是: <class 'int'>
'''
變數限制&小技巧
因為太過複雜我懶得備課,
所以自己去翻暑訓簡報~
多重賦值
連續賦值
命名限制
保留字
格式化輸出
好用的小技巧
- 格式化字串
- 字串的format()
- 字串插值
格式化字串
Formatted string literals
方法:在要輸出的字串前加上f或F,
並把想插入的變數放入{}中
格式說明符:使用方法為{變數:格式說明符},可省略
常用的有 符點數:.位數f 可以指定小數位數
字串:整數 可以指定字串長度
整數:位數d 可以指定整數長度
示例
#格式化字串
name = "Justin"
age = 17
pi = 3.14159265358979323846
print(f"Hello, {name}")
#Hello, Justin
print(f"{name:7}==>{age:3d},pi = {pi:.10f}")
#Justin ==> 17,pi = 3.1415926536
字串的format()
方法:str.format()
format()中的字會填入字串中的大括號
可以利用索引值或名稱填入,預設是依序填入
示例
#字串的format()
name = "Justin"
A = 9
B = 5
print("Hello, {}".format(name))
#Hello, Justin
print("B = {B}, A = {A}".format(A=9,B=5))
print("B = {1}, A = {0}".format(A,B))
print("A = {}, B = {}, A+B = {}".format(A,B,A+B))
'''
B = 5, A = 9
B = 5, A = 9
A = 9, B = 5, A+B = 14
'''
字串插值
string interpolation
方法:"string" % values
字串中所有的%會被values取代
可以利用各種格式說明符達成不同效果
是格式化輸出的舊方法
不推薦使用
示例
#字串插值
name = "Justin"
A = 1.414213562
B = 2.236067977
print("Hello, %s" %name)
#Hello, Justin
#
print("A = %.4f" %A)
print("A = %.4f, B = %.3f" %(A,B))
'''
A = 1.4142
A = 1.4142, B = 2.236
'''
輸入
Input
方法:Input(<提示訊息>)
提示訊息 : 在input前,想要輸出的東西,可省略
*會預設輸入string 字串
示例
a = input("請輸入一串文字: ")
print("你剛剛輸入的文字是:", a)
'''
請輸入一串文字: ckefgisc
你剛剛輸入的文字是: ckefgisc
'''
如果輸入不換行,但要輸入多個變數ㄋ
一行輸入
方法:input().split("分割符號", 分割次數)
input():可以改成要切割的字串
分割符號 : 遇到甚麼符號要切一刀,預設是空白
分割次數: 要切幾刀,預設-1,也就是全切
可是一個一個轉型別好麻煩~
一次轉型別~
不是轉性別= =
方法:map(int, input().split())
這樣就可以一次轉型別囉~
如果想知道map的用法(中文版)
那就點下去ㄅ
終於有示例ㄌ
fruits = "apple/banana/orange/guava"
print(fruits.split("/",2)) #以/為切割點,切兩刀
#['apple', 'banana', 'orange/guava']
a, b, c = map(int, input().split())
print(a, b, c)
print(type(a))
'''
輸入: 1 2 3
輸出: 1 2 3
<class 'int'>
'''
終於結束ㄌ~
是不是很簡單