入門python,看完這個300行代碼的例子,你們會喜歡的~

前言

學習python有一段時間了,整個學習過程不算系統,也沒有任何路線。最初零零散散的從慕課堂中看了些python的課程,課程一半都沒看完,也沒有認真的編過程序,這樣一拖就是近一年,都沒有碰過python。

當時我一直在想,為什麼大家都覺得python很簡單,很容易入門。我咋這麼菜呢?

入門python,看完這個300行代碼的例子,你們會喜歡的~

後來慢慢的,在學校學到了各種的課程,數據結構,算法設計,離散數學,操作系統等等,我終於算是走進了計算機的大門,知道了原來計算機可以這樣學,編程可以這樣用。

直到今年2月份,我用python編寫了自己的第一個爬蟲程序,並且發佈到了某博客上,看的人雖然不多,卻讓我初次體會到了python的樂趣。在這之後我又陸陸續續編出了自己的第一款小遊戲,貪吃蛇,爬取彈幕的爬蟲,用python做的小視頻,做圖片…

隨著自己的不斷從實例中進行嘗試,瞭解python的也越來越多,也越來越意識到了python這款語言的強大與有趣,當然也知道了自己的太多不足。

因為沒有系統的學習python的語法,導致編程的時候經常出現各種錯誤,比如說之前我也有專門寫過一篇博客的集合錯誤,後來在菜鳥教程上一看,集合的第一句話就是不能用{}創建空集合。當時心情及其難受。。。

入門python,看完這個300行代碼的例子,你們會喜歡的~

所以,在我補習python基礎語法的同時,就想寫一個例子,一個可以包含python大部分基礎語法的例子,便於自己複習語法,也便於大家入門python。

所以,這篇博文就應運而生啦。

一、目標讀者

為了讓這篇博文看著正式些,我得說一下本文的目標讀者:

沒有了解過python,但有其他語言基礎的讀者

瞭解部分python基礎語法,但是沒有編過程序練習的讀者

完全沒有了解過python,但是知道部分程序理論的讀者

完全不懂程序,準備入門python的(不是很推薦)

當然,如果你是python的大佬,還請大佬幫忙指出程序中不合理的地方。

二、 這個例子長啥樣

寫在程序之前

整個程序包含了138個知識點,哈哈,不要看著知識點多,其實每個知識點在代碼中我就寫了一句。所以這些知識點也就138行代碼。

在python,可以利用#號進行註釋,我的程序裡面也都會採取#來講解代碼含義。同時給予知識點的編號。

並且,python利用代碼間的縮進表示隸屬關係,簡單來說如下:

入門python,看完這個300行代碼的例子,你們會喜歡的~

好了,接下來給出我的300行例子吧

注:如果是初學,可以將每個函數單獨截取閱讀並運行查看。當然咯,代碼不能光讀不寫,一定要動手去編。如果不動手編,可能看完運行完你依舊還是不是很懂(本例子可以直接跟著指令直接運行)

<code>#注:在python中需要注意代碼之間的縮進,通常以一個tab的距離表示隸屬關係
import os #1、利用import語句進行導入模塊,用逗號分隔可以導入多個包
import math,copy,random,time
from collections import Counter  #2、利用from...import ....進行導入
import numpy as np  #3、利用as關鍵字重命名包名,以後再使用就可以直接用np了
def hello_world():  #4、利用def關鍵字創建函數,簡單來說:函數就是將具有獨立功能的代碼塊組織成一個模塊,需要的時候調用
	#創建函數格式:def name(參數1,參數2....):
	yourname = input('你好,請輸入你的名字:')  #5、輸入函數,input(),若input中有字符串可以輸出
	print('歡迎來到Python的世界,',yourname)  #6、輸出函數,print(),若要輸出多個對象,利用逗號分隔
	print('讓我們開始學習吧~')
def hello_twice():
	global yourname,yourheight,yourweight  #7、利用global關鍵字定義全局變量,使之在整個程序運行週期能夠被調用
	yourname = input('請輸入你的名字:')
	yourheight = input('請輸入你的身高:')
	yourweight = input('請輸入你的體重:')
#python中字符串的部分操作
def deviding_line():
	word1 = 'i am line'  #8、字符串的創建,利用單引號' 或者雙引號" 進行創建
	word2 = word1.upper()  #9、字符串的函數,利用運算符.進行調用,該語句中的upper()可以將字符串轉換為全大寫字母
	word3 = word1.lower()  #10、lower()函數,將字符串轉換為全小寫
	word4 = word1.title()  #11、title()函數,可以將字符串標題化
	#以上三個函數僅為字符串的部分函數
	words = [word1,word2,word3,word4]  #12、[]可以創建一個列表,列表可以存放很多的對象
	line = '-' * 40  #13、利用*運算符創建串,這裡就是有40個-符號
	endReturn = line+words[random.randint(0,3)]+line #14、字符串可以利用+號直接相連
	#15、上面出現的random.randint()可以創建隨機整數,0和3為隨機數的上下限
	return endReturn  #16、函數返回值,可以在被調用時將這個值返回
