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