python 6小時完全入門?不知你是否見過建樓房的過程,沒有的話,找個時間去瞧一瞧,看一看看過之後,你就會明白建樓房,隻有打好地基之後,才能在砌牆,建的樓層越高,打的地基就越深,我來為大家科普一下關于python 6小時完全入門?下面希望有你要的答案,我們一起來看看吧!
不知你是否見過建樓房的過程,沒有的話,找個時間去瞧一瞧,看一看。看過之後,你就會明白。建樓房,隻有打好地基之後,才能在砌牆,建的樓層越高,打的地基就越深。
學編程也一樣,要想得心應手的應用,得先打好地基。要想入門,需要先掌握好基礎語法。唯有紮好馬步,方可練就上乘武功。
Python的馬步,為簡單的基礎語法,上乘武功為數據分析、網絡爬蟲和Web系統。為了練好馬步,我們先從編碼規範蹲起。
4.1 編碼規範優美勝于醜陋,明了勝于晦澀,簡潔勝于複雜,複雜勝于淩亂,可讀性真的很重要。為了提高代碼的可讀性,Python3将規範PEP8置入了運行環境中。在本節中提供的樣例代碼,你可以不懂,重點了解規範就好。到後面,你就會全部都懂了。
1. 注釋注釋
說到可讀性,不得不提代碼的注釋,那可是判斷程序員是否合格的首要條件。編程不寫注釋的程序員,就是在耍流氓。當然,如果注釋内容是錯誤的,那還不如沒有注釋,所以當一段代碼發生變化時,第一件事就是去修改注釋。
Python注釋有單行和多行注釋。單行注釋用井号#開始,多行注釋可用成對的三個雙引号”””或三個單引号’’’标識,推薦使用雙引号。
"""
多行注釋樣例
代碼看看就好,反正吃不了
"""
# 傳入賬号和密碼内容,成功返回True,否則返回False'''
def login(account, psd):
if account == "admin" and psd == "123":
return True
else:
return False
''' 調用函數,輸出返回結果'''
print(login("admin", "123456"))
2. 有段代碼
不知是不是Python發明人考慮到程序員整天對着計算機,沒人聊天太孤單,設計的程序代碼段就像聊天一樣,它說:說完就回車。
Python代碼段,跟其他編程語言不同,不是用打括号{}包起來的,而是使用冒号(:)、縮進、回車來實現,這跟寫文章是一樣的形式。
# 注冊函數,代碼段不用大{}包起來
def register(account, phone):
if account == "":
return "賬号不能為空"
elif phone == "":
return "電話不能為空"
else:
# 這裡省略注冊操作内容
return "注冊成功"
3. 代碼布局
人類是一種很感性的生物, 對于美的追求,是與生俱來的,高顔值總讓人喜愛和愉悅。Python代碼也講究高顔值,為了讓編寫的代碼優美,下了不少功夫。
(1) 分号
不要在行尾加分号, 也不要用分号将兩條命令放在同一行。
(2) 空行
頂層函數和類的定義,前後用兩個空行隔開。 類裡的方法定義用一個空行隔開。
(3) 空格
各種右括号前不要加空格,逗号、冒号、分号前不要加空格。操作符左右各加一個空格,不要為了對齊增加空格。
(4) 縮進
縮進空格數要保持一緻,建議統一用4個空格。Tab在不同操作系統或IDE開發工具會不一緻,建議不要使用。
# 尾部沒有分号,每個命令獨立一行
print("Hello")
print("World!")
# 前面空兩行,逗号後有個空格,冒号:後沒有
def add(a, b):
# 縮進4個空格,操作符 前後各一個空格
return a b
# 前面空兩行
def div(a, b):
# 縮進4個空格,==前後各一個空格
# 冒号:後沒有空格
if b == 0:
# 縮進4個空格,沒有分号;結尾
return "被除數不能為0"
else:
return a / b
(5) 斷行
除了長的導入模塊語句和注釋裡的URL外,每行不超過80個字符。不要使用反斜杠去連接行。Python會将圓括号, 中括号和花括号中的行隐式的連接起來 , 你可以利用這個特點。如果需要, 你可以在表達式外圍增加一對額外的圓括号。
# 長内容,可用圓括号連接
content = ("喜歡一個人在海邊,卷起褲管光着腳丫踩在沙灘上。"
"總是幻想海洋的盡頭有另一個世界,總是以為勇敢的水手是真正的男兒。")
print(content)
好了,常用的規範就記住以上幾點就好。想要完整版的《Python編程規範》,你可以給我留言,我私信發給你。從下一節開始,每行代碼,你都要親自動手敲一敲,搞懂才行哦。
4.2 變量和值程序總得要處理數據,處理數據就要用到内存,至于内存的大小和地址,由變量指定。變量,就是在程序運行過程中它的值是允許改變的量。
很多強類型語言,使用變量時,需要先聲明才可以使用,而Python是弱類型語言,變量無需聲明,直接賦值便可使用,Python解析器會根據初始化值進行推斷并确定數據類型。
1. 變量聲明
Python中的變量賦值使用等号運算符"=",并在它前後各留一個空格。變量使用過程中,可以任意改變值的内容,而且不限同一類型。
可以把整型值直接賦給字符串變量,也可以把字符串賦給浮點型變量。不用懷疑,她就是這麼任性,比男人還善變。
# 變量直接賦值使用
come = "我要變帥,要富有..."
print(come)
# 改變變量内容
come = "想得美"
print(come)
# 改成整型内容
come = 999
print(come)
# 改成浮點數
come = 666.25
print(come)
輸出結果
我要變帥,要富有...
想得美
999
666.25
2. 命名規則
變量命名,就是給變量取一個一目了然的名字。取名字看似簡單,卻大有學問。看過電影的人都知道,那些大俠的名字,都是很好聽很好記的,像什麼西門吹雪、中原一點紅之類的,一聽就霸氣側漏,就算武功不怎麼樣,也可以把人唬住。
其實在編程語言中,不止變量,還有函數、類名等都需要進行命名,而這些命名由程序員通過符号和名稱進行自定義。
這些符号和名稱叫作标識符。Python中,标識符需要遵守以下規則:
(1) 标識符由字母或下劃線開頭,後面接字母、下劃線、數字。由于有很多有特殊含義的标識符(如:__name__,__init__)是下劃線開頭的,為了避免混淆,用字母開頭會更好一些。
(2) Python3開始,支持Unicode,故上面提到的字母,不止是26個大小寫字母,還可以是中文等。當然,為了看起來更專業,可讀性更高一些,還是用英文字母吧。
(3) 标識符是區分大小寫的,Abc跟abc是不同的。
(4) 标識符不能使用關鍵字,關鍵字是編程語言内置的,具有特殊功能,像True、False等不可使用。
(5) 永遠不要使用字母‘l’(小寫的L),‘O’(大寫的O),或者‘I’(大寫的I)作為單字符變量名。在有些字體裡,這些字符無法和數字0和1區分,如果想用‘l’,那就用大寫的‘L’代替。(6) 類名一般使用首字母大寫的約定。函數名應該小寫,如果想提高可讀性可以用下劃線分隔。
3. 命名示範
為了加強認識,無論是正确,還是錯誤的,建議都運行看看,其實在開發工具中,如果标識符有錯誤的話,就算不運行也會有警告信息的。
# 英文字母開頭的變量,值得推薦
come1 = "我是最酷的"
print(come1)
# 内置标識符當變量,不報錯,但易混淆
__name__ = "内置标識符"
print(__name__)
# 中文名,沒有錯誤,但可讀性差
中文1 = "中文變量"
print(中文1)
# 數字開頭,會報錯
6six = "數字開頭"
print(6six)
# 使用關鍵字,報錯
False = "關鍵字"
print(False)
輸出結果
6six = "數字開頭"
^
SyntaxError: invalid syntax
4. 關鍵字列表
Python内置了查詢關鍵字的命令,打開【終端】,輸入python(在macOS或Ubuntu系統為python3),輸入help(),輸入keywords,即可獲得關鍵字列表。
Here is a list of the Python keywords. Enter any keyword to get more help.
False class from or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not
學了這麼多,你就不想了解一下老陳的情況?我知道,你不想,隻是下面的文字,你不看也得看。呵呵~~
4.3 數值類型一個當了10年技術總監的老家夥,分享多年的編程經驗。想學編程的朋友,可關注今日頭條:老陳說編程。我将分享Python,前端(小程序)和App方面的編程知識。關注我,沒錯的。
數值類型,掰手指都可以數出來,數來數去,也就那幾種。Python3支持的有整型int、浮點型float、布爾bool型、還有複數complex。
其中整型隻有int一種,表示為長整型。如若無法确定變量屬于哪種數據類型時,可通過Python内置的函數type()進行查詢确定。
1. 整型
整型就是指整數。整數有正數、有負數和0。在計算機中,整型可以用十進制、二進制(0B或0b開頭)、八進制(0開頭)、十六進制(0X或0x開頭)進行表示。
進制表示中的開頭是數字0,不是字母o,别搞混了。還有,在輸出時,其他進制會自動轉成十進制。 如果十進制要轉成其他的,可使用内置函數:bin()、oct()、hex()。
# 二進制整數
a = 0b1110111
print(a)
print(type(a))
# 十六進制整數
b = 0X1b
print(b)
print(type(b))
# 十進制轉成十六進制
c = 10
print(hex(c))
輸出結果
119
<class 'int'>
27
<class 'int'>
0xa
2. 浮點型
帶有小數點的數值是浮點型。上過幼兒園的都知道,浮點型表示的其實就是實數。它可用十進制和科學計數法表達。
Python中科學計算法表達式為: <實數>E或者e<整數>。
# 浮點數
f = 996.0
print(f)
# 确定是不是浮點型
print(type(f))
# 浮點數的科學計數法
f = 6.6e10
print(f)
輸出結果
996.0
<class 'float'>
66000000000.0
3. 複數
複數,由實數和虛數組成,一定要有j字母出現才算複數,而且j的前面得有數字。大多數編程語言是沒有複數這個數據類型的,至于Python會出現,可能是考慮到微電子、空間、平面等領域的計算。平時編程很少會用到,了解一下即可。
# 複數類型表達
c = 182-16j
# 确定數據類型
print(type(c))
# 實數部分 182.0
print(c.real)
# 虛數部分 -16.0
print(c.imag)
輸出結果
<class 'complex'>
182.0
-16.0
4. 布爾
布爾是特殊的整型,0表示False,其他的表示True。布爾值隻有兩種,非真(True)即假(False),真真假假,假假真真,樂在其中。
# 我是真的,真的...
b = True
print(b)
# 确定數據類型
print(type(b))
# 改成假b = False
print(b)
輸出結果
True
<class 'bool'>
True
在開發過程中,經常會用到字符串來存儲字符内容。在其他編程語言中用成對雙引号" "聲明字符串,用成對單引号' '聲明單個字符,而Python沒有這種區别,它無論單個或多個字符都用字符串表示。字符串除了普通的内容,還有轉義和原生。為了方便操作,Python提供了很多函數。
1. 聲明
Python可用單個雙引号"或單引号',也可以用三個雙引号"""或單引号'''聲明字符串。推薦使用雙引号。細心的你,不知注意到沒?--三個雙引号或單引号,不是注釋用的嗎?怎麼字符串也用這個。是的,把内容賦值給變量時,就表示字符串。
# 用單個雙引号
a = "雙引号"
print(a, type(a))
# 用單個單引号
b = '單引号'
print(b, type(b))
# 用三個雙引号
c = """三個雙引号"""
print(c, type(c))
# 用三個單引号
d = '''三個單引号'''
print(d, type(d))
輸出結果
雙引号 <class 'str'>
單引号 <class 'str'>
三個雙引号 <class 'str'>
三個單引号 <class 'str'>
2. 轉義
有些符号,如雙引号"、單引号',本身已有特殊含義,如要輸出它們,就需要進行轉義處理。Python跟其他編程語言一樣,也是用反斜杠\來進行的。
# 用\n進行換行
i = "第1行,\n第2行。"
print(i)
# 用\"輸出雙引号
say = "我說:\""
print(say)
輸出結果
第1行,
第2行。
我說:"
如果轉義内容用的比較多時,樣子會很難看,工作量也大了一些,當需要多個反斜杠轉義時,則使用原始字符 r或R。
# 用r表示原始内容
path = r"c:\software\now\test"
print(path)
輸出結果
c:\software\now\test
3. 去掉空格
删除前面的空格符用lstrip()函數,後面的用rstrip(),前後都删除的,用strip()。還有一種不限位置的删除方法,那便是用replace()函數。
# 删除前面空格
a = " abc"
print(a.lstrip())
# 删除後面的空格
a = "abc "
print(a.rstrip())
# 删除前後的空格
a = " abc "
print(a.strip())
# 多次空格,包括中間
a = " a b c "
print(a.replace(" ", ""))
# replace()替換内容
cool = "你最帥!"
print(cool.replace("你", "我"))
輸出結果
abc
abc
abc
abc
我最帥!
4. 占位符
字符串内容中,不變化的直接放在裡面,會改變的那部分,可用占位符先占着,等到使用時再去變更。
# 用{}占位
i = "Welcome to {}.".format("Python")
print(i)
# 用{下标}占位
i = "I like {0}.".format("code", "music")
print(i)
# 用{關鍵字}占位
i = "row={row:d}".format(row=1)
print(i)
# 用列表填充占位内容
i = "I like {0[0]} and {0[1]}.".format(["Python", "iOS"])
print(i)
輸出結果
Welcome to Python.
I like code.
row=1
I like Python and iOS.
5. 子字符串
Python通過指定區間的方式,截取出子字符串。可從左到右,也可以從右到左。正數表示從左邊開始,負數表示從右邊開始,用中括号[]和:指定截取範圍,[0:4]表示從位置1開始,截取4個長度。負數用絕對值計算,像[-4:-1],表示從倒數第4個位置開始,截取 4-1 = 3個長度。
# 字符串内容
s = "123456789"
# 輸出内容
print(s)
# 從第1位開始,截取長度4
print(s[0:4])
# 從第4位開始,截取到最後
print(s[3:])
# 取出第6位内容
print(s[5])
# 截取全部,等于沒截取
print("--" s[:] "--")
# 從倒數第4位開始,截取長度3
print(s[-4:-1])
# 從倒數第3位開始截取到最後
print(s[-3:])
# 截取倒數第1個字符
print(s[-1])
輸出結果
123456789
1234
456789
6
--123456789--
678
789
9
6. 内容分割
分割,就是通過指定某個字符,進行字符串分割,結果返回數組。Python用split()函數進行内容分割,可指定分割次數,默認是所有。它的語法是:str.split(str="", num=string.count(str))。
# 字符串内容
s = "1-2-3-4-5"
print(s.split("-"))
# 分割1次
print(s.split("-", 1))
輸出結果
['1', '2', '3', '4', '5']
['1', '2-3-4-5']
7. 查找
從字符串當中,查找是否存在指定的字符串内容。
(1) 用find()函數進行查找,找到返回下标值,找不到返回-1,還可以從指定某個位置開始查找,它語法是: str.find(str, beg=0, end=len(string)) 。
# 字符串内容
s = "Welcome to Python."
print(s.find("a"))
print(s.find("c"))
# 從指定範圍進行查找
print(s.find("e", 5, 7))
輸出結果
-1
3
6
(2) 用index()函數進行查找,找到返回下标,找不到報錯,它的語法是: str.index(str, beg=0, end=len(string)) 。 報錯的話,需要進行異常處理,所以建議用find()函數。
# 字符串内容
s = "Welcome to Python."
print(s.index("a"))
print(s.find("c"))
輸出結果
print(s.index("a"))
ValueError: substring not found
(3) 判斷是否是指定的字符串開頭,是的話,返回True,否則返回False。可以從指定的範圍進行查找,它的語法是:str.startswith(str, beg=0,end=len(string))。
# 字符串内容
s = "I am a handsome boy."
# 找到,返回True
print(s.startswith("I"))
# 從指定範圍查找,找不到,返回False
print(s.startswith("I", 2, 6))
# 沒找到,返回False
print(s.startswith("You"))
輸出結果
True
False
False
(4) 判斷是否是指定的字符串結束,是的話,返回True,否則返回False。可以從指定的範圍進行查找,它的語法是:str.endswith(str, beg=0,end=len(string))。
# 字符串内容
s = "I am a handsome boy."
# 找到,返回True
print(s.endswith("."))
# 從指定範圍進行查找,找不到,返回False
print(s.endswith(".", 2, 6))
# 沒找到,返回False
print(s.endswith("e"))
輸出結果
True
False
False
8. 大小寫
英文單詞,大小寫轉換。可以從大寫轉成小寫,也可以從小寫轉成大寫。
(1) 通過upper()函數,把字母全部轉換化為大寫。
# 字符串内容
s = "You are a handsome guy."
# 全部轉成大寫
print(s.upper())
輸出結果
YOU ARE A HANDSOME GUY.
(2) 通過lower()函數,把字母全部轉化成為小寫。
# 字符串内容
s = "You are a handsome guy."
# 全部轉成小寫
print(s.lower())
輸出結果
you are a handsome guy.
(3) 用title()函數把每個單詞的第一個字母轉為大寫。
# 字符串内容
s = "You are a handsome guy."
# 每個單詞首字母轉為大寫
print(s.title())
輸出結果
You Are A Handsome Guy.
(4) 用capitalize()函數把第一個字母轉為大寫,其他的全部為小寫。
# 字符串内容
s = "you are A handsome guy."
# 第一個字母轉為大寫,其他的全為小寫
print(s.capitalize())
輸出結果
You are a handsome guy.
9. 字符串倍數
Python字符串,可通過*來輸出倍數字符串内容,像 “good”* 3 ,表示輸出3次good。可用乘法賦值運算符:*= ,精簡表示。
# 字符串内容
s1 = "good"
count = 3
# 輸出倍數字符串内容
s1 = s1 * count
print(s1)
# 通過乘法賦值運算符輸出
s2 = "nice"
s2 *= count
print(s2)
輸出結果
goodgoodgood
nicenicenice
10. 字符串補齊
字符通過ljust(len,str)向左對齊, rjust(len,str)向右對齊,center(len,str)中間對齊,内容用str補齊長度。zfill(width)指定字符串長度,右對齊,前面補充0,這個在開發過程中會經常見到,實用。
# 字符左對齊
a = "n"
print(a.ljust(9, "b"))
# 字符右對齊
print(a.rjust(9, "c"))
# 字符中間對齊
d = a.center(9, "d")
print(d)
# 正數左邊補0
z = "5".zfill(4)
print(z)
# 負數也可補0
z = "-6".zfill(4)
print(z)
輸出結果
nbbbbbbbb
ccccccccn
ddddndddd
0005
-006
好了,再碼字下去,我手都要骨折了,你還不轉發,支持我一下?
基礎語法,内容不多,為了減輕你的學習重力,我特意分了上了兩部分,下部分,下午發出。别的就不多說,你關注我就對了。
,一個當了10年技術總監的老家夥,分享多年的編程經驗。想學編程的朋友,可關注今日頭條:老陳說編程。我将分享Python,前端(小程序)和App方面的編程知識。關注我,沒錯的。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!