#學習python中的數字模型
def study_number():
	num1 = input('請輸入一個數字:')
	print('你輸入的是數字%s'%num1,'可它的類型為:',type(num1)) #17、輸出函數格式控制
	#18、type()函數可以返回該值的類型
	num2 = int(input('再輸入一個數字:'))  #19、利用int()函數進行數值類型轉換,將數字轉換為int整型
	print('你輸入的是數字%s' % num2, '它的類型為:', type(num2))
	num3 = float(input('再輸入一個數字:'))  #20、float()函數可以轉換為浮點數類型
	print('你輸入的是數字%s' % num3, '它的類型為:', type(num3))
	print('num1+num2={}'.format(int(num1)+num2)) #21、數字加法
	# 22、format()函數格式化輸出,在字符串中的{}符號將被替換為format()的參數
	print('num1-num2={}'.format(int(num1)-num2))   #23、數字減法
	print('num1*num2={}'.format(num1*num2)) #24、num1*num2並不會是你想要的數據,因為input()函數,默認輸入為字符類型
	print('num1*num2={}'.format(int(num1) * num2))  #25、數字乘法
	print('num2//num3={:.3f}'.format(num2//num3)) #26、數字整除,同時{:.3f}表示輸出格式小數點後面保留三位
	print('num2/num3={:.4f}'.format(num2/num3)) #27、數字除法,保留小數點後四位
	print('num2%num3={:.4f}'.format(num2 % num3)) #28、求餘數
	print('num2%num3={:.4%}'.format(num2%num3)) #29、求餘數,{:.4%}輸出格式為百分比格式
	print('num1**num2={}'.format(int(num1)**num2))  #30、冪運算
	print('This is the {a},and {b}'.format(a='numbers',b='some operations')) #31、format多參數,標記位置對應輸出
	one,two,three = True,True,False  #32、bool值
	print(one,two,three)
	print('and運算符:',one and two,one and three) #33、and運算,當兩個值同時為真時才為真
	print('or運算符:',one or two,one or three) #34、or運算符,當兩個值同假時為假
	print('not運算符:',not one,not two,not three)  #35、not運算符,得到相反的值
#學習python中的列表模型
def study_list(length): #36、帶有參數的函數
	l1 = [1,2,3,4,5,9.0]   #37、創建列表,利用符號[]
	l2 = list(range(10,10+length))  #38、創建列表,也可以用list()
	#39、range()函數,可以創建一個整數列表,格式為range(start,end,step),start為開始位置,end為結束位置,前閉後開,step為步長
	print('l1的類型為:',type(l1))
	print(l1[1],l2[1])  #40、訪問列表值,可以直接用list[num]的方式進行訪問
	l3 = l2  #41、將l2的引用賦給l3
	print(id(l1),id(l2),id(l3)) #42、id()函數可以獲取對象的內存地址,在這裡可以看到l3的的地址和l2是一樣的
	l3[0]=99  #43、更新列表值
	print('l2==l3麼?',l2==l3)   #44、更新l3後依舊等於l2,因為l3和l2本來就是一個對象,不過換了個名字
	l4 = l2.copy()  #45、複製一個l2給l4,copy()創建一個一模一樣的列表
	l4[0]=999
	print('l4==l2麼?',l4==l2)  #46、此時l4不等於l2
	print('刪除前',l4)
	del l4[0]  #47、del語句進行刪除列表值,在python中del可以刪除所有的變量
	print('刪除後',l4)
	l4.append(30)  #48、給列表添加值
	l4.extend(l1)  #49、給列表追加一個序列多個值
	print('添加l1後:',l4)
	l4.reverse()  #50、列表反轉
	print('反轉後:',l4)
	l4.sort()  #51、sort()函數,將列表進行排序
	print('排序後:',l4)
#學習python中的元組模型
def study_tuple(length:int)->bool:  #52、解釋參數類型的函數創建,->為返回值類型
	tuple1 = (1,2,3,4)  #53、創建元組,利用()符號,元組的特性是不可以改變
	tuple2 = tuple(range(10,10+length))  #54、利用tuple創建元組
	print(tuple1.count(1))  #55、元組函數count(),用於輸出某個值的數量
	print(tuple1.index(1)) #56、元組函數index(),可以按照索引得到值
	try:    #57、python中的異常處理,try:語句內部如果出現錯誤則會轉入到except中
		tuple1[0] = 9  #58、因為元組的不可改變性,所以該語句會出錯
	except TypeError:
		print('元組插入失敗')
	finally:  #59、finally內語句不管是否出現錯誤都會執行
		print('不管插入成不成功我都會執行')
	try:
		print(id(tuple1),id(tuple2))
	except:
		return False
	else:
		tuple3 = tuple1+tuple2  #60、元組雖然不可改變,但是可以通過+號進行合併為另一個元組
		print(tuple3,id(tuple3))
	return True
def study_dict():  #學習python中的字典模型,字典是  鍵->值 的映射
	dict1 = {1:'一',2:'二',3:'三',4:'四'}  #61、以下為創建字典的5種方法
	dict2 = dict(one=1,two=2,three=3)
	dict3 = dict(zip([6,7,8,9],['Six','Seven','Eight','Nine']))
	dict4 = dict([('One',1),('Two',2),('Three',3)])
	dict5 = dict({1:'一',2:'二',3:'三',4:'四'})
	print(type(dict1),dict1==dict5)  #62、可以看到,dict1和dict5是等價的
	print(dict1[1],dict2['one'],dict3[6],dict4['One'],dict5[1])  #63、通過字典的鍵訪問
	print(dict1.get(4)) #64、通過get函數訪問內容
	dict1[1] = '壹' #65、修改字典內容
	dict1[5] = '五' #66、添加字典
	print(dict1)
	print(1 in dict1, 6 in dict1, 7 not in dict1) #67、in和not in關鍵字,可以判斷值是否在序列中
	dict6 = dict1.copy()  #68、字典的複製
	dict6[1] = 'One'
	print(dict1,'',dict6)
	dict1.clear() #69、字典的清空
	print(dict1)
	del dict1,dict2,dict3,dict4,dict5,dict6 #70、刪除字典,也可以用del dict[key]的方式刪除某個鍵
def study_set(): #python中集合的學習,集合中不存在相等的值
	set1 = set(['You','Are','Not','Beautiful']) #71、利用set()函數進行創建集合
	set2 = {'You','Are','So','Beautiful'}  #72、利用{}創建集合,創建空集合的時候不能用{},因為{}表示字典
	set3 = set2.copy() #73、集合的複製
	print(type(set1))
	print(set1,set2)
	print(set1|set2)  #74、集合或運算符,得到兩個集合中所有元素
	print(set1&set2)  #75、集合與運算符,得到兩個集合共同元素
	print(set1^set2)  #76、不同時包含於set1和set2的元素
	print(set1-set2)  #77、集合差運算,得到set1有,set2沒有的元素
	print(set1 
<=set2,set3<=set2,set3',list2) print(deviding_line()) #117、函數可以在任何地方被調用,如果是自己調用自己就可以稱為遞歸調用 list3 = [['_'] * 3 for i in range(3)] print(list3) fruits = ['Apple','Banana','Pear'] colors = ['Red','Yellow','Green'] suitcolor = [(color,fruit) for color,fruit in zip(colors,fruits)] #118、兩個列表合併 print(suitcolor) cartesian = [(color,fruit) for color in colors for fruit in fruits] #119、兩個列表的笛卡爾積 print(cartesian) dict1 = {fruit:color for fruit,color in suitcolor} #120、字典的推導,只要是帶有鍵值對的任何序列,都可以推導出字典 print(dict1) def study_files(): filepath = input('請輸入你的文件路徑(輸入quit退出):') if filepath=='quit': return True try: file = open(filepath,'w') #121、打開文件,'w'為寫格式打開 file.write('哈哈,現在開始寫文件') #122、向文件寫入字符串 file.close() #123、關閉文件 file = open(filepath,'r') #122、以'r'讀格式打開 print('從文件中讀出的內容:\n',file.read()) #123、read()函數可以得到文件內容 except FileNotFoundError: print('文件未找見請重新輸入') study_files() #124、這就是上面所說的遞歸調用 except: print('出現錯誤,請重新輸入路徑') study_files() class Users(): #125、面向對象編程,python中創建類class,類包含有屬性與方法,包括有私有變量,共有變量等等 def __init__(self,name,height,weight): #126、類的構造方法,創建實例時自動調用 self.name = name self.height = height self.weight = weight self.yanzhi = 100 def display(self): #127、類方法 print('大家好,我是{},身高{},體重{},顏值超高{}'.format(self.name,self.height,self.weight,self.yanzhi)) if __name__=="__main__": #128、無論之前有什麼,程序都會從這裡開始運行 hello_world() #129、所以這是運行的第一句,調用該函數 deviding_line() try: print(yourname) #130、調用完hello_world()函數後,因為在hello_world()函數內部有一個yourname變量,所以我們進行輸出,看在這裡能不能找見這個變量 except: print(' 未能找見該變量 ')#131、不可能找見這個變量的,因為yourname是局部變量,只存在於hello_world()函數內部 deviding_line() hello_twice() #132、因為在該函數中定義了global語句,所以該函數中的變量在以下程序中都可以使用 user = Users(yourname,yourheight,yourweight) #133、實例化對象,創建Users類的實例 user.display() #134、對象調用方法 #135、在python中,可以用三引號進行多行註釋,但是如果用變量接收註釋的話也可以是一個有格式的字符串,如下 chooseinformation = '''Input the number of the function you want to Run(quit is exit): 1、study_number 2、study_list 3、study_tuple 4、study_dict 5、study_set 6、study_Some_functions 7、study_Slice 8、study_loop_select 9、study_expression_deduction 10、study_files ''' deviding_line() while True: #136、while循環進行運行程序,只有當輸入quit時才會退出循環(不過你強制退出當然也可以退出) input('按鍵繼續') #137、為了讓輸出不那麼快,等待按鍵後才輸出以下內容 print(chooseinformation) num = input('輸入序號:') #138、在以下if...elif...else選擇中,我們來選擇運行不同的函數 if num=='quit': break elif num=='1': study_number() elif num=='2': study_list(10) elif num=='3': study_tuple(10) elif num=='4': study_dict() elif num=='5': study_set() elif num=='6': study_Some_functions() elif num=='7': study_Slice() elif num=='8': study_loop_select() elif num=='9': study_expression_deduction() elif num=='10': study_files() deviding_line() print('哈哈,恭喜你,這個程序結束咯~')/<code>

這個程序我寫了很久,裡面包含了python的一些基本語法,比如說有幾種常見數據結構:列表,元組,字典,集合,字符串,也有他們的基本操作,有面向對象的類,循環語句,選擇語句,函數的創建,包的導入,文件的讀取,切片,表達式推導。

但是這依舊是python中最基礎的部分,如果想要精通一門語言,沒有自己的親自實踐,不一行行的去敲打鍵盤,不一個bug一個bug的去尋找,永遠也難以掌握它的精髓。

當然,目前的我也有太多太多的知識沒有掌握,這也是為什麼我只寫了這麼一個基礎的入門例子。並且可能還有一些經不起推敲。

其實我也不是很清楚這個代碼是不是能帶你入門,如果看完覺得有用的話,還請在評論區給出你的意見或者建議,嘻嘻~

最後給大家一份Python的學習,也是我自己之前用的學習資料,感覺很不錯。之前的文章裡也有過分享 ,不過我覺得如果有朋友看到這篇文章,你們可能會需要的,所以今天又拿出來給大家分享。免費的分享給大家 ,希望大家多多轉發 收藏,記得關注一下小編,謝謝你們的支持。感謝!

Python學習路線及757.6MB視頻

1.Python的自述

2.Python開發環境的搭建

3.print函數的使用

4.轉義字符與原字符

5.二進制與字符編碼

6.保留字_標識符_變量及其使用

7.數據類型

8.Python中的註釋

10.input函數的使用

11.算術運算符

12.賦值運算符

13.比較運算符

14.布爾運算符

15.位運算符

16.運算符的優先級

17.程序的組織結構_對象布爾值

18.單分支_雙分支_多分支結構

19.嵌套if

20.條件表達式_pass語句

入門python,看完這個300行代碼的例子,你們會喜歡的~

Python基礎學習路線

Python757.6MB視頻

入門python,看完這個300行代碼的例子,你們會喜歡的~

入門python,看完這個300行代碼的例子,你們會喜歡的~

入門python,看完這個300行代碼的例子,你們會喜歡的~

入門python,看完這個300行代碼的例子,你們會喜歡的~

入門python,看完這個300行代碼的例子,你們會喜歡的~

入門python,看完這個300行代碼的例子,你們會喜歡的~

學習Python 需要掌握的6大PPT

入門python,看完這個300行代碼的例子,你們會喜歡的~

學習Python需要學習的PDF技術文檔

入門python,看完這個300行代碼的例子,你們會喜歡的~

Python不管是從學習路線到視頻,到PPT,再到PDF技術文檔,小編在這裡已經全部整理完了,需要獲取的小夥伴就可以轉發此文,關注小編,私信小編“學習”就可以得到獲取方式啦~~


分享到:


相關文章: