一、安裝python環(huán)境
1、安裝pycharm軟件
PyCharm是一種Python IDE,其帶有一整套可以幫助用戶在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具,比如, 調(diào)試、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制等等。此外,該IDE提供了一些高級(jí)功能,以用于支持Django框架下的專業(yè)Web開(kāi)發(fā)。同時(shí)支持Google App Engine,更酷的是,PyCharm支持IronPython!這些功能在先進(jìn)代碼分析程序的支持下,使 PyCharm 成為 Python 專業(yè)開(kāi)發(fā)人員和剛起步人員使用的有力工具。
安裝完成pycharm軟件之后,在[http://idea.lanyus.com]網(wǎng)址獲取注冊(cè)碼,將注冊(cè)碼復(fù)制到軟件中需要注冊(cè)碼的地方。

然后在C:\Windows\System32\drivers\etc目錄下找到hosts文件,將文件復(fù)制到桌面,以記事本的方式打開(kāi)該文件,然后將那兩個(gè)網(wǎng)址復(fù)制到文本最下面(“0.0.0.0 account.jetbrains.com”及“0.0.0.0 www.jetbrains.com”)
如下圖所示。

將修改后的hosts文件重新復(fù)制到C:\Windows\System32\drivers\etc目錄下,將原先的hosts文件替換掉,替換成功后,重新啟動(dòng)pycharm軟件即可。
2、安裝Anaconda3-5.3.1軟件(或python軟件)
Anaconda是Red Hat Linux和Fedora的安裝管理程式。它以Python及C語(yǔ)言寫成,以圖形的PyGTK和文字的python-newt介面寫成。它可以用來(lái)自動(dòng)安裝配置,使用戶能夠以最小的監(jiān)督運(yùn)行。
Anaconda安裝管理程式應(yīng)用在RHEL,F(xiàn)edora和其他一些項(xiàng)目,Anaconda提供純文字模式和GUI模式,用戶可以安裝在各種各樣的系統(tǒng)。
由于我的電腦上安裝不了,所有我安裝的是python 3.7版本。(安裝軟件沒(méi)什么難度,就不放圖了。)
3、以上的軟件都安裝好之后,就可以新建python項(xiàng)目了。
這里我們創(chuàng)建的是Pure Python,在右邊的Location后面的文本框中可以輸入自己的工作空間,之后點(diǎn)擊location下面的倒三角就會(huì)出現(xiàn)下圖。

然后選擇第二給單選框,由于我之前已經(jīng)配置過(guò)了,所有文本框中有路徑,第一次打開(kāi)可能沒(méi)有,然后點(diǎn)擊文本框右邊的省略號(hào),就會(huì)出現(xiàn)下圖。

如果是安裝的Anaconda就選擇第二個(gè)選項(xiàng)Code Environment,如果是安裝的是Python就點(diǎn)擊第四個(gè)選項(xiàng)Pipenv Environment,我是安裝的python所以就選擇的第四個(gè),它會(huì)自動(dòng)找到你安裝軟件的路徑,然后點(diǎn)擊ok就可以了。

然后點(diǎn)擊create就創(chuàng)建成功了。
二、python介紹
Python是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,由吉多·范羅蘇姆創(chuàng)造,第一版發(fā)布于1991年,可以視之為一種改良的LISP。Python的設(shè)計(jì)哲學(xué)強(qiáng)調(diào)代碼的可讀性和簡(jiǎn)潔的語(yǔ)法。相比于C++或Java,Python讓開(kāi)發(fā)者能夠用更少的代碼表達(dá)想法。
由于Python語(yǔ)言的簡(jiǎn)潔性、易讀性以及可擴(kuò)展性,在國(guó)外用Python做科學(xué)計(jì)算的研究機(jī)構(gòu)日益增多,一些知名大學(xué)已經(jīng)采用Python來(lái)教授程序設(shè)計(jì)課程。例如卡耐基梅隆大學(xué)的編程基礎(chǔ)、麻省理工學(xué)院的計(jì)算機(jī)科學(xué)及編程導(dǎo)論就使用Python語(yǔ)言講授。眾多開(kāi)源的科學(xué)計(jì)算軟件包都提供了Python的調(diào)用接口,例如著名的計(jì)算機(jī)視覺(jué)庫(kù)OpenCV、三維可視化庫(kù)VTK、醫(yī)學(xué)圖像處理庫(kù)ITK。而Python專用的科學(xué)計(jì)算擴(kuò)展庫(kù)就更多了,例如如下3個(gè)十分經(jīng)典的科學(xué)計(jì)算擴(kuò)展庫(kù):NumPy、SciPy和matplotlib,它們分別為Python提供了快速數(shù)組處理、數(shù)值運(yùn)算以及繪圖功能。因此Python語(yǔ)言及其眾多的擴(kuò)展庫(kù)所構(gòu)成的開(kāi)發(fā)環(huán)境十分適合工程技術(shù)、科研人員處理實(shí)驗(yàn)數(shù)據(jù)、制作圖表,甚至開(kāi)發(fā)科學(xué)計(jì)算應(yīng)用程序。
三、python的基礎(chǔ)學(xué)習(xí)
python中的單行注釋是使用#,java中是使用//,//在python中是代表整除
1.python中的變量
int a = 100;
a = 100 # 動(dòng)態(tài)類型語(yǔ)言
print(a)
交換兩個(gè)變量(其他語(yǔ)言)
a = 100
b = 1000
temp = 0
temp = a
a = b
b = temp
print(a, b)
python中使用一行代碼就可以解決
a, b = b, a
print(a, b)
2、標(biāo)識(shí)符
- java 字母數(shù)字下滑線,美元符, 且不能以數(shù)字開(kāi)頭
2.c、python 字母數(shù)字下滑線、 且不能以數(shù)字開(kāi)頭
3、 變量命名方式
1.駝峰式命名法、下滑線命名
a.大駝峰 --UserNameInfo
b.小駝峰 -- userNameInfo
c.下劃線:user_name_info
2、python3可以使用中文命名。(不建議)
變量1 = 'hehe'
print(變量1)
4、 python2.x 和 python3.x 不兼容
Python的3??.0版本,常被稱為Python 3000,或簡(jiǎn)稱Py3k。相對(duì)于Python的早期版本,這是一個(gè)較大的升級(jí)。
為了不帶入過(guò)多的累贅,Python 3.0在設(shè)計(jì)的時(shí)候沒(méi)有考慮向下相容。
許多針對(duì)早期Python版本設(shè)計(jì)的程式都無(wú)法在Python 3.0上正常執(zhí)行。
為了照顧現(xiàn)有程式,Python 2.6作為一個(gè)過(guò)渡版本,基本使用了Python 2.x的語(yǔ)法和庫(kù),同時(shí)考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語(yǔ)法與函數(shù)。
新的Python程式建議使用Python 3.0版本的語(yǔ)法。
除非執(zhí)行環(huán)境無(wú)法安裝Python 3.0或者程式本身使用了不支援Python 3.0的第三方庫(kù)。目前不支援Python 3.0的第三方庫(kù)有Twisted, py2exe, PIL等。
大多數(shù)第三方庫(kù)都正在努力地相容Python 3.0版本。即使無(wú)法立即使用Python 3.0,也建議編寫相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7來(lái)執(zhí)行。
最簡(jiǎn)單識(shí)別版本的方法:
print('haha') 3.x
print 'haha' 2.x
5、 python中的判斷語(yǔ)句
在python語(yǔ)言使用空格進(jìn)行強(qiáng)制縮進(jìn),不使用{}
縮進(jìn):Python開(kāi)發(fā)者有意讓違反了縮進(jìn)規(guī)則的程序不能通過(guò)編譯,以此來(lái)強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。并且Python語(yǔ)言利用縮進(jìn)表示語(yǔ)句塊的開(kāi)始和退出(Off-side規(guī)則),而非使用花括號(hào)或者某種關(guān)鍵字。增加縮進(jìn)表示語(yǔ)句塊的開(kāi)始,而減少縮進(jìn)則表示語(yǔ)句塊的退出??s進(jìn)成為了語(yǔ)法的一部分。
a、其他語(yǔ)言的判斷語(yǔ)句
if(判斷條件){
滿足條件要執(zhí)行的事情
}else{
不滿足條件要執(zhí)行的事情
}
b、python中的判斷語(yǔ)句
if 要滿足的條件:
滿足條件要執(zhí)行的事情
else:
不滿足條件要執(zhí)行的事情
例子:判斷是否成年
age = input('請(qǐng)輸入您的年齡')
# age = 8
# 判斷一個(gè)變量的數(shù)據(jù)類型
print(type(age))
# 字符串轉(zhuǎn)化成 整型
age = int(age)
print(type(age))
if age >= 18:
print('恭喜你成年了,可以去網(wǎng)吧了')
else:
print('對(duì)不起,你還是個(gè)寶寶')
6、python中的循環(huán)語(yǔ)句
1.while循環(huán)格式
while 要判斷的條件:
循環(huán)體
例子:輸出 1 ~ 100之間的累加和
i = 1
sum_num = 0
while i <= 100:
# sum_num = sum_num + i #python中可以簡(jiǎn)寫為以下形式
sum_num += i
i += 1
print(sum_num)
2.python中跳出循環(huán)的語(yǔ)句
break 跳出本層循環(huán)
continue 跳出本次循環(huán),執(zhí)行下次循環(huán)
# 當(dāng)累加和大于 1000時(shí)跳出循環(huán)
i = 1
sum = 0
while i <= 100:
sum += i
if sum > 1000:
break
i += 1
print(sum)
例子: 計(jì)算所有奇數(shù)的和
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
# 偶數(shù)時(shí)跳出
i += 1
continue
sum += i
i += 1
print(sum)
猜數(shù)字游戲(練習(xí))
1、準(zhǔn)備知識(shí)
隨機(jī)整數(shù)的生成
from random import randint
from 模塊名 import name1, name2.。。。。
randint(start, end) [start, end]
print(randint(-20, 20))
while True:
print(randint(23,25))
#字符串格式化輸出
hero_name = '魯班七號(hào)'
grade = 15
print('您選擇的英雄是'+hero_name+'當(dāng)前等級(jí)為'+grade+'級(jí)')
print('您選擇的英雄是{}當(dāng)前等級(jí)為{}級(jí)'.format(hero_name,grade))
2、游戲規(guī)則
1.控制臺(tái)輸入要猜數(shù)字的范圍
2.請(qǐng)您輸入要猜數(shù)字的最大值
3.請(qǐng)您輸入要猜數(shù)字的最小值
輸入要猜的數(shù)字
程序告訴玩家猜大了還是猜小了,知道猜對(duì)數(shù)字結(jié)束循環(huán)
統(tǒng)計(jì)猜數(shù)字的次數(shù)
a. 1次猜對(duì), 這是高手i次竟然就猜對(duì)
b. 2~5 次猜對(duì) , 你也太厲害吧, i次猜對(duì)了
c. 5次以上 你也太菜了,i次才猜對(duì),洗洗睡吧
max_num = int(input('請(qǐng)您輸入要猜數(shù)字的最大值'))
min_num = int(input('請(qǐng)您輸入要猜數(shù)字的最小值'))
# 電腦在 [min_num, max_num] 隨機(jī)生成一個(gè)數(shù)
computer_num = randint(min_num, max_num)
count = 0
while True:
# 輸入要猜的數(shù)字
# 程序告訴玩家猜大了還是猜小了,知道猜對(duì)數(shù)字結(jié)束循環(huán)
count += 1
guess_num = int(input('來(lái)了老弟,請(qǐng)輸入您要猜的數(shù)字'))
# 進(jìn)行判斷
if guess_num < computer_num:
print('您猜小了哦')
elif guess_num > computer_num:
print('您猜大了')
else:
# 猜對(duì)了
# 統(tǒng)計(jì)猜數(shù)字的次數(shù),輸出對(duì)應(yīng)提示語(yǔ)句
if count == 1:
print('這是高手,{}次竟然就猜對(duì)'.format(count))
elif count >= 2 and count<= 5:
print('你也太厲害吧, {}次猜對(duì)了'.format(count))
else:
print('你也太菜了,{}次才猜對(duì),洗洗睡吧'.format(count))
break
運(yùn)行結(jié)果:

下節(jié)課將要講解for循環(huán):
# for 循環(huán)
# for 臨時(shí)變量 in 可迭代對(duì)象:
# 循環(huán)體
for x in 'neusoft':
print(x)
for(int i = 0; i < 100; i++){
# 循環(huán)體
}
# 給你女朋友道歉100次
for i in range(1,101):
print('對(duì)不起,我錯(cuò)了,這是我第{}次向你道歉'.format(i))