黑馬程序員python教程,8天python從入門(mén)到精通,學(xué)python看這套就

第二章
day1
1. print直接輸出
2.字符串和字符打雙引號(hào)
3.
#單行注釋
4.
"""
多行注釋
"""
5.變量直接定義,不用說(shuō)明類型
6.變量可以直接進(jìn)行四則運(yùn)算
day2
1.
type()得到數(shù)據(jù)類型
print(type(變量))得到
或者用變量存儲(chǔ)type()的結(jié)果
# type()輸出數(shù)據(jù)的類型 "a" num = 1 result = type(1.1) print("第1個(gè)結(jié)果",type("a")) print("第2個(gè)結(jié)果",type(num)) print("第3個(gè)結(jié)果",result)
2.數(shù)據(jù)類型轉(zhuǎn)換
int_str = 1 string_str = "a" string2_str = "1" float_str = 1.1 bool_str = 0 result1 = int(float_str) result2 = float(int_str) result3 = int(string2_str) result4 = int(bool_str) result5 = bool(int_str) # result4 = int(string_str) print("float->int",type(result1),result1) print("int->float",type(result2),result2) print("string->int",type(result3),result3) print("bool->int",type(result4),result4) print("int->bool",type(result5),result5) # print("string->int",type(result4))
3.標(biāo)識(shí)符
英文 中文 數(shù)字 下劃線
數(shù)字不開(kāi)頭
大小寫(xiě)敏感
關(guān)鍵字不可占用
4.運(yùn)算符
/除法 (可以顯示小數(shù)位,結(jié)果為float類型)
//整除 (只顯示整數(shù)位)
**指數(shù) a^2 ->a**2
復(fù)合運(yùn)算 += 、-=、/=、//=、%=、*=、**=
5.字符串
單引號(hào)
雙引號(hào)
三引號(hào) ”“” ““”
雙引號(hào)內(nèi)的單引號(hào)以字符顯示 往后可以遞推
6.轉(zhuǎn)義符
\"
7.字符串拼接
使用+
8.字符串格式化
字符串占位%s
print("這里是str1=%s,這里是str2=%s"%(str1,str2))
順序占位
數(shù)字占位%d
浮點(diǎn)數(shù)占位%f
9.格式化精度控制
m.n
m為數(shù)字取值范圍 小于本身不生效(作用不明)
n為小數(shù)位數(shù)
%2.3f表示該位置的數(shù)字寬度為2 顯示小數(shù)點(diǎn)后三位
10.快速格式化
num1 = 1 num2 = 2 string1 = "晴天" print(f"今天是{num1}月{num2}日今天的天氣是{string1}")
11.表達(dá)式格式化
print("1*1的運(yùn)算結(jié)果是%d"%(1*1),"運(yùn)
算結(jié)果的數(shù)據(jù)類型是%s"%type(1*1)) print(f"1*1的運(yùn)算結(jié)果是{1*1}",f"運(yùn)算結(jié)果的數(shù)據(jù)類型是{type(1*1)}")
12.數(shù)據(jù)輸入
num = input("請(qǐng)輸入數(shù)據(jù)") print("輸入的數(shù)據(jù)是",num)
第三章
day3
1.邏輯運(yùn)算符,運(yùn)算結(jié)果為布爾類型的值
2.比較運(yùn)算符<、>、==、!=、>=、<=
3.if判斷語(yǔ)句
if 判斷條件:
從屬于if的語(yǔ)句前面為四個(gè)空格縮進(jìn)(tab)
if num1==num2: print("num1=num2") else: print("num1≠num2")
4.練習(xí)
需要注意input輸入的數(shù)據(jù)都是string類型,需要轉(zhuǎn)換數(shù)據(jù)類型
if elif else的運(yùn)用及嵌套
# 嵌套 print("歡迎來(lái)到游樂(lè)園,兒童10歲及以下免費(fèi),10歲未成年半價(jià),成年全價(jià)。\n請(qǐng)輸入你的年齡:") age = input() age = int(age) gender = input("請(qǐng)輸入你的性別女性0、男性1:") gender = int(gender) if age <= 10: print("您是未成年兒童,可以免費(fèi)入場(chǎng)。") elif age >= 18: print("您已經(jīng)成年,請(qǐng)收費(fèi)20元入場(chǎng)。") else: if gender == 0: print("您是青少年女生,請(qǐng)繳費(fèi)10元入場(chǎng)。") else: print("您是青少年男生,請(qǐng)繳費(fèi)10元入場(chǎng)。") print("驗(yàn)證完成,祝你游玩愉快!")
5.隨機(jī)數(shù)
先導(dǎo)包import random
num = random.randint(1,10)
int為類型
1-10為數(shù)據(jù)范圍
6.練習(xí)(判斷語(yǔ)句+嵌套)
randnum = random.randint(1,10) print("游戲開(kāi)始,本游戲?yàn)閿?shù)字猜測(cè)游戲,系統(tǒng)隨機(jī)生成一個(gè)數(shù)字,輸入數(shù)字進(jìn)行猜測(cè)") num = int(input("隨機(jī)數(shù)已經(jīng)生成請(qǐng)輸入你的答案")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: if num < randnum: num=int(input("你的答案偏小,您還有兩次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: if num < randnum: num = int(input("你的答案偏小,您還有1次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: print(f"啊哦,你的機(jī)會(huì)已用完,答案是:{randnum}") elif num > randnum: num = int(input("你的答案偏大,您還有1次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: print(f"啊哦,你的機(jī)會(huì)已用完,答案是:{randnum}") elif num > randnum: num = int(input("你的答案偏大,您還有兩次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: if num < randnum: num = int(input("你的答案偏小,您還有1次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: print(f"啊哦,你的機(jī)會(huì)已用完,答案是:{randnum}") elif num > randnum: num = int(input("你的答案偏大,您還有1次機(jī)會(huì),請(qǐng)重新輸入:")) if num == randnum: print(f"恭喜你,答對(duì)了!答案是:{randnum}") else: print(f"啊哦,你的機(jī)會(huì)已用完,答案是:{randnum}")di
第四章
day4
1.while循環(huán)
i = 0 while i<5: print(f"這是第{i+1}次循環(huán)。") i+=1
2.1~100的和
i = 1 sum = 0 while i<=100: sum +=i i+=1 print(f"1~100的和是{sum}")
3.循環(huán)猜數(shù)
i=3 import random random_num = random.randint(1,10) while i>0: num=int(input("請(qǐng)輸入您猜測(cè)的數(shù)字:")) if num==random_num: print("恭喜,答案正確!") else: if i!=1: i -= 1 print(f"答案錯(cuò)誤!您還有{i}次機(jī)會(huì)") elif i==1: i -= 1 print(f"答案錯(cuò)誤!游戲結(jié)束")
4.while循環(huán)嵌套,99乘法表
print("不換行",end=' ')
‘ ’里邊是輸出內(nèi)容最后面的內(nèi)容
\t 制表符使內(nèi)容對(duì)齊
i = 1 while i<=9: j=1 while j<=i: print(f"{j}x{i}={i*j}",end=' ') j+=1 print() i+=1
5.for循環(huán)
逐個(gè)處理
練習(xí) 統(tǒng)計(jì)字母a數(shù)量
count = 0 word = "this is a word , please find word a " for x in word: if x=="a": count+=1 print(f"總共有{count}個(gè)a")
6.range語(yǔ)句
生成數(shù)字序列
range(num)從0到num-1
range(num1,num2)從num1到num2-1
range(num1,num2,step)num1為起點(diǎn) num2終點(diǎn) step為步長(zhǎng),按步長(zhǎng)取數(shù),不包含num2
# 獲取100以內(nèi)偶數(shù)(含100) for i in range(0,101,2): print(i,end=' ') # 判斷100以內(nèi)的數(shù)字是否為偶數(shù) count= 0 for i in range(100): print(i) if i%2==0: count+=1 print(f"100以內(nèi)有{count}個(gè)偶數(shù)")
day5
1.不建議在循環(huán)外訪問(wèn)循環(huán)內(nèi)部的臨時(shí)變量
循環(huán)內(nèi)的臨時(shí)變量作用域在循環(huán)內(nèi)
2.for循環(huán)嵌套 99乘法表
# for + for for i in range(1,10): for j in range(1,i+1): # if j<=i: print(f"{j}x{i}={i*j}\t",end='') print() # for + while for i in range(1,10): j=1 while i>=j: print(f"{j}x{i}={i * j}\t", end='') j+=1 print()
3.break 和continue
break 跳出循環(huán)
continue 結(jié)束本次循環(huán),進(jìn)行下一次循環(huán)
4.練習(xí) break和continue
import random totle_salary = 10000 stuff_num = 20 personal_salary = 1000 performance = 0 for i in range(1,21): if totle_salary>0: performance = random.randint(1,10) if performance<=5: print(f"{i}號(hào)員工,績(jī)效為{performance},過(guò)低沒(méi)有工資") continue else: totle_salary-=1000 print(f"{i}號(hào)員工獲得工資1000元") else: print("工資已經(jīng)發(fā)完") break
第五章
1.len函數(shù)
可以查看變量的長(zhǎng)度
2.
# 統(tǒng)計(jì)字符串長(zhǎng)度 str1 = "this is a word" count = 0 for x in str1: if x !=" ": count+=1 print(f"字符串的長(zhǎng)度為{count}")
3.函數(shù)的定義
def 函數(shù)名(形參列表):
函數(shù)體
return 返回值
def my_len(data): count = 0 for x in data: if x != " ": count += 1 print(f"字符串的長(zhǎng)度為{count}") return count
4.函數(shù)的返回值
return 返回的值可以被變量接受
none 表示空
5.注釋說(shuō)明函數(shù)的功能(重要?。。。?/p>
按照格式編寫(xiě)
"""
函數(shù)說(shuō)明
:param x : 形參x的說(shuō)明
:return : 返回值的說(shuō)明
"""
6.函數(shù)的嵌套調(diào)用
在函數(shù)中調(diào)用其他的函數(shù)
在函數(shù)a中調(diào)用函數(shù)b
a執(zhí)行過(guò)程中遇到b先將b執(zhí)行結(jié)束,再繼續(xù)執(zhí)行a剩下的內(nèi)容
7.局部變量和全局變量
局部變量只能再作用域內(nèi)調(diào)用
全局變量整個(gè)程序中可用
8.練習(xí)
money = 5000000 name = None name = input("請(qǐng)輸入您的姓名:") def check(): print("··················余額查詢··················\n" f"{name},您好,您的余額是:{money}") menu() def deposit(num): print("··················存款··················\n" f"{name},您好,請(qǐng)輸入您的存款金額,并放入現(xiàn)金進(jìn)行確認(rèn)") global money money+=num menu() def draw(num): print("··················取款··················\n" f"{name},您好,請(qǐng)輸入您的取款金額,出鈔后進(jìn)行確認(rèn)") global money money -= num menu() def menu(): print("··················主菜單··················\n" "查詢余額【輸入1】\t\n" "存款【輸入2】\t\n" "取款【輸入3】\t\n" "退出【輸入4】\t") return input() while True: jianpan = menu() if jianpan == "1": check() continue
day 6
1.list tuple str set dict
2.一維列表和二維列表以及空列表
列表內(nèi)的數(shù)據(jù)類型沒(méi)有限制
empty_list =[] # empty_list = list() the_list = [1,2,3] print(the_list) print(type(the_list)) flat_list = [ [1,'a',False],[1,2]] print(flat_list) print(type(flat_list))
3.列表索引的使用
print(the_list[0]) for i in range(3): print(the_list[i]) i = -3 while i <=-1: print(the_list[i]) i+=1 i = -1 while i>-4: print(the_list[i]) i-=1
3.方法的定義
Class 方法名:
def 函數(shù)名:
方法的使用需要先實(shí)例化和import
實(shí)例化: 實(shí)例對(duì)象名 = 方法名()
方法使用 實(shí)例對(duì)象名.方法中的函數(shù)名()
4.列表的增刪查改
# index 使用 index = the_list.index(1) print(f"查看元素值為1在列表中的索引位置index={index}") # insert 使用 插入的位置后的元素的索引值+1 the_list.insert(0,4) print(the_list) # 追加元素 # 1 append 直接追加 元素追加在列表的最后 the_list.append(5) print(the_list) # 2 extend 追加一批元素 追加內(nèi)容為列表 兩個(gè)列表合并成為一個(gè)一維列表 the_list.extend([6,7,8]) print(the_list) second_list = [9] the_list.extend(second_list) print(the_list) # 刪除元素 # 使用下標(biāo)進(jìn)行操作 # 1 del del the_list[0] print(the_list) # 2 pop可以取出列表的內(nèi)容并且該元素在列表內(nèi)被刪除 element = the_list.pop(7) print(the_list,element) # remove使用 爭(zhēng)對(duì)元素的內(nèi)容 相同的內(nèi)容只刪除遍歷到的第一個(gè)元素 the_list.remove(1) print(the_list) # 清空列表 # the_list.clear() # print(the_list) # count統(tǒng)計(jì)選定元素內(nèi)容在列表中的數(shù)量 count = the_list.count(6) print(the_list,f"\n元素6在列表中有{count}個(gè)") # len 計(jì)算列表的長(zhǎng)度 length = len(the_list) print(the_list,f"\n列表表長(zhǎng)度是{length}")