1. 程式人生 > >11.25~11.26 python 學習筆記

11.25~11.26 python 學習筆記

字串
len()函式可以返回字串長度
str()函式可以把其他資料型別轉換為string

<string>.upper() 字串中字母大寫
<string>.lower() 字串中字母小寫
<string>.capitalize() 首字母大寫
<string>.strip() 去兩邊空格以及去指定字元
<string>.split() 按指定字元分割字串為陣列(列表)
<string>.isdigit() 判斷是否數字型別,若是返回true 不是返回false
<string>.find() 搜尋指定字串
<string>.replace() 字串替換

for<var> in <string>: 遍歷字串中每個字元
可以使用 +號 和*號來進行字串的運算



元組型別
元組是包含多個元素的型別,元素之間用逗號分割。
例如:t1 = 123, 456, “hello”
元組也可以是空的, t2 = ()
元組包含一個元素的情況 : t3 = 123,
元組外側可以使用括號,也可以不使用
元組中可以包含另一個元組,但需要使用括號 : t3 = 123, 456, ( “hello” , “中國” )
元組中元素存在先後關係,可以通過索引來訪問元組中的元素 如:t3[0]
元組定義後不能更改,也不能刪除!(為了安全)可更改可以用列表(list)
可以通過索引區間來訪問元組中部分元素 如: t[1:]
元組之間可以通過+號和*號進行運算




列表
操作:
<seq>+<seq> 連線兩個序列
<seq>*<整數型別> 對序列進行整數次重複
<seq>[<整數型別>] 索引序列中的元素
Len(<seq>) 序列中元素個數
<seq>[<整數型別> : <整數型別>]取序列的一個子序列
For <var> in <seq> : 對序列進行迴圈列舉
<expr>  in <seq> 成員檢查,判斷<expr> 是否在序列中
<list>.append(x) 把元素x增加到列表的最後
<list>.sort() 將列表元素排序
<list>.reverse() 將列表元素反轉
<list>.index() 返回第一次出現元素x的索引值
<list>.insert(i,x) 在位置i處插入新元素x
<list>.count(x) 返回元素x在列表中的數量
<list>.remove(x) 刪除列表中第一次出現的元素x
<list>.pop(i) 取出列表中位置為i的元素,並刪除它



Math庫
圓周率pi π的近似值(15位小數)
自然常數e e的近似值(15位小數)
ceil(x) 對浮點數x向上取整
floor(x) 對浮點數x向下取整
pow(x,y) 計算x的y次方
log(x) 以e為基的對數
log10(x) 以10為基的對數
Sqrt(x) x的平方根
exp(x) e的x次冪
degrees(x) 將弧度值轉換成角度值
radians(x) 將角度值轉換成弧度值
sin(x) 正弦函式
cos(x) 餘弦函式
tan(x) 正切函式
asin(x) 反正弦函式 範圍x∈(-1.0,1.0)
acos(x) 反餘弦函式 範圍x∈(-1.0,1.0)
atan(x) 反正切函式 範圍x∈(-1.0,1.0)



Random庫
seed(x) 給隨機數一個種子值,預設是系統時鐘
random() 生成一個[0,1.0]之間的隨機小數
uniform(a,b) 生成一個a到b之間的隨機小數
randint(a,b) 生成一個a到b之間的隨機整數
randrange(a,b,c) 隨機生成一個從a開始到b以c遞增的數
choice(<list>) 從列表中隨機返回一個元素
shuffle(<list>) 將列表中元素隨機打亂
sample(<list>,k) 從指定列表隨機獲取k個元素

使用例子
from random import *
random()
uniform(1,10)

運用蒙特卡洛方法求π值
# pi.py
from random import random
from math import sqrt
from time import clock
DARTS = 120000000
hits = 0
clock()
for i in range(1,DARTS):
    x,y=random(),random()
    dist = sqrt(x**2+y**2)
    if dist<=1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("pi的值是 %s"%pi)
print("程式執行時間是 %-5.5ss"%clock())