目錄
學(xué)Python你應(yīng)該get到的三句話!
跟緊潮流不是隨波逐流!
投靠大佬不是投機(jī)取巧!
賺取利益不是急功近利!
Python全套語法重磅來襲!
初識(shí)python之概念認(rèn)知篇
初識(shí)python之軟件安裝篇
Pycharm
anaconda
初識(shí)python之技巧總結(jié)篇
初識(shí)python之基礎(chǔ)語法篇
知識(shí)點(diǎn)思維導(dǎo)圖
input函數(shù)
基礎(chǔ)語法的那些坑
初識(shí)python之條件循環(huán)篇
知識(shí)點(diǎn)思維導(dǎo)圖
條件語句案例
循環(huán)語句案例
break與continue
range(num)函數(shù)
條件循環(huán)那些坑
初識(shí)python之元組列表篇
知識(shí)點(diǎn)思維導(dǎo)圖
元組
訪問元組
列表
初識(shí)Python之字典集合篇
知識(shí)點(diǎn)思維導(dǎo)圖
創(chuàng)建字典
修改字典
字典內(nèi)置函數(shù)
遍歷字典
集合
字典里面的那些坑
初識(shí)Python之函數(shù)模塊篇
知識(shí)點(diǎn)思維導(dǎo)圖
定義函數(shù)
匿名函數(shù)
初識(shí)Python之面向?qū)ο笃ㄉ希?/p>
初識(shí)Python之面向?qū)ο笃ㄏ拢?/p>
知識(shí)點(diǎn)思維導(dǎo)圖
詳細(xì)語法案例
初識(shí)Python之文件操作篇(上)
初識(shí)Python之文件操作篇(下)
知識(shí)點(diǎn)思維導(dǎo)圖
操作
初識(shí)Python之異常處理篇
知識(shí)點(diǎn)思維導(dǎo)圖
異常處理介紹
初識(shí)Python之正則表達(dá)篇(完結(jié))
學(xué)習(xí)永無止境,歡迎關(guān)注:王小王-123,帶你一起學(xué)習(xí)!
每文一語
Python是近幾年比較火熱的編程語言,至于有多火熱?偶爾打開微信公眾號(hào),頁面下面彈出的是《Python訓(xùn)練營(yíng)》,打開朋友圈發(fā)現(xiàn)有推薦學(xué)習(xí)Python的課程,打開CSDN,發(fā)現(xiàn)熱榜第一又是Python推薦文章,不得不說Python的影響力在目前還是比較大的,這和Python社區(qū)的宣傳力度有著密切的關(guān)系!
目前學(xué)習(xí)Python的人有多少呢?那些人在學(xué)習(xí)Python呢?至于這個(gè)問題,我認(rèn)為沒有一個(gè)準(zhǔn)確的答案,因?yàn)槊恳惶鞂W(xué)習(xí)Python的人都在增加,學(xué)習(xí)Python被越來越多的人注重,所以要回答這個(gè)問題,最好的答案就是一切都在進(jìn)行時(shí)!從小學(xué)開始都有人開始在教授Python編程思維,有的地區(qū)甚至將Python納入升學(xué)考試,文科專業(yè)也在學(xué)習(xí)Python,從小學(xué)生到大學(xué)生;從非專業(yè)到專業(yè);從喜愛到擅長(zhǎng),這些都足以證明Python沒有錯(cuò)!
全民學(xué)Python的熱潮早已興起,話不多說,快去學(xué)習(xí)吧!
每個(gè)人的學(xué)習(xí)都會(huì)有一個(gè)迷茫期:如何學(xué),怎樣去學(xué),有哪些資源去學(xué)?對(duì)于一個(gè)剛開始的編程學(xué)習(xí)者來說,如果沒有一個(gè)專業(yè)的老師去引導(dǎo)你學(xué)習(xí),有可能學(xué)習(xí)路線會(huì)比較的曲折,對(duì)于剛開始學(xué)習(xí)Python應(yīng)該找一個(gè)適合自己的路線,最好是從基礎(chǔ)的開始慢慢的學(xué)習(xí),有一個(gè)比較詳細(xì)的規(guī)劃,所以我才想寫這篇文章,送給那些曾經(jīng)和我一樣迷茫且有夢(mèng)想的Python學(xué)習(xí)者。
我始終相信一句話:請(qǐng)永遠(yuǎn)記住每一步走過的路都是值得的!人生沒有一直的遺憾,就算是錯(cuò)過,你也要相信下一次的遇見更精彩!
又讓我想到了一句話:只有經(jīng)濟(jì)獨(dú)立,才能靈魂挺拔!
學(xué)習(xí)Python能做什么?如果不能給你的生活加一個(gè)雞腿,學(xué)生黨會(huì)如此熱愛它嗎?如果不能給你的未來插上翅膀?職業(yè)人員會(huì)如此青睞它嗎?如果不能給你的夢(mèng)想披上光環(huán)?Python它能火嗎?
所以說學(xué)習(xí)一定要有輸出,你學(xué)的每一個(gè)東西都可以賺錢,至于如何賺取利益,就是你自己的事情呢,學(xué)完P(guān)ython你可以做爬蟲,你可以做數(shù)據(jù)分析,你可以做自動(dòng)化辦公,你還可以做很多的事情。很多人學(xué)到了一定的長(zhǎng)度之后,他覺得很迷茫,不知道怎么去入手,這個(gè)時(shí)候你就可以去通過技術(shù)來獲取money,知識(shí)轉(zhuǎn)換為金錢一定是需要有一個(gè)過渡期的,這樣還可以不斷提升你的職業(yè)能力。
本來想要直接開篇干技術(shù)的,但是我還是寫下了這三句話,希望我們的人生不只是有枯燥的代碼,還應(yīng)該有快樂的的人生——左手詩情畫意,右手代碼人生!
溫馨提示:本文所有藍(lán)色字體均可點(diǎn)擊,可以跳轉(zhuǎn)到相應(yīng)文章標(biāo)簽。
之前寫過一個(gè)專欄《初識(shí)Python之系列文章》,當(dāng)時(shí)更新完這個(gè)專欄的時(shí)候,我發(fā)現(xiàn)并沒有很多的關(guān)鍵詞被點(diǎn)擊,因?yàn)槲蚁胍氖且粋€(gè)包含Python全套的語法,所以有結(jié)構(gòu)就要犧牲一下流量熱度,酒香不怕巷子深,今天的這篇文章將帶它重出江湖!一戰(zhàn)成名!
首先學(xué)習(xí)Python要知道什么是Python?其實(shí)在這篇文章我已經(jīng)介紹的非常詳細(xì)了,大家可以點(diǎn)擊進(jìn)去閱讀!
在我的認(rèn)知里面我覺得,你要想學(xué)好一個(gè)東西一定要:知其然,然后知其所以然!
知己知彼,方可百戰(zhàn)百勝,說的沒有錯(cuò)!
1. PYcharm專業(yè)版是功能最豐富的,與社區(qū)版相比,PYcharm專業(yè)版增加了Web開發(fā)、Python We框架、Python分析器、遠(yuǎn)程開發(fā)、支持?jǐn)?shù)據(jù)庫(kù)與SQL等更多高級(jí)功能。
2. PyCharm的社區(qū)版中沒有Web開發(fā)、Python We框架、Python分析器、遠(yuǎn)程開發(fā)、支持?jǐn)?shù)據(jù)庫(kù)與SQL等這些功能。
3. 專業(yè)版的需要我們付費(fèi)購(gòu)買激活碼才能正常使用,適合于公司項(xiàng)目的開發(fā)和一些正常的運(yùn)作。而作為社區(qū)版的我們可以免費(fèi)進(jìn)行使用,這個(gè)是適用于學(xué)習(xí)者進(jìn)行學(xué)術(shù)交流,和相關(guān)編程教育者使用。
1. anaconda(官方網(wǎng)站)就是可以便捷獲取包且對(duì)包能夠進(jìn)行管理,同時(shí)對(duì)環(huán)境可以統(tǒng)一管理的發(fā)行版本。Anaconda包含了conda、Python在內(nèi)的超過180個(gè)科學(xué)包及其依賴項(xiàng)。
2. anaconda具有開源,安裝過程簡(jiǎn)單可以高性能的使用python和R語言,同時(shí)有免費(fèi)的社區(qū)支持。
3. 我們可以去下載anaconda作為我們pycharm的編譯環(huán)境,在處初學(xué)python語法的過程中我們可以完全解決這些問題。
點(diǎn)擊文章進(jìn)入詳細(xì)的安裝教程等著你喲,工欲善其事必先利其器
我們使用的開發(fā)軟件:Pycharm編輯器有一些使用技巧,之前在這篇文章里面提供了很多的技巧指南,同時(shí)給很多的小伙伴發(fā)放了資源福利,在這里我給我的粉絲小伙伴和全網(wǎng)小伙伴提前透露一下,粉絲如果突破10000+我將寫一篇資源福利大放送文章,把我所有的資源全部奉獻(xiàn)出來,哈哈哈,期待600個(gè)GB的文檔視頻和代碼!
- name=input('請(qǐng)輸入你的名字:')
- age=int(input('請(qǐng)輸入你的年齡'))
- print(name)
- print(age)
詳細(xì)語法請(qǐng)點(diǎn)擊標(biāo)題!
至于詳細(xì)的語法介紹,請(qǐng)大家移步到文章鏈接里面喲,點(diǎn)擊標(biāo)題即可喲
凡遇事則立,不預(yù)則廢 注釋很重要?。。?/strong>
對(duì)于一個(gè)有發(fā)展的潛力的程序員或者IT工作者,注釋一定是很重要的,要有自己的代碼風(fēng)格,但是一定要注釋,作為一個(gè)初學(xué)者我們必須要養(yǎng)成注釋代碼的習(xí)慣,這樣有利于我們以后的代碼便于他人查看,這是一個(gè)程序員必須要養(yǎng)成的習(xí)慣之一。
在工作的時(shí)候也要注意,我們?cè)谧鲰?xiàng)目的時(shí)候,任何一個(gè)項(xiàng)目都是需要一個(gè)團(tuán)隊(duì)協(xié)作完成的,所以你負(fù)責(zé)的代碼需要注釋,要讓其他人看得懂,這是非常重要的!
命名也是非常重要,規(guī)范的命名對(duì)我們的代碼也是非常重要的,每一個(gè)公司都會(huì)有自己的命名規(guī)則,我們需要養(yǎng)成這種習(xí)慣,在以后可以快速的適應(yīng)這種環(huán)境。
基礎(chǔ)語法最重要的就是字符串的研究,下面是字符串的知識(shí)點(diǎn)詳細(xì)的思維導(dǎo)圖:
a=int(input('輸入第一個(gè)數(shù)字: '))b=int(input('輸入第二個(gè)數(shù)字: '))if a>b:print('最大值為:%s'%a)if a>=100:print(a*a)elif a==b:print('二值相等為:{}',format(a))else:print('最小值為:%s'%b)
- magicians=['alice','david','carolina']
- for magician in magicians:
- print(magician)
current_number=1while current_number<=5:print(current_number)current_number+=1
- for letter in 'python':
- if letter=='h'
- break
var=10while var>0:var-=1if var==5:break
- for letter in 'python':
- if letter=='h':
- continue
range(start,stop,step)start代表起始值,而stop代表終止值,step代表過程如果是range(0,10,2)>>>2,4,6,8
- a=list(range(1,4))
- print(a)
- >>>
- [1,2,3]
- 這里打印出來是沒有4的,這是因?yàn)閞ange函數(shù)的特點(diǎn)
- 永遠(yuǎn)不能打印出最后的一個(gè)參數(shù)
對(duì)于條件判斷,最容易忽略的就是,if 和 Elif 這個(gè)語法,當(dāng)我們想要執(zhí)行多次判斷的時(shí)候,我們需要寫多次if 語句,但是我們使用if Elif else 它只能執(zhí)行一次正確的結(jié)果,所以這個(gè)是我們需要好好理解的。此外對(duì)于循環(huán),我們應(yīng)該根據(jù)具體的實(shí)際場(chǎng)景來設(shè)置break和continue。
創(chuàng)建元組
tup=('wang','xiao','wang');tup1=();tup2=('wang',)
注意元組是一個(gè)不可以修改的對(duì)象,需要大家記住這個(gè)!?。?/p>
元組訪問要對(duì)索引有深刻的認(rèn)識(shí),索引如何理解,大家看看這個(gè)案例或許就有所感覺了
- tup=['wang','xiao','wang']
- print(tup[:2])
- print(tup[0])
- print(tup[1:])
- >>>
- ['wang', 'xiao']
- wang
- ['xiao', 'wang']
1.如果對(duì)于python這個(gè)字符串,取到“p”就必須是【0】
2.如果我要取到“n”可以是【5】,也可以【-1】
3.如果我要取“py”,【0:2】or[:2]
4.如果我要取到“on”,【-2:】《這里用到了負(fù)索引》
列表其實(shí)很元組創(chuàng)建的思想差不多,但是不一樣的就是列表是:[],而元組是:()
變量.title()~首字母大寫
變量.append()~添加
變量.remove()~刪除
index(元素)~返回元素第一次出現(xiàn)的位置編號(hào)
pop([i])~返回參數(shù)位置所對(duì)應(yīng)的值,并刪除
變量.sort(reverse=Ture)降序排列;False為升序
更新 插入 修改 刪除 都是和元組的操作一樣的,列表里面可以鑲嵌其他列表
a = {key1 : valuel, key2 : value2 }
創(chuàng)建一個(gè)字典,我們?nèi)粘i_發(fā)所需要的數(shù)據(jù)類型,字典相對(duì)于還是用的比較多的,對(duì)于如何操作字典我們還是需要有一定的了解
a['python']=99
刪除字典
del a['python']
- dict={}
- dict['python']=100
- dict['ipython']=101
- # del dict['python']
- print(dict)
- print(len(dict))
- print(str(dict))
- print(type(dict))
使用keys()遍歷字典里面的所有值
dict={}dict['python']=100dict['ipython']=101for a in dict.keys():print(a)
運(yùn)用sorted()來對(duì)里面的鍵進(jìn)行排序,這里是以字母的順序來的
使用values()遍歷字典里面的所有值
- dict={
- 'a':100,'b':15,'y':85,'c':55
- }
- print(list(dict.values() ))
# 用set進(jìn)行一些集合運(yùn)算a=set('1,2,3,4')b=set('3,4,5,6')print(a-b)print(a|b )print(a&b)print(a^b)
對(duì)于字典里面有一個(gè)get(x,y)。這個(gè)東西容易忘記,我們這樣理解,比如當(dāng)我們獲取這個(gè)字典的時(shí)候,我們通過x這個(gè)鍵來輸出它的值,但是我們?cè)谶@個(gè)序列里面沒有發(fā)現(xiàn)X這個(gè)鍵的時(shí)候,他就會(huì)自動(dòng)創(chuàng)建一個(gè)X鍵,然后對(duì)應(yīng)的把后面的值傳給作為X的值,如果后者不成立,那么參數(shù)Y也就是一個(gè)無用的。
注意這里的get()方法知識(shí)獲取字典里面的值,但是沒有改變字典的值,如果我們想要字典里面沒有這個(gè)鍵的話,就自動(dòng)創(chuàng)建一個(gè),并更新字典里面的數(shù)值,就需要用到setdefault(x,y)這個(gè)方法,它和get的解釋一樣,都是獲取值。
- def<函數(shù)名>(參數(shù)列表):
- 函數(shù)語句
- return<返回值>
# 定義一個(gè)沒有參數(shù)的函數(shù)def hello_python():''' 打印出一句話 :return: 無 '''print('hello,python!')# 調(diào)用該函數(shù)hello_python()
- # 定義一個(gè)帶有參數(shù)和返回值的函數(shù)
- def all_return(T):
- '''
- 計(jì)算總和
- :param num:
- :return: 一個(gè)數(shù)字
- '''
- result = 0
- for i in T:
- result += i
- return result
- print(all_return((1, 4)))
lambda函數(shù)在我們的平時(shí)開發(fā)當(dāng)中有一定的好處和便捷,特別是在學(xué)習(xí)spark的時(shí)候,我們發(fā)現(xiàn)lambda的強(qiáng)大之處!
'''模擬狗狗的日常'''class Dog():'''小狗狗'''def __init__(self,name,age):'''初始化屬性name和age'''self.name=nameself.age=agedef wang(self):'''模擬狗狗的汪汪叫'''print(self.name.title()+'汪汪!')def shen(self):print(self.name.title()+'伸舌頭')my_dog=Dog('junne',15)you_dog=Dog('linux',16)print('我的愛犬的名字是:'+my_dog.name.title()+'.')print('我的愛犬已經(jīng)是:'+str(my_dog.age)+'歲了!')my_dog.wang()my_dog.shen()print('\n你的愛犬的名字是:'+you_dog.name.title()+'.')print('你的愛犬已經(jīng)是:'+str(you_dog.age)+'歲了!')you_dog.wang()you_dog.shen()
- '''繼承'''
- '''定義并使用子類'''
- class Car():
- '''汽車之家'''
- def __init__(self, manufacturer, model, year):#為實(shí)例化提供形參信息
- self.manufacturer=manufacturer
- self.model=model
- self.year=year
- self.odometer_reading=0
- def get_descriptive_name(self):#返回信息打印
- long_name=str(self.year)+' '+self.manufacturer+' '+self.model
- return long_name.title()
- def update_obometer(self, mileage):#里程增加
- if mileage>=self.odometer_reading:
- self.odometer_reading=mileage
- # print('這是一個(gè)合理的數(shù)據(jù)!',str(self.odometer_reading)+'千米!')
- else:
- print('這是一個(gè)不合理的數(shù)據(jù)!')
- def increament_odometer(self,miles):#智能加曲
- self.odometer_reading+=miles
- def read_obometer(self):#打印里程數(shù)
- print('這是一輛新車,目前儀表顯示行程為' + str(self.odometer_reading) + '千米!')
- class Bmw(Car):
- '''這是一個(gè)子類,基類是Car'''
- def __init__(self,manufacturer, model, year):
- super().__init__(manufacturer, model, year)#這個(gè)是一個(gè)特殊的函數(shù),它的功能是將父類和子類連接關(guān)聯(lián)起來
- # self.battery_size='6缸 3.0T'
- self.Motor=Motor()#自動(dòng)創(chuàng)建該motor實(shí)例,雖然沒有指定參數(shù),但是下面的函數(shù)指定了
- # def motor(self):
- # print('發(fā)動(dòng)機(jī)是'+str(self.battery_size))
- class Motor(Bmw):
- def __init__(self,Motor_size=60):
- self.Motor_size=Motor_size
- def describe_motor(self):
- print('這款車的發(fā)動(dòng)機(jī)參數(shù)是'+str(self.Motor_size)+'6缸,3.0T渦輪增壓,225KW.')
- my_tesla=Bmw('寶馬','535Li','2017款')
- print(my_tesla.get_descriptive_name())
- my_tesla.update_obometer(0)
- my_tesla.read_obometer()
- # my_tesla.motor()
- print('*******************************')
- my_tesla.increament_odometer(10)
- my_tesla.read_obometer()
- my_tesla.Motor.describe_motor()
在Python里面一切皆對(duì)象,如果把面向?qū)ο蟮乃枷肴跁?huì)貫通之后,在設(shè)計(jì)代碼的時(shí)候應(yīng)該會(huì)得心應(yīng)手!
詳細(xì)的語法請(qǐng)點(diǎn)擊標(biāo)題學(xué)習(xí)!
open(filename,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closed=True,opener=None)
- '''writelines()'''
- '''該函數(shù)的功能是向文件寫入多行字符串'''
- fo = open('王小王.txt','w',encoding='utf-8')
- fo.writelines('hello,python!')
- # 這里也可以通過寫入列表,或者其他類型
- for i in range(5):
- line=fo.readline()
- print(line)
- fo.close()
- '''*****************'''
- fo =open(r'王小王.txt',encoding='utf-8')
- print(fo.readline())
- fo.close()
至于文件的具體操作你可以點(diǎn)擊文章,因?yàn)樯婕暗降奶?,?jiǎn)單介紹就失去其他文章匯集在這里的意義了
在實(shí)際的開發(fā)中,我們經(jīng)常遇到一些報(bào)錯(cuò)的例子,在pycharm的顯示頁面下,當(dāng)我們看到一串串的紅色的英文字母的時(shí)候,就是出現(xiàn)異常,這個(gè)時(shí)候如果英文好一點(diǎn)的童鞋,就可以按照它的提示,自己去解決。但是英文是很多的童鞋的軟肋,不過你也不要擔(dān)心,這個(gè)時(shí)候你就需要有一個(gè)翻譯神器,我使用的是網(wǎng)易有道詞典,不過有時(shí)候我們還是會(huì)遇到一些比較生僻的表達(dá),所以本期文章我們就一起來看看關(guān)于Python實(shí)際開發(fā)過程中的一些常見報(bào)錯(cuò)和解決方法。
try:a=str('王小王')+1233print(a)except:print('出現(xiàn)異常語法錯(cuò)誤!')
詳情請(qǐng)點(diǎn)擊文章標(biāo)題!
正則表達(dá)式是一種文本模式,包括普通字符和元字符。正則表達(dá)式雖是繁瑣的,但它是強(qiáng)大的,而且廣泛的應(yīng)用在Java,c++,PHP,Python,C#等
本來說到異常處理,Python的基礎(chǔ)語法就應(yīng)該結(jié)束了,但是我覺得正則表達(dá)式在Python里面還是在其他語言里面都應(yīng)用的比較廣泛,所以還是作為一個(gè)比較完整的Python全套語法,我還是寫下了這篇!供大家學(xué)習(xí)和參考!
- '''統(tǒng)計(jì)指定文件中函數(shù)和變量'''
- import re
- import sys
- def tongjiFunc(s):
- r=re.compile(r'''
- (?<=def\s)
- \w+
- \(.*?\)
- (?=:)
- ''',re.X |re.U)
- return r.findall(s)
- def tongjiVar(s):
- vars=[]
- r=re.compile(r'''
- \b
- \w+
- (?=\s=)
- ''',re.X|re.U)
- vars.extend(r.findall(s))
- re.compile(r'''
- (?<=for\s)
- \w+
- \s
- (?=in)''',re.X|re.U)
- vars.extend(r.findall(s))
- return vars
- if len(sys.argv)==1:
- sour=input('親輸入你的文件路徑:')
- else:
- sour=sys.argv[1]
- file=open(sour,encoding='utf-8')
- s=file.readlines()
- file.close()
- print('不要著急!慢慢的......')
- print('文件',sour,'中存在的函數(shù)有:')
- print('*********************************')
- i=0
- for line in s:
- i+=1
- function=tongjiFunc(line)
- if len(function)==1:
- print('line:',i,'\t',function[0])
- print('**********************************')
- print('文件',sour,'中存在變量有:')
- print('******************************')
- i=0
- for line in s:
- i+=1
- var=tongjiVar(line)
- if len(var)==1:
- print('line',i,'\t',var[0])
- print('結(jié)束了?。。。?!')
寫到這里,發(fā)現(xiàn)已是慢慢的收獲,希望這一篇文章可以幫助全網(wǎng)的所有學(xué)習(xí)Python的小伙伴,你們的支持永遠(yuǎn)是我們輸出的最大動(dòng)力!??!
聯(lián)系客服