---
# System prepended metadata

title: 3/05 Python與資料分析#1
tags: [python, 資料分析]

---

# 3/05 Python與資料分析#1

## 查問題 @Stack OverFlow

1. 第一則:問題是否正確
2. 第二則:發問者核可的答覆
3. 第三則:其他答覆中最多贊同的答覆

## 開發環境

資料分析可以使用 Python interpreter and Jupyter
（Notebook-Based）
這個介面可以輸出最後一行的結果(可能不需要print)

Test Editor+Terminal+Python interpreter = IDE

進階: 路徑 套件管理 環境設定開發

## 偵測輸入的程式

john_doe = input("Please input your name:")
print("Hello, {}!".format(john_doe))

* input函式
* print可以用{}表是前面的input 後面加.format(名稱)


## Function

name/(input and arguments)/statements/(output)

### Build-in Function
print()
input()
help()
type()
...
https://docs.python.org/3/library/functions.html

### Defined Function

* 使用def建立Function

def "函式名字"("輸入,參數..."):
    """
    說明
    """
    "函式敘述"
    return "輸出"
    
* Call Function

"函式名字"("輸入,參數...")

* 呼叫說明（若有"""說明"""這段）

help(函式名稱)

# 變數

不能用的keywords(保留字)
https://docs.python.org/3/reference/lexical_analysis.html#keywords

不能數字開頭

建議不要用內建函式，會蓋過原先內建函式
（可以用del "函式" 恢復）

用底線連結不同單字(snake case)

類型: int float str bool 
type(變數名稱)或type(資料)可以查看該變數類型

## NoneType
就是None 不是0 True False
一個missing value
函式的最後

## str 
* 用' '或" "或""" """
最後一個用於長字串，可換行
雙引號裡面用單引號，單引號不會被搞混，或用\跳脫
* 可用+(連結) *(重複)
* format嵌入
1. format
變數名稱 = xxx
"{}.format(變數名稱)"
此時{}就會置入xxx
2. f-string
變數名稱 = xxx
f"blabla{變數名稱}"

## bool

* True False 一定要大寫
* 可以是 比較大小/in或not in/邏輯運算
* not True/not False

## 變數轉換

轉成甚麼就直接打 資料型態()
例如轉成int就打int(原資料)
轉到低集合的時候可能失敗
int(True) = 1
int(浮點數) = 捨去整數
int(字串) = 字串可能轉成數字，可能會失敗
str皆可被轉換
bool(字串) = True ，除了0 空字串 都是True


# 視覺化程式

http://www.pythontutor.com/visualize.html


###### tags: `python` `資料分析`
