1. 開發(fā)環(huán)境搭建——要使用python準備開發(fā)軟件
軟件的性質(zhì)
單機軟件【**】
網(wǎng)絡軟件
C/S結構的網(wǎng)絡軟件,如:QQ、LOL
Client/Server
B/S結構的網(wǎng)絡軟件,如:淘寶,網(wǎng)頁游戲等[***]
Browser/Server
軟件的作用:解決實際問題
軟件的核心:處理數(shù)據(jù)的
處理數(shù)據(jù)的方式:增刪改查
程序中怎么表示數(shù)據(jù)
> 數(shù)據(jù)類型
基本數(shù)據(jù)類型:
字符串(str)
整數(shù)(int)
浮點數(shù)(float)
布爾(bool)
> 數(shù)據(jù)類型轉(zhuǎn)換
字符串->整數(shù) xInt = int(yStr)
字符串->浮點數(shù):xFloat = float(yStr)
其他類型->字符串:xStr = str(other)
程序中怎么存儲數(shù)據(jù)
變量:程序中臨時存儲數(shù)據(jù)的容器
命名規(guī)則:只能由字母、數(shù)字、下劃線組成,并且只能以字母或者下劃線開頭
命名規(guī)范:駝峰命名法,見名知意
使用規(guī)范:先聲明,后使用
程序中怎么進行數(shù)據(jù)處理
運算符:專門進行數(shù)據(jù)計算處理的符號
算數(shù)運算符:+ - * / % // **
sum = a + b; 將a和b相加得到他們的和
賦值運算符:= += -= *= /= %= //= **=
a = 12? 將數(shù)據(jù)12存放在變量a中;將12賦值給變量a
比較/關系運算符:> >= < <= != ==
a > b 判斷數(shù)據(jù)a是否大于數(shù)據(jù)b,是則返回True,否則返回False
邏輯運算符:and? or? not
conditionA and conditionB
當條件A和條件B,都為True,則返回True,否則返回Flase
注意:對比其他語言(and--&&? or--|| not--!)
成員運算符:
a in b,查詢在b中是否包含a,包含返回True,否則返回False
可以操作字符串,用于查詢字符串中是否包含某些字符
可以操作列表,用于查詢列表中是否包含某個數(shù)據(jù)
程序中的數(shù)據(jù)處理,總是伴隨著各種條件的
程序結構之選擇結構
if 條件:
[縮進]條件中的代碼塊
if 條件A:
條件A成立的代碼
elif 條件B:
條件B成立的代碼
else:
所有條件都不成立的代碼
if 條件A:
if 條件B:
條件A滿足的基礎上條件B成立執(zhí)行的代碼
elif 條件C:
條件A滿足的基礎上,同時滿足條件C執(zhí)行的代碼
規(guī)范:從選擇結構開始,代碼中就出現(xiàn)了縮進,python中是通過縮進的方式強制控制代碼結構的
注意:默認情況一般縮進一個Tab,通常會設置為4個空格
如果你使用Tab縮進,所有代碼行都使用Tab縮進
如果你使用空格縮進,所有代碼行都使用空格縮進
程序中,總有那么一些事情,需要重復的執(zhí)行
程序結構之循環(huán)結構
while 條件:
[縮進] 條件成立時重復執(zhí)行的代碼
########################################
while 條件1:? 3
條件1滿足執(zhí)行的循環(huán)
while 條件2:? 5
條件2滿足執(zhí)行的循環(huán)
########################################
條件1執(zhí)行第一次循環(huán)-> 條件2執(zhí)行一遍循環(huán)
條件1執(zhí)行第二次循環(huán)-> 條件2執(zhí)行一遍循環(huán)
條件1執(zhí)行第N次循環(huán)-> 條件2執(zhí)行N遍循環(huán)
>>> x = 1
>>> while x <= 3:
...? ? print("外層循環(huán)執(zhí)行次數(shù):%s" % x)
...? ? y = 1
...? ? while y <= 5:
...? ? ? ? print("--->內(nèi)層循環(huán)執(zhí)行次數(shù):%s" % y)
...? ? ? ? y += 1
...? ? x += 1
...
循環(huán)結構中,總有一些死循環(huán)操作死循環(huán)一定要注意,否則會造成不可估量的損失和無法估計的回報? ? ? ? ? ? ? ? ? ? ? ??
所以要善于使用死循環(huán)的操作,一定要再死循環(huán)中添加適合的條件讓循環(huán)在某個條件下跳出或者終止!? ? ? ? ? ? ? ??
循環(huán)結構中,break關鍵字? ? ? ? ? ? ? ? ? ? ? ??
用于在循環(huán)中,跳出當前循環(huán)的操作? ? ? ? ? ? ? ? ? ? ? ??
while True:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ?break? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? 3? ? ? ? ? ? ? ? ? ? ? ? -> 123123123123123123...-> 跳出while
循環(huán)結構中,continue關鍵字
? ? ? ? ? ? ? ? ? ? ? ? 用于結束本次循環(huán),直接開始下一次循環(huán)? ? ? ? ? ? ? ? ? ? ??
? while True:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? 2? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? continue? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 4? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 5? ? ? ? ? ? ? ? ? ? ? ??
-> 1234512345...123123451234512345
循環(huán)中的else關鍵字【最容易產(chǎn)生誤導的一個關鍵字】
? ? ? ? ? ? ? ? ? ? ? ? while x < 3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? else:? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [elseelse]? ? ? ? ? ? ? ?
?? ? ? ? -> 123 123 123 [elseelse]? ? ? ? ? ? ? ??
? ? ? ? -> 123 123->跳出while,不執(zhí)行else
循環(huán)for
python中的for循環(huán)比較特殊
for循環(huán)主要用于固定的數(shù)據(jù)的遍歷查看操作
語法:
for 變量 in 要循環(huán)的數(shù)據(jù):
[縮進]使用變量
使用:
for x in "abc":
...
-> x="a"->x="b"->x="c"
for循環(huán)也有break\continue\else,使用規(guī)則一致!
字符串:包含在一對單引號或者雙引號中的多個字符稱為字符串
python中~有一種可以直接書寫多行的長字符串,包含在三個單引號或者雙引號中的多個字符,通常可以用來做注釋
聲明定義一個字符串
str_1 = "hello python, this is the string!"
str_2 = """ hello
python
this is the string! """
字符串的操作
> 獲取字符串的長度 len(str)
文章字數(shù)限制、賬號密碼長度限制
> 獲取某個字符的位置 index()
通過s.index("c")獲取括號中字符的位置
如果沒有查詢到,會出現(xiàn)ValueError錯誤
> 在字符串中,查詢某個字符 find()
通過s.find("c")獲取括號中字符的位置
如果沒有查詢到,會返回一個-1
> 在字符串中,查詢某個關鍵字符出現(xiàn)的次數(shù) count()
> endswith(s)判斷字符串是否以s結尾
郵箱必須以.com結尾
> startswith(s)判斷字符串是否以s開頭
個人主頁 必須以http://開頭
> s.isalnum() 判斷字符串是否只包含數(shù)字或者字母
> s.isalpha() 判斷字符串中的每個字符是否都是字母
> s.isdigit() 判斷字符串中的每個字符是否都是數(shù)字
> s.replace("old", "new")使用new替換掉字符串中出現(xiàn)的old
> s.strip() 剔除掉字符串兩邊出現(xiàn)的空格
列表 list
用來保存一組多個數(shù)據(jù)的容器
語法:變量 = [數(shù)據(jù)1, 數(shù)據(jù)2, ... 數(shù)據(jù)n]
列表操作數(shù)據(jù):增刪改查
li = []
增加數(shù)據(jù)
li.append("data") 在末尾增加數(shù)據(jù)
li.insert(0, "xueqi") 在指定的位置增加數(shù)據(jù)
刪除數(shù)據(jù)
li.pop() 刪除列表末尾的數(shù)據(jù)
li.remove("data") 刪除指定的數(shù)據(jù)
修改數(shù)據(jù)
li[0] = "biyao" 根據(jù)下標來直接覆蓋數(shù)據(jù)
查詢數(shù)據(jù)
name = li[0] 根據(jù)下標,直接獲取在列表中對應的數(shù)據(jù)
翻轉(zhuǎn)列表
reverse()
列表數(shù)據(jù)排序
sort()
清空列表
li.clear()
擴展:
第三方模塊,可以通過import引入
退出程序 import sys; sys.exit(0)
清屏命令 import os;? os.system("cls")
數(shù)學操作 import math; math.sin/cos/tan/cot/...
math.radians()弧度轉(zhuǎn)換成角度
隨機數(shù): import random
random.randint() / random.randrange()