暢讀版
首先百度Python,Pycharm,Anaconda,下載三個安裝包并安裝闻妓,注意Python安裝的時候要選擇添加環(huán)境變量,這樣就可以在Windows系統(tǒng)自帶的命令行里輸入“python”命令掠械,然后跳轉(zhuǎn)到相應(yīng)的文件夾由缆,運(yùn)行相關(guān)Python文件注祖,這樣文件的輕量級運(yùn)行比在集成環(huán)境中運(yùn)行耗費(fèi)的資源要小得多。如果沒有設(shè)置環(huán)境變量就要在命令行中先跳轉(zhuǎn)到Pyhton的安裝文件夾均唉,然后再運(yùn)行“python”命令是晨,進(jìn)入Python的編譯環(huán)境。
打開安裝好的JupyterNotebook程序舔箭,可以創(chuàng)建文件夾和Python文件罩缴,然后運(yùn)行,注意Python中的變量可以直接賦值(a=3)层扶,運(yùn)算符支持加減乘除整除和乘方(+ - * / // **)箫章,字符串用引號表示(“”),可以引索(str[0])镜会,替換(str[8]=‘a(chǎn)’)檬寂,添加(str1.append("add")),拼接(str0+str1)戳表,還有自帶的方法桶至,比如按空格分隔變換成列表(str.split(" ")),或者說是把復(fù)合數(shù)據(jù)類型的元素用某個標(biāo)點(diǎn)符號拼接起來轉(zhuǎn)換成字符串(",".add(list))扒袖,當(dāng)用input從鍵盤讀取數(shù)據(jù)是字符串的形式塞茅,可以通過數(shù)據(jù)類型關(guān)鍵字加括號強(qiáng)制轉(zhuǎn)換,最常用的是把字符串強(qiáng)制轉(zhuǎn)換成整型(int(input("Please input your name:")))季率。復(fù)合數(shù)據(jù)類型有列表,用中括號表示描沟,可以包含任意數(shù)據(jù)類型(list=["str",8,[1,3]])飒泻,元祖用小括號表示,也可以直接用逗號隔開默認(rèn)是元祖吏廉,與列表唯一的區(qū)別是元素一旦賦值不能改變(tuple=(2,[2,3],"a"))泞遗,集合用大括號表示,可以做布爾運(yùn)算席覆,但只能包含一種數(shù)據(jù)類型史辙,會自動刪除重復(fù)元素(set={[2,3],[1,3],["r","3"]}),字典也用大括號表示佩伤,鍵值用雙引號括起來聊倔,中間用冒號隔開表示鍵值對應(yīng)的值,其中鍵值不可以重復(fù)(dictionay={“Mary”:24,"Jack":78})生巡。它們都可以求長度(len(compounddata))耙蔑。
常用的控制語句有條件語句,條件語句(if elif else)的條件表達(dá)式是由邏輯運(yùn)算符(and or not)和關(guān)系運(yùn)算符(> < = >= <= ~=)組成孤荣,循環(huán)語句(for i in list,while i in list)常用來遍歷復(fù)合數(shù)據(jù)類型甸陌,注意字典的默認(rèn)數(shù)據(jù)類型是鍵值须揣,如果要顯示值需要用鍵值去引索。主函數(shù)在python中并不代表程序的起點(diǎn)钱豁,知識一個普通的判斷語句用來標(biāo)識程序從哪里開始執(zhí)行耻卡,有些特殊的函數(shù),比如條件判斷中的主函數(shù)(if name==__main__)牲尺,類中的初始化函數(shù)劲赠。函數(shù)的參數(shù)除了有形式變量,在前面加一個星號秸谢,可以將傳入的多個參數(shù)組成元祖凛澎,當(dāng)前面有雙星號時,可以傳入字典數(shù)據(jù)類型估蹄,直接用鍵值等于值的方式傳入多個字典類型元素就可以了塑煎。
Python中的類有初始化函數(shù),通常用來初始化屬性的值臭蚁,如果作為參數(shù)傳入了就直接賦值最铁,沒有的話,如果是字符串就用None替代垮兑,如果是數(shù)字就用0替代冷尉,注意類的所有函數(shù)都必須傳入類本身,作為參數(shù)系枪。當(dāng)一個類繼承另一個類時雀哨,可以繼承該類的全部屬性和函數(shù),當(dāng)子類中有和父類同名的函數(shù)時私爷,可以覆蓋父類原有的函數(shù)(多態(tài))雾棺,當(dāng)函數(shù)中傳入父類名作為形參時,在實(shí)際調(diào)用中可以傳入它的任意子類衬浑,具體的方法由子類決定捌浩。
異常是指有些情況語法沒錯誤(try except),邏輯沒錯誤工秩,但是是一些常識問題尸饺,只有人類才能理解的約定俗成的問題,比如除數(shù)不能為0等助币,出現(xiàn)這些錯誤浪听,一般程序會停止運(yùn)行,如果只是想讓計算機(jī)報錯奠支,提醒程序員馋辈,就需要用到異常捕獲,也就是程序在執(zhí)行時倍谜,如果遇到上述異常迈螟,會提出異常警告叉抡。
燒腦版
環(huán)境安裝
Python網(wǎng)址:https://www.python.org/downloads/
Pycharm網(wǎng)址:http://www.jetbrains.com/pycharm/nextversion/
Anaconda網(wǎng)址:https://www.continuum.io/downloads/
變量定義及基本數(shù)據(jù)類型
算術(shù)運(yùn)算:+,-答毫,*褥民,/,//洗搂,**
關(guān)系運(yùn)算:>消返,<,>=耘拇,<=撵颊,!=
位運(yùn)算:&,|惫叛,^倡勇,~
邏輯運(yùn)算:and,or嘉涌,not
字符串:a=“HelloWorld ”妻熊,b='Today',a+b仑最,a[0:2]扔役,a[-3],a[-1]警医,len(a)
列表:c=[666,"NiHao",[1,2]]亿胸,c.append(3),c[0:2]=['A','B']
控制語句
條件:if BoolenExpression(關(guān)系運(yùn)算法严,邏輯運(yùn)算) : Statement+elif : Statement+ else:Statement+RestOfCode
For循環(huán):for i in len[a]:print(a[i])损敷,range(0:5),break深啤,continue
While循環(huán):n=0+m=1+max=200+while(n<200):n,m=m,n+m
Output:print("User's first name is {f},and last name is{l}".format<f=fname,l=lname>),print(字符串路星,運(yùn)算表達(dá)式溯街,變量,符合數(shù)據(jù)類型)
Input:m=int(input("Please input the first number:"))
函數(shù)
函數(shù):def power(x,y):return x**y洋丐,def calcu(x,y,method):if method=="add":return(x+y)+elif method=="sub":return(x-y)+else:print("Please input the correct method")
形參:def power(x,y=3,z="the result is:"):return z+str(x+y)
元祖:值一旦確定不能更改呈昔,d=1,2,3,d=d,(4,5,6),a
集合:同種(復(fù)合)數(shù)據(jù)類型友绝,自動刪除重復(fù)數(shù)據(jù)堤尾,無順序,e={1,2,3}迁客,c=set([3,4,5])郭宝,e-c={1,2}辞槐,e.intersection(c)={3},e.union(c)={1,2,3,4,5}粘室,e.difference(c)={1,2}
字典:key榄檬,value,自動刪除重復(fù)鍵值衔统,無順序鹿榜,f={"Peter":89,"Mary":90,"Jack":68},for key in f:print(f)==for key in f.keys():print(key)锦爵,for key in f:print("key",key)+print("value",f[key])舱殿,for key in f : print("key={} value={}".format(key,f[key])),f["Peter"]=78险掀,有就修改沪袭,沒有就添加,del f["Mary"]
ArbitraryParameter:def students(*args,msg="Students' name are:"):names=','.join(args)+print(msg+names)迷郑,students("Peter","Mark","Jack")枝恋,將傳入的多個參數(shù)視為一個元祖。
DoublestarArbitraryParameters:def cheeseshop(*args,**keywords):for arg in args:print(arg)+for key,value in keywords.items():print(key,":",value)嗡害,cheeseshop("the key persons are:",shopkeeper="Peter",client="Tom")焚碌,將傳入的多個參數(shù)視為字典
主函數(shù):def main():while true:factors=input("Please input numbers and method name splitted with space:")+factors=factors.split(" ")+if factors[0]=="exit":break+else:re=calcu(int(factors[0]),int(factors[1]),factors[3]))+print(re)+if __name__=='__main__':main(),這里的main函數(shù)不代表程序的起點(diǎn)霸妹,換句話說if下的條件表達(dá)式注釋程序的開始十电,條件語句代表執(zhí)行的內(nèi)容
面向?qū)ο?/h4>
對象:class Person:def __init__(self,name,age,sex):self.name=name+self.age=age+self.sex=sex,def eat(self):print("self.name,"is eating"")叹螟,class Person:def __init__(self):self.name=none+self.age=0+self.sex=none鹃骂,person_obj=Person()+person_obj.name="Lucy"+person_obj.eat(),person_obj2=Person("Steven",33,“male”)
繼承:class Student(Person):def __init__(self,name,age,sex):Person.__init__(self,name,age,sex):self.student_id=none罢绽,def study(self):print(self.name,"is studying")
多態(tài):def work(self):print(self.name,"is doing homework")畏线,def hire_to_work(person):person.work()+hire_to_work(student2)
異常處理
異常:防止發(fā)生異常退出程序,def division(number1,number2):try:result=number1/number2+print(result)+except ZeroDivisionError:print("divisioned by zero!")+finally:print("We can address the crash here")
參考教程:《零基礎(chǔ)3天精通Python3.6》(網(wǎng)易云課堂)
推薦一個練習(xí)編程的網(wǎng)站:CoderByte