###### tags: python python === #### print - or It only print B if A is false or NULL print - print (0 or 1) ## 1 - print(Flase or "hey") ##'hey' - print('hi'or'hey) ##'hi' - print([ ] or False) ## 'False' - print(False or [ ]) ## [] - and and only evalute the second argument if the first one is true - print(0 and 1) ## 0 - print(1 and 0) ## 0 - print(False and 'Hey') ##False - print('Hi' and 'Hey') ## 'Hey' - print([ ] and False) ##[ ] - print(False and [ ]) ## False - operators - & performs binary AND - | performs binary or - ^ Performs a binary XOR operation - ~ performs a binary NOT operation - << shift left operation - ">> shift right operation - other operator - is - in - Ternay operator - use to define conditional def is_adult(age) if age >18: return True else: return False def is_adult2(age) return True if age>18 else False - print with different line - 三個"可以做成很多行的輸出(若第一行的"後面沒接東西,就會變成多一行空格) - print("""Beau is 39 years old. """) 輸出 Beau is 39 years old. - string modify 上述這些都只是輸出當下改變的string。但本身的string值是不變的。 - isalpha() 去確定string裡面只有charactres 且不是空的 - isalnum() 確定string裡面只有character跟digits 且不是空的 - isdecimal() 確定string 裡面只有數字且不是空的 - print("BEAU".lower()) >beau - print("beau".upper()) >BEAU - print('bEAu person'.title()) it make first leeter of each string become capital letter >Beau Person - print("Beau person".islower()) > False - print("person".islower()) > True is lower 是用來確定整個string是否都是小寫 - startsswith() to check if the string starts with a specific substring - endswith() to check if the string ends with a specific substring - replace() to replace a part of a string - split() to split a string on a specific charactr separator - strip() to trim the whitespace from a string - join () to append new letters to a string - find () to find the postion of a substring - global function - print(len(name)) > 4 - name ="beau" print("au" in name) > True - name ="Be\"au" print(name) > BE"au \這個可以讓後面的"不再表示成本來的樣子,而是一般的string - name = 'Be"au' print(name) > Be"au - name ='Be"\'au' print(name) > Be"'au - name = 'Be\nau' print(name) > Be > au - name ='Be\au' print(name) > Beu - name = 'Be\\au' print(name) > Be\au - name ="Beau" print(name[1:2]) 從1開始回值,2之前的全部丟出來(不包含2) - any([A,B]) it will return true if any value of this function is true - all([A,B]) it will return true if all of the value is true - complex - turn complex = 2+3j; num = complex(2,3) print(num2.real, num2.imag) > 2.0 3.0 - abs(絕對值) and round - print(abs(-5.5)) > 5.5 - round - print(round(5.49, 1)) > 5.5 會收斂在小數點下面第一位 - print(round(5.4)) > 5 - print(round(5.5)) > 6 ### Enum > from enum import Enum > class State(Enum): > INACTIVE = 0 > ACTIVE = 1 > print(State.ACTIVE.value) output: 1 > print(State(1)) output: State.ACTIVE > print(State['ACTIVE'].value) output: 1 > print(list(State)) output <State.INACTIVE: 0>,<State.Active: 1> > print(let(State)) 2 ## Basic input output > age = input("what is your age?\n") > print("your age is "+age) output: what is your age? >55 >your age is 55 ## List dogs = ["Roger",1,"Syd",True] print("If Roger is in the list just print True\n") print("Roger" in dogs) >print(dog[:3]) ['Roger',1,'Sys'] >print(len(dogs)) 4 - append & edit - edit > dogs[2]=beau > print(dog[2]) beau - append dogs.append('Judah') 會把Judah加到最後面的分項去 - extend dogs.extend(['Judah',5]) 把兩格分項都加到後面去,可以加一整個list - dogs+=['Judah',5]跟上面的結果是相同的 #### 若把Append加上list,整個list會變成最後分項,而不是多個獨立的。 #### 但若是寫成Dogs +="Judah"整個會被拆成'J','u','d','a','h',所以一定要記得加上[] - remove(移除) dogs.remove('Syd') - 這樣syd會從裡面被移除,但要小心確認他有在list裡面,沒有整個program就會error。 - pop remove the last item in the list , and print it. And this thing will not on the list anymore. - insert items.insert(2,"test") 這樣item的第三項(從零開始算的)就會插入test,本來的index 2位置的,就會往後排。 #### 但你若是要插入多個的話,可以試試看這個 items[1:1]=["test1","test2"] 這樣就會從index 1開始插入test1跟test2,其他的項目往後遞延 #### sort - items.sort() 會把items這個list由大寫的第一個字順序到小寫的第一個字順序來排序。 - items.sort(key=str.lower) 會不分大小寫,照alphabet的順序來先做排列。 - itemscopy=items[:] 可以先行複製item內容,讓值被變更的同時可以保留他的原本樣貌 - print(sorted(items,key=str.lower)) 可以不變動本來item的樣子,只有輸出時來做排列改變 --- ## Tuples Tuple用()表示,Tuple一旦建立就不可再變更,要新增元素的話只能創新的Tuple後面再加。 you can't modify the original tuple > names = ("Roger", "Syd") > newTuple=names+("Tina","Quincy") ## Dictionaries - dog={"name":"Roger", "age":8, "color":"green"} print(dog.get("color","brown")) >輸出狗的顏色,若是沒有就輸出brown - print(dog.pop("name")) print(dog) >此時name就會消失,因為被pop掉了 - print(dog.popitem()) >最後被加入的會被拿掉,是Color會消失 - print(dog.keys()) >輸出所有的值 >dict_keys(['name','age,'color']) - print(list(dog.values())) >['Roger',8,'green'] 因為使用了List所以變成[] - dog["favorite food"]="meat" 這樣最後就可以輸出多一項favorite food, meat - del dog['color'] 這樣就可以把顏色刪除 - copy() dogCopy = dog.copy() 這樣就可以copy dictionary ## sets