程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python基礎語法入門篇(一)

編輯:Python

1. 注釋

在我們工作編碼的過程中,如果一段代碼的邏輯比較復雜,不是特別容易理解,可以適當的添加注釋,以輔助自己 或者其他編碼人員解讀代碼。

注釋是給程序員看的,為了讓程序員方便閱讀代碼,解釋器會忽略注釋。使用自己熟悉的語言,適當的對代碼進行注釋說明是一種良好的編碼習慣(不寫注釋小心扣工資)。

1.1 單行注釋

以#開頭,#右邊的所有東西當做說明,而不是真正要執行的程序,起輔助說明作用。

# 輸出hello world
print("hello world")# 輸出hello world

Shift + 3,或者Ctrl + ? 都可以生成#號

注釋一般在代碼的上方進行編寫,盡量不要跟在代碼的後邊。保持良好的編碼習慣

1.2 多行注釋

以 ‘’’ 開始,並以 ‘’’ 結束,我們稱之為多行注釋。


''' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永無BUG 佛曰: 寫字樓裡寫字間,寫字間裡程序員; 程序人員寫程序,又拿程序換酒錢。 酒醒只在網上坐,酒醉還來網下眠; 酒醉酒醒日復日,網上網下年復年。 但願老死電腦間,不願鞠躬老板前; 奔馳寶馬貴者趣,公交自行程序員。 別人笑我忒瘋癫,我笑自己命太賤; 不見滿街漂亮妹,哪個歸得程序員? '''

2.變量以及數據類型

2.1 變量的定義

對於重復使用,並且經常需要修改的數據,可以定義為變量,來提高編程效率。

定義變量的語法為: 變量名 = 變量值 。(這裡的 = 作用是賦值。)

定義變量後可以使用變量名來訪問變量值。

# 定義一個變量表示這個字符串。如果需要修改內容,只需要修改變量對應的值即可
# 注意,變量名不需要使用引號包裹
weather = "今天天氣真好"
print(weather)
print(weather)
print(weather)

說明:

1)變量即是可以變化的量,可以隨時進行修改。

2)程序就是用來處理數據的,而變量就是用來存儲數據的。

2.2 變量的類型

Python裡為了應對不同的業務需求,也把數據分為不同的類型。

重點關注:int、float、String、List

python中沒有double類型,也沒有char 字符類型

Tuple:和List類似,用一個數據代表很多數據的集合

Dictionary:和現實中字典功能類似

# int
money = 100
print(100)
# float
price = 99.9
print(price)
# boolean
# 變量要見名識意,不要用中文拼音,會被人看不起
# 男 True,女 False
sex = True
print(sex)
# String
# 字符串使用單引號或雙引號都可以,但是必須成對出現
str = 'hello '
str2 = 'world'
print(str + str2)
# 單引號和雙引號的嵌套
str3 = '"哈哈"'
str4 = "'哈哈'"
print(str3)
print(str4)
# 單引號和雙引號會就近匹配,相同的不可以嵌套
# str5 = ""嘿嘿"" 錯誤用法
# list
name_list = ['張飛', '關羽']
print(name_list)
# 獲取list中下標為0的字符串,下標從0開始計算:0、1、2、3....
print(name_list[0])
# tuple
age_tuple = (18, 19, 20)
print(age_tuple)
# dictionary 字典
person = {
'name': '張三', 'age': 18}
print(person)

2.3 查看數據類型

在python中,只要定義了一個變量,而且它有數據,那麼它的類型就已經確定了,不需要咱們開發者主動的 去說明它的類型,系統會自動辨別。也就是說在使用的時候 "變量沒有類型,數據才有類型"。

str5 = "hello"
print(type(str5))
#<class 'str'>
#str是string的一個縮寫

如果臨時想要查看一個變量存儲的數據類型,可以使用 type(變量的名字),來查看變量存儲的數據類型。

3.標識符和關鍵字

計算機編程語言中,標識符(或者叫變量)是用戶編程時使用的名字,用於給變量、常量、函數、語句塊等命名,以建立起名稱與使用之間的關系。

  1. 標識符由字母、下劃線和數字組成($等符號都不可以),且不能以數字開頭

  2. 嚴格區分大小寫。

  3. 不能使用關鍵字

3.1 命名規范

  • 標識符命名要做到顧名思義。

起一個有意義的名字,盡量做到看一眼就知道是什麼意思(提高代碼可 讀性) 比如: 名字 就定義為 name , 定義學生用 student

# 正確示例
name = "張三"
age = 18
#錯誤命名
a = "張三"
b = 18
  • 遵守一定的命名規范。
    • 駝峰命名法,又分為大駝峰命名法和小駝峰命名法。

1)小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫, 例如:myName、aDog

