摘要:學(xué)習(xí)基礎(chǔ)操作基本模塊常用源阿里云豆瓣清華大學(xué)中國科學(xué)技術(shù)大學(xué)華中科技大學(xué)第一講基礎(chǔ)知識添加注釋三鍵實(shí)現(xiàn)格式規(guī)范或者在編譯器中點(diǎn)擊英文輸入符號特定字符產(chǎn)生一個(gè)新的含義,就是轉(zhuǎn)義字符我愛編程指定為分隔變量
python學(xué)習(xí)
常用pip源
(1)阿里云
http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣
http://pypi.douban.com/simple/
(3)清華大學(xué)
https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中國科學(xué)技術(shù)大學(xué)
http://pypi.mirrors.ustc.edu.cn/simple/
(5)華中科技大學(xué)
http://pypi.hustunique.com/
第一講
基礎(chǔ)知識
# ctrl+/ 添加注釋# ctrl+alt+l 三鍵實(shí)現(xiàn)格式規(guī)范# 或者在pycharm編譯器中點(diǎn)擊“code->Reformat Code# 英文輸入符號# /+特定字符 產(chǎn)生一個(gè)新的含義,就是轉(zhuǎn)義字符(# // /t)print(666)print("我愛編程")# sep=","指定,為分隔變量的符號print("唐三", "小舞", "張三", sep=",")print("唐三", "小舞", sep="/n")# end="/n"指定換行結(jié)尾print("唐三", "小舞", end="*")print("唐三", "小舞", end="/n")# 變量# 1.有一定意義# 2.由數(shù)字,字母,下劃線組成,數(shù)字不能開頭name = "張三"#等號是賦值print(name)# input()表示輸入,在括號里面加入""可加入提示input("請輸入您的密碼")
第二講
數(shù)據(jù)類型
# 整型 int# 浮點(diǎn)型 float# 字符型 str# """中間可以放幾段話"""name = """啦啦啦啦啦啦啦啦啦"""print(name)# type函數(shù)name = "漩渦鳴人"print(type(name))# 運(yùn)算注意優(yōu)先級以及從左向右計(jì)算# 字符不能和整數(shù)類型相加,但可以變換name = "張三"age = 48print(name + str(age))# 同理整型和浮點(diǎn)類型也可以相互轉(zhuǎn)換,但有非數(shù)字的字符不能轉(zhuǎn)換為整數(shù),也不能是浮點(diǎn)類型結(jié)構(gòu)
第三講
運(yùn)算符
# + - * / % 加減乘除求余number = input("請輸入數(shù)字")number = int(number) # 輸入的是字符類型,用int轉(zhuǎn)換為整數(shù)類型進(jìn)行運(yùn)算result = number % 2print(result)# //表示整除運(yùn)算bounty = 5000print(bounty/280) # 結(jié)果是17.86print(bounty//280) # 結(jié)果是17# += *= /= -= 運(yùn)算符# 關(guān)系運(yùn)算符返回值類型是布爾類型# ord()函數(shù)可以查看字符對應(yīng)的整數(shù)數(shù)值print(ord("a"))# 邏輯運(yùn)算符 and or not# and 有假就為假 or 有真就為真 not 真就假假就真
第四講
條件語句
# if 要判斷的條件: (標(biāo)準(zhǔn)結(jié)構(gòu))# 條件成立時(shí)要做的事情# else:# 條件成立時(shí)要做的事情money = input("請輸入您的錢數(shù)")money = int(money) # 注意轉(zhuǎn)換things1 = "盲盒"if money>35: print("拿下{}".format(things1))# 用{}進(jìn)行占位,用.format()函數(shù)填充占位else: print("買不起")
# elif語句# if 條件1:# 事情1# elif 條件2:# 事情2# else:# 事情3choice1 = input("請輸入你要選的品牌")choice2 = input("請輸入你要選的衣服類型")money = input("請輸入你手中有多少錢")money = int(money)if choice1 == "安踏" and choice2 == "短袖" and money > 60 : print("您購買了{(lán)}品牌的{}".format(choice1,choice2), "您還有{}元錢".format(money-60) , sep = "/n")elif choice1 == "李寧" and choice2 == "短袖" and money > 60 : print("您購買了{(lán)}品牌的{}".format(choice1,choice2), "您還有{}元錢".format(money-60) , sep = "/n")elif choice1 == "耐克" and choice2 == "短袖" and money > 60: print("您購買了{(lán)}品牌的{}".format(choice1, choice2), "您還有{}元錢".format(money - 60), sep="/n")else: print("您要的我們沒有或者您的錢不足以支付請重試") # if下語句可繼續(xù)嵌套if
第五講
循環(huán)語句
循環(huán)的核心在于減少重復(fù)代碼,條件要盡量通用化
# while 循環(huán)條件:(當(dāng)循環(huán)條件不成立時(shí)結(jié)束)# 循環(huán)執(zhí)行的代碼i = input("請輸入數(shù)字")i = int(i)while i <= 5: i += 1 print(i)# 需求:限制登陸次數(shù)i = 3while i >= 1: username = input("請輸入用戶名") password = input("請輸入密碼") if username == "admin" and password == "123456" : print("登錄成功") break # 作用在于登錄成功后退出循環(huán) else: print("登錄失敗") i -= 1 print("還有{}次機(jī)會" .format(i)) continue # 繼續(xù)循環(huán)
# for 變量 in 序列:# 循環(huán)體# 變量:自定義變量名,要求和多帶帶定義時(shí)候一樣# 序列:容器型數(shù)據(jù)類型的數(shù)據(jù),比如字符串,布爾,列表,元組,集合# 循環(huán)體:需要重復(fù)執(zhí)行的代碼for x in range(1,11): print("今天你直播下單{}次".format(x)) # range()函數(shù)作用是產(chǎn)生一個(gè)序列,從0開始 # range(1,11)則表示從1開始11結(jié)束但是不包括11 # range(1,6,2)表示135的序列,即2為步長(可以是負(fù)數(shù))# 需求:限制登陸次數(shù)for i in range(3): username = input("請輸入用戶名") password = input("請輸入密碼") if username == "admin" and password == "123456" : print("登錄成功") break # 作用在于登錄成功后退出循環(huán) else: print("登錄失敗") print("還有{}次機(jī)會" .format(2-i)) continue # 繼續(xù)循環(huán)# continue 跳過本次循環(huán),后面語句不執(zhí)行,繼續(xù)執(zhí)行下一次循環(huán)# 需求:打印1-12數(shù)字,除了8不打印# 方法一for i in range(1,13): if i == 8: continue else: print(i)# 方法二i = 1while i <12: i += 1 if i == 8 : continue print(i)# else可以和while,for進(jìn)行配合# 案例一i = 13while i <12: print("驗(yàn)證失敗")else: print("驗(yàn)證成功")# 案例二for i in range(8): print(i , end=" ")else: print("/n") print("結(jié)束")
第六講
數(shù)據(jù)類型列表(列表類似數(shù)組,字典類似結(jié)構(gòu)體)
# 以前介紹的int bool str float都只能存放一個(gè)值,需要列表存放一堆值# 變量名字 = [元素,元素,元素]heros = ["張三", "張四", "張五", "張六", "張七", "張八"]print(type(heros))
輸出結(jié)果是
# 那怎么找到列表中的某一個(gè)元素呢?這就要用到列表索引# 計(jì)算機(jī)編號從0開始,相關(guān)方式類比數(shù)組heros = ["張三", "張四", "張五", "張六", "張七", "張八"]print(heros[1])
即可獲取張四,同理可以獲取其他元素,若要同時(shí)獲取多個(gè)元素,則要使用列表切片的辦法
# 1:3表示索引的一個(gè)左閉右開區(qū)間,只包含左邊不包含右邊heros = ["張三", "張四", "張五", "張六", "張七", "張八"]print(heros[0:6])# [3:]若省去終止位置,則表示從標(biāo)明的初始位置一直索引到終止位置heros = ["張三", "張四", "張五", "張六", "張七", "張八"]print(heros[0:])
這樣就可以把上述元素全部輸出出來了(倆個(gè)方法結(jié)果一樣)
輸出結(jié)果為 [‘張三’, ‘張四’, ‘張五’, ‘張六’, ‘張七’, ‘張八’]
但是顯然不可能所有的取法步長都為一也不可能都是順序取元素
# 完整格式 print(列表名(初始位置:終止位置:步長)) 默認(rèn)步長為+1heros = ["張三", "張四", "張五", "張六", "張七", "張八"]print(heros[0::2])
這樣就可以輸出從第一個(gè)元素開始的所有奇數(shù)項(xiàng)元素
我們在長數(shù)據(jù)超大數(shù)據(jù)時(shí),往往不方便一次看出到底有多少個(gè)元素
# len()函數(shù)可以獲取列表的長度print(len(heros))
我們往往需要增加刪除修改查找列表元素,實(shí)現(xiàn)列表元素動態(tài)管理
(增刪改查)
增# append可以實(shí)現(xiàn)列表元素增加heros.append("張九")# insert函數(shù)可以定向添加元素# insert方法只是插入元素,原來在此位置以及之后的元素全體后移heros.insert(3, "張六plus")刪# pop或者remove可以實(shí)現(xiàn)列表元素刪除# 列表.pop[索引]表示刪除特定位置索引位置的元素heros.pop() # 若索引為空表示刪除最后一個(gè)元素heros.remove("張三") # 移除張三這個(gè)元素改heros[0] = "張三plus" # 實(shí)現(xiàn)修改定向位置的元素查# index函數(shù)可以實(shí)現(xiàn)查找某一元素具體位置,并通過變量存儲,在案例實(shí)現(xiàn)的時(shí)候有奇效number1 = heros.index("張三")print(number1)# 可以利用 in 來判斷元素在不在列表內(nèi)# 格式 查找的元素 in 列表名 返回值是布爾類型,可以用int轉(zhuǎn)換后用變量儲存下來heros = ["張三", "張四", "張五", "張六", "張七", "張八"]number3 = int("張2" in heros)print(number3)# index 和 in 可以相互補(bǔ)充相互協(xié)調(diào),index返回具體位置,in判斷在不在,還可以配合后面的count來判斷在不在
有些時(shí)候一個(gè)列表會有很多重復(fù)的元素,我們需要函數(shù)來幫我們進(jìn)行計(jì)數(shù)
# 列表名.count(要查詢的元素) 返回值為元素個(gè)數(shù)heros = ["張三", "張四", "張五", "張六", "張七", "張八"]heros.append("張三")heros.append("張三")heros.append("張三")heros.append("張三")number2 = heros.count("張三")print(number2)
字典
# 基礎(chǔ)格式 變量名字 = {key1:value1,key2:value2}hero = {"姓名": "孫悟空","性別": "男", "定位":"戰(zhàn)士" }print(hero)print(type(hero))
得到的結(jié)果是
字典還可以和列表搭配使用
hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}print(hero)print(type(hero))# 那如何獲取里面中的東西呢print(hero["性別"])# 如何判斷字典里面是否有我們查找的鍵呢# print(字典名.get(查找的鍵,如果找不到返回的東西))hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}print(hero.get("定位", "未知"))# 我們用get的時(shí)候,如果鍵存在則返回鍵的值,如果鍵不存在則返回設(shè)定的返回值,如果我們沒有設(shè)定返回值,則返回NONE
字典同樣支持增刪改查操作,實(shí)現(xiàn)動態(tài)管理
hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}hero["血量"] = 4399 # 對于一個(gè)原來沒有的鍵進(jìn)行操作會添加hero["性別"] = "未知" # 對于一個(gè)原來有的鍵進(jìn)行操作會修改print(hero)# 字典名.pop[鍵名]表示刪除特定鍵heros.pop("定位") # 可以利用 in 來判斷元素在不在字典內(nèi)# 格式 查找的鍵 in 字典 返回值是布爾類型,可以用int轉(zhuǎn)換后用變量儲存下來hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}number4 = int("姓名" in hero)print(number4)# value函數(shù)可以輸出字典的所有值hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}print(hero.values())# 結(jié)果為: dict_values(["孫悟空", "男", "戰(zhàn)士", ["八戒", "沙僧", "唐僧"]])# value的作用不光只是顯示,還可以配合in進(jìn)行邏輯判斷hero = {"姓名": "孫悟空", "性別": "男", "定位": "戰(zhàn)士", "最佳搭檔": ["八戒", "沙僧", "唐僧"]}print(int("孫尚香" in hero.values())) # 返回值為布爾類型
字符串的使用
# 單引號,雙引號,三引號三種聲明方式,三引號的優(yōu)點(diǎn)在于可以原樣輸出,空格空行都會被保留hero1 = "hello"hero2 = "hi"hero3 = """ hello hi """print(hero1, hero2, hero3)
字符串和列表一樣,也有切片和索引的訪問形式
把字符串當(dāng)成字符的列表
message = "王者榮耀"print(message[0])print(message[:2]) # 從初始位置到2這個(gè)位置# 案例 在任意一個(gè)輸入字符串中,查找是否有英雄這個(gè)子串string = input("請輸入一個(gè)字符串")lenstr = int(len(string))for x in range(0, lenstr): if string.find("英雄") >= 0: # find函數(shù)可以查找,如果找到顯示第一個(gè)字符的位置,如果沒找到會返回-1 print("有英雄這個(gè)子串") break else: if x == lenstr - 1 : print("沒有英雄這個(gè)子串") else: continueprint(string.startswith("王者"))print(string.endswith("王者"))# startswitch函數(shù)可以判斷是否以某某字符或字符串開頭,返回值為布爾類型# endswitch函數(shù)可以判斷是否以某某字符或字符串結(jié)尾,返回值為布爾類型
簡化字符串技巧
字符串中有很多空格或者轉(zhuǎn)義字符我們可以用一個(gè)函數(shù)全部去除
# strip函數(shù)s = " hello/////mm/n/n/n/n"print(s.strip())
輸出結(jié)果是 hello//mm
第七講
函數(shù)
# 函數(shù)格式(定義)def sum(num): # def關(guān)鍵字表示定義一個(gè)函數(shù) sum是函數(shù)名 num是形參可以有多個(gè) result = 0 for x in range(1, num+1): result += x print(result)# 要注意縮進(jìn),以及分號的使用# 函數(shù)調(diào)用# 調(diào)用格式: 函數(shù)名(參數(shù))這里參數(shù)是實(shí)參def sum(num): result = 0 for x in range(1, num+1): result += x print(result)number = 1sum(number)
案例
定義一個(gè)函數(shù)來實(shí)現(xiàn)用戶的登錄
def login(): username = input("輸入用戶名") password = input("輸入密碼") if username == "admin" and password == "123456": print("登錄成功") else: print("登錄失敗")login()
函數(shù)的參數(shù)
# 有參傳參,無參空著,順序一致def milk_tea(n,kind="波霸奶茶"): # n表示奶茶數(shù)量,kind表示奶茶種類 # 默認(rèn)參數(shù)一定要在普通參數(shù)后,默認(rèn)參數(shù)可以不傳參使用默認(rèn)值 # 可以有很多默認(rèn)參數(shù)但一定要在所有普通參數(shù)結(jié)束后再寫默認(rèn)參數(shù) for i in range(n): print("正在制作第{}杯奶茶".format(i+1)) print("放入{}的原材料".format(kind)) print("調(diào)制奶茶") print("倒入奶茶") print("封口")milk_tea(5)milk_tea(1, "珍珠奶茶")milk_tea(4, "椰果奶茶")milk_tea(5, "黑糖珍珠奶綠")
關(guān)鍵字參數(shù)
def milk_tea(n, kind
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/118792.html
摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實(shí)踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問起有關(guān)與時(shí),老司機(jī)們首先就會告訴你其實(shí)是個(gè)沒有網(wǎng)絡(luò)請求功能的庫。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡單 原文地址:Learning React.js is easier than you think 原文作...
摘要:十年鏟碼,八大體系超千篇數(shù)百萬字技術(shù)筆記系列匯總悅享版十年鏟碼兩茫茫,縱思量,卻易忘不覺筆者步入程序員已有十年。十年之期,正巧筆者從阿里離開,重回打印制造業(yè)的懷抱,希望能依托于設(shè)備優(yōu)勢逐步真正構(gòu)建分布式制造網(wǎng)絡(luò)。 showImg(https://segmentfault.com/img/remote/1460000020151971); 十年鏟碼,八大體系超千篇數(shù)百萬字技術(shù)筆記系列匯總...
閱讀 1262·2021-11-08 13:25
閱讀 1452·2021-10-13 09:40
閱讀 2783·2021-09-28 09:35
閱讀 748·2021-09-23 11:54
閱讀 1139·2021-09-02 15:11
閱讀 2446·2019-08-30 13:18
閱讀 1681·2019-08-30 12:51
閱讀 2697·2019-08-29 18:39