[Python]初心者筆記1(串列List,字串處理string,and與or的判斷,while loop迴圈,定義函數function,list的index,for迴圈loop,string.contains,list.contains,substring)

[Python]初心者筆記1(串列List,字串處理string,and與or的判斷,while loop迴圈,定義函數function,list的index,for迴圈loop,string.contains,list.contains,substring)

透過Jupyter以及Python政大線上學習課程,逐步的將老師教的,與個人覺得比較實用的記錄下來:
ps.本系列文章的環境是透過python的Anaconda套件安裝的

#List串列相加
L = [1,3,4,5]
M = [2,4,6,8]
L + M
#List串列乘上一個常數
L = [1,3,4,5]
L = L * 3
#python的list裡面可以放不同型態的變數
#python的list長的跟C#的陣列一樣,別搞錯了
#python的陣列array將會在之後的numpy套件才做示範
#python的陣列array只能放相同型態的變數
list1=[1,2,3,'a']
list1

#hello world
print("Hello World")
#字串相加
string1 = "Hello! "
string2 = "Mr. Yen."
print(string1 + string2)
#字串相乘
string1 = string1 * 3
#字串內容換行(就是自動加上\n換行字元)
string3 = '''
今天天氣不錯
適合出去騎自行車
完全不會下雨呢!
'''

#and or 的判斷
(5 > 1) and (10 > 2)
(5 > 1) or (1 > 100) 
#字串也可以比大小
"Z" >= "B"
#下列執行結果會得到true
a = 50
a== 50

#簡易的迴圈範例
#python的縮排非常重要!縮進去的內容就表示c#的大括弧
#所以在python程式中,縮排不要亂縮,不然程式碼執行可是會出錯的,哈哈
s = 0
while s < 10 :
    print("*" * s)
    s = s + 1
#另一個簡易迴圈範例
#迴圈裡面加入input
message = ""
while message != "bye":
    message = input(">> ")
    print("拍拍")

#Python的string.format會自動降非字串型態變數轉型成string之後才輸出
#要排版輸出的時候很方便
#1.先示範一堆自己手動轉型,當然這樣是很麻煩!
m = 270
print("美金" + str(m) + "元,折合台幣" + str(m*30.5) + "元!" )
#接下來示範一下python的自動型態轉型,方便多了!
print("美金{}元,折合台幣{}元!".format(m, m*30.5))
#也可以限制顯示到小數點第二位
print("美金{}元,折合台幣{:.2f}元!".format(m, m*30.5))

#函數基本的定義方式(自動產生的縮排別亂動)
def squareenix(x):
    return x**2
squareenix(3)

#中文定義函數也可以!(神奇了)
def 平方(變數一):
    print(變數一**2)
平方(6)	


List的index:(之後會學到的numpy.array陣列也是一樣的規則去存取index裡面的資料)

#List的初始index是0
L[0]

#List可以取範圍
#1.定義開始與結束的index, 結束的index的元素不會包含在內
L[1:3]

#2.定義只有開始的index
L[2:]

#3. 定義只有結束的index
L[:4]
#要包含List的最後一個元素的話,index要超過List.length
L[:5]

#完全不定義開始或是結束的index的話,就會全部回傳
L[:]

#最神奇的是index可以用負數倒過來算
#用白話解釋的話,就是倒數第?個
L[-1]
L[-2]

#當然負數的index也可以取範圍
L[-3:-1]
L[-3:]
#python的substring的用法
myString = "Hello"
myString[1:4]

#python的substring可以處理中文
chtString = "新北市蘆洲區"
chtString[1:3]

快速生成list:

#快速生成數字list
list(range(10))
#設定list裡的數字的範圍
list(range(1,13))
#也可以快速生成字串的list
list("ABCDEFG")

for迴圈loop:

#foreach - int
L = [1, 2, 3]
for l in L:
    print(l)
	
	
#foreach - string
L = ["豬","貓","狗"]
for l in L:
    print(l)



#傳統的for迴圈 - 列印出 1~10的數字
for i in range(1,11):
    print(i)	

類似c#的string.contains以及python獨有的list.contains:

#類似c sharp的string.contains
#將得到true結果
變數一 = "葡萄"
變數二 = "吃葡萄不吐葡萄皮"
變數一 in 變數二


#類似c sharp的string.contains
#將得到false結果
變數一 = "芭樂"
變數二 = "吃葡萄不吐葡萄皮"
變數一 in 變數二


#python獨有的list.contains函數,將會得到true的結果
#在c#要做到類似效果,需手動寫LINQ去檢查
L = [2,4,6,8,10]
8 in L



參考資料:
python中的list和array的不同之处
https://blog.csdn.net/liyaohhh/article/details/51055147
成為python數據分析達人的第一課(自學課程)
http://moocs.nccu.edu.tw/course/123/intro