2)大駝峰式命名法(upper camel case): 每一個單字的首字母都采用大寫字母,例如:FirstName、LastName.

3)還有一種命名法是用下劃線“_”來連接所有的單詞,比如send_buf.

​ Python的命令規則遵循PEP8標准

3.2 關鍵字

  • 關鍵字的概念

一些具有特殊功能的標識符,這就是所謂的關鍵字。

關鍵字,已經被python官方使用了,所以不允許開發者自己定義和關鍵字相同名字的標識符。

  • 關鍵字
False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield

4. 類型轉換

函數說明說明int(x)將x轉換為一個整數float(x)將x轉換為一個浮點數str(x)將對象 x 轉換為字符串bool(x)將對象x轉換成為布爾值

轉換成為整數

print(int("123")) # 123 將字符串轉換成為整數 
print(int(123.78)) # 123 將浮點數轉換成為整數 
print(int(True)) # 1 布爾值True轉換成為整數是 1 
print(int(False)) # 0 布爾值False轉換成為整數是 0 
# 以下兩種情況將會轉換失敗 
''' 123.456 和 12ab 字符串,都包含非法字符,不能被轉換成為整數,會報錯 print(int("123.456")) print(int("12ab")) '''

轉換成為浮點數

f1 = float("12.34")
print(f1) # 12.34 
print(type(f1)) # float 將字符串的 "12.34" 轉換成為浮點數 12.34 
f2 = float(23)
print(f2) # 23.0 
print(type(f2)) # float 將整數轉換成為了浮點數

轉換成為字符串

str1 = str(45)
str2 = str(34.56)
str3 = str(True) #True
print(type(str1),type(str2),type(str3))

轉換成為布爾值

print(bool(1)) #True,非0的整數都是True
print(bool(' ')) #True,空格也是True
print(bool(0.1)) #True,非0的浮點數都是True
# 以下情況都是False
print(bool(0)) #False
print(bool(0.0)) #False
print(bool('')) #False,沒有內容的字符串都是False
print(bool("")) #False
print(bool({
})) #False,只要字典中有數據,強制轉換為bool,就返回True
print(bool([])) #False,只要列表中有數據,強制轉換為bool,就返回True
print(bool(())) #False只要元組中有數據,強制轉換為bool,就返回True
tuple1 = (0)
print(bool(tuple1)) #False
tuple2 = (0, 0)
print(bool(tuple)) #True

5. 運算符

5.1 算數運算符

以a=10 ,b=20為例進行計算

運算符描述實例+加兩個對象相加 a + b 輸出結果 30-減得到負數或是一個數減去另一個數 a - b 輸出結果 -10*乘兩個數相乘或是返回一個被重復若干次的字符串 a * b 輸出結果 200/除b / a 輸出結果 2//取整除返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0%取余返回除法的余數 b % a 輸出結果 0**指數(冪)a**b 為10的20次方()小括號提高運算優先級,比如: (1+2) * 3

注意:混合運算時,優先級順序為: ** 高於 * / % // 高於 + - ,為了避免歧義,建議使用 () 來處理運

算符優先級。 並且,不同類型的數字在進行混合運算時,整數將會轉換成浮點數進行運算。

>>> 10 + 5.5 * 2
21.0
>>> (10 + 5.5) * 2
31.0

5.2 算數運算符在字符串裡的使用

注意:在python中, + 兩端都是字符串才可以進行拼接字符串,不是字符串類型的數據可以通過str()強轉為字符串 ,再進行拼接

字符串的乘法,是將字符串重復多少次

print('11' + '22') #1122
print(' hello world' * 3) # hello world hello world hello world

5.3 賦值運算符

運算符描述實例=賦值運算符把 = 號右邊的結果 賦給 左邊的變量,如 num = 1 + 2 * 3,結果num的值為7
# 同時為多個變量賦值(使用等號連接) 
>>> a = b = 4
>>> a
4
>>> b
4
>>> # 多個變量賦值(使用逗號分隔) 
>>> num1, f1, str1 = 100, 3.14, "hello"
>>> num1
100
>>> f1
3.14
>>> str1
"hello"

5.4 復合賦值運算符

運算符**描述**實例+=加法賦值運算符c += a 等效於 c = c + a-=減法賦值運算符c -= a 等效於 c = c - a*=乘法賦值運算符c *= a 等效於 c = c * a/=除法賦值運算符c /= a 等效於 c = c / a//=取整除賦值運算符c //= a 等效於 c = c // a%=取模賦值運算符 (取余,模余)c %= a 等效於 c = c % a**=冪賦值運算符c **= a 等效於 c = c ** a
# 示例:+= 
>>> a = 100
>>> a += 1 # 相當於執行 a = a + 1 
>>> a
101
# 示例:*=
>>> a = 100
>>> a *= 2 # 相當於執行 a = a * 2 
>>> a
200
# 示例:*=,運算時,符號右側的表達式先計算出結果,再與左邊變量的值運算 
>>> a = 100
>>> a *= 1 + 2 # 相當於執行 a = a * (1+2) 
>>> a
300

5.5 比較運算符

以下假設變量a為10,變量b為20:

運算符描述示例==等於:比較對象是否相等(也叫恆等)(a == b) 返回 False!=不等於:比較兩個對象是否不相等(python2中 <> 代表不等於)(a != b) 返回True>大於:返回x是否大於y(a > b) 返回False>=大於等於:返回x是否大於等於y(a >= b) 返回False<小於:返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True與False等價(a < b) 返回True<=小於等於:返回x是否小於等於y(a <= b) 返回True

5.6 邏輯運算符

運算含義邏輯表達式描述實例and與x and y只要有一個運算數是False,結果就是False; 只有所有的運算數都為True時,結果才是True 做取值運算時,取第一個為False的值,如果所有的值 都為True,取最後一個值True and True and False–> 結果為False True and True and True–> 結果為Trueor或x or y只要有一個運算數是True,結果就是True; 只有所有的運算數都為False時,結果才是False 做取值運算時,取第一個為True的值,如果所有的值都 為False,取最後一個值False or False or True–>結 果為True False or False or False–>結 果為Falsenot非、取反not x布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。not True --> False

性能提升

面試題:一下代碼的輸出結果是什麼,為什麼會有這樣的輸出。

a = 34
a > 10 and print('hello world') #輸出
a < 10 and print('hello world') #不輸出
a >10 or print('你好世界') #不輸出
a <10 or print('你好世界') #輸出

思考:

  1. 邏輯運算的短路問題

    • 當and的前邊是False的情況下,那麼後邊的代碼不會執行
    • or:只要有一方為True,那麼結果就是True
  2. 邏輯與運算和邏輯或運算取值時為什麼是那種規則。
    and和or有短路效果

6. 輸入輸出

6.1 輸出

age = 10
print("我今年%d歲" % age)
name = "張三"
print("我的姓名是%s, 年齡是%d" % (name, age))

6.2 輸入

在Python中,獲取鍵盤輸入的數據的方法是采用 input 函數

password = input("請輸入密碼:")
print('您剛剛輸入的密碼是:%s' % password)

注意:

  • input()的小括號中放入的是提示信息,用來在獲取數據之前給用戶的一個簡單提示

  • input()在從鍵盤獲取了數據以後,會存放到等號右邊的變量中

  • input()會把用戶輸入的任何值都作為字符串來對待

7.流程控制語句

7.1 if判斷語句

if語句是用來進行判斷的,其使用格式如下:

if 要判斷的條件:
條件成立時,要做的事情
#示例
if age >= 18:
print("我已經成年了")

小總結:

  • if判斷語句的作用:就是當滿足一定 條件時才會執行代碼塊語句,否則就不執行代碼塊語句。

  • 注意:if下一行代碼的縮進為一個tab鍵,或者4個空格。PyCharm可以按Ctrl + Alt + L 直接格式化代碼

7.2 if else

if-else的使用格式

if 條件:
滿足條件時的操作
else:
不滿足條件時的操作
age = 18
if age >= 18:
print("你成年了")
else:
print("你是未成年人")
age = int(input("請輸入年齡:"))
if age >= 18:
print("你成年了")
else:
print("未成年人")

7.3 elif

elif的功能

if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3

說明:

  • 當xxx1滿足時,執行事情1,然後整個if結束

  • 當xxx1不滿足時,那麼判斷xxx2,如果xxx2滿足,則執行事情2,然後整個if結束

  • 當xxx1不滿足時,xxx2也不滿足,如果xxx3滿足,則執行事情3,然後整個if結束

示例:

score = int(input("請輸入分數"))
if score >= 90:
print("優秀")
elif score >= 80:
print("良好")
elif score > 60:
print("及格")
else:
print("不及格")

7.4 for

在Python中 for循環可以遍歷任何序列的項目,如一個列表或者一個字符串等。

fo循環的格式

for 臨時變量 in 列表或者字符串等可迭代對象:
循環滿足條件時執行的代碼

for循環的使用

7.4.1 遍歷字符串:

for s in "hello":
print(s)

7.4.2 range

range 可以生成數字供 for 循環遍歷,它可以傳遞三個參數,分別表示 起始、結束和步長。

  • 打印數字
for i in range(5):
print(i)

7.4.3 循環列表

a_list = ['張三', '李四', '王五']
for i in a_list:
print(i)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved