學(xué)習(xí)札記-Python系列-2-基礎(chǔ)語法

注釋

注釋的作用

  • 沒有注釋的代碼
image.png
  • 添加注釋的代碼
image.png
  • 通過用自己熟悉的語言,在程序中對(duì)某些代碼進(jìn)行標(biāo)注說明,這就是注釋的作用,能夠大大增強(qiáng)程序的可讀性。

注釋的分類及語法

注釋分為兩類:單行注釋多行注釋。

  • 單行注釋

只能注釋一行內(nèi)容,語法如下:

## 注釋內(nèi)容

  • 多行注釋

可以注釋多行內(nèi)容,一般用在注釋一段代碼的情況, 語法如下:

"""
    第一行注釋
    第二行注釋
    第三行注釋
"""

'''
    注釋1
    注釋2
    注釋3
'''

快捷鍵: ctrl + /

快速體驗(yàn)

  • 單行注釋
## 輸出hello world
print('hello world')

print('hello Python')  # 輸出(簡單的說明可以放到一行代碼的后面,一般習(xí)慣代碼后面添加兩個(gè)空格再書寫注釋文字)

  • 多行注釋
"""
    下面三行都是輸出的作用,輸出內(nèi)容分別是:
    hello Python
    hello itheima
"""
print('hello Python')
print('hello itcast')
print('hello itheima')

'''
    下面三行都是輸出的作用,輸出內(nèi)容分別是:
    hello Python
    hello itheima
'''
print('hello Python')
print('hello itheima')

注意:解釋器不執(zhí)行任何的注釋內(nèi)容。

總結(jié)

  • 注釋的作用

用人類熟悉的語言對(duì)代碼進(jìn)行解釋說明,方便后期維護(hù)。

  • 注釋的分類
    • 單行: # 注釋內(nèi)容,快捷鍵ctrl+/
    • 多行:""" 注釋內(nèi)容 """''' 注釋內(nèi)容 '''
  • 解釋器不執(zhí)行注釋內(nèi)容

變量

變量的作用

image.png

舉例體驗(yàn):我們?nèi)D書館讀書,怎么樣快速找到自己想要的書籍呢?是不是管理員提前將書放到固定位置,并把這個(gè)位置進(jìn)行了編號(hào),我們只需要在圖書館中按照這個(gè)編號(hào)查找指定的位置就能找到想要的書籍。

這個(gè)編號(hào)其實(shí)就是把書籍存放的書架位置起了一個(gè)名字,方便后期查找和使用。

程序中,數(shù)據(jù)都是臨時(shí)存儲(chǔ)在內(nèi)存中,為了更快速的查找或使用這個(gè)數(shù)據(jù),通常我們把這個(gè)數(shù)據(jù)在內(nèi)存中存儲(chǔ)之后定義一個(gè)名稱,這個(gè)名稱就是變量。

image.png

變量就是一個(gè)存儲(chǔ)數(shù)據(jù)的的時(shí)候當(dāng)前數(shù)據(jù)所在的內(nèi)存地址的名字而已。

定義變量

變量名 = 值

變量名自定義,要滿足標(biāo)識(shí)符命名規(guī)則。

標(biāo)識(shí)符

標(biāo)識(shí)符命名規(guī)則是Python中定義各種名字的時(shí)候的統(tǒng)一規(guī)范,具體如下:

  • 由數(shù)字、字母、下劃線組成
  • 不能數(shù)字開頭
  • 不能使用內(nèi)置關(guān)鍵字
  • 嚴(yán)格區(qū)分大小寫
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

命名習(xí)慣

  • 見名知義。
  • 大駝峰:即每個(gè)單詞首字母都大寫,例如:MyName。
  • 小駝峰:第二個(gè)(含)以后的單詞首字母大寫,例如:myName。
  • 下劃線:例如:my_name。

使用變量

my_name = 'TOM'
print(my_name)

schoolName = '清華'
print(schoolName)

認(rèn)識(shí)bug

所謂bug,就是程序中的錯(cuò)誤。如果程序有錯(cuò)誤,需要程序員排查問題,糾正錯(cuò)誤。

image.png

Debug工具

Debug工具是PyCharm IDE中集成的用來調(diào)試程序的工具,在這里程序員可以查看程序的執(zhí)行細(xì)節(jié)和流程或者調(diào)解bug。

Debug工具使用步驟:

  1. 打斷點(diǎn)
  2. Debug調(diào)試

打斷點(diǎn)

  • 斷點(diǎn)位置

目標(biāo)要調(diào)試的代碼塊的第一行代碼即可,即一個(gè)斷點(diǎn)即可。

  • 打斷點(diǎn)的方法

單擊目標(biāo)代碼的行號(hào)右側(cè)空白位置。

image.png

Debug調(diào)試

打成功斷點(diǎn)后,在文件內(nèi)部任意位置 — 右鍵 -- Debug'文件名' — 即可調(diào)出Debug工具面板 -- 單擊Step Over/F8,即可按步執(zhí)行代碼。

image.png

Debug輸出面板分類

  • Debugger
    • 顯示變量和變量的細(xì)節(jié)
  • Console
    • 輸出內(nèi)容

認(rèn)識(shí)數(shù)據(jù)類型

在 Python 里為了應(yīng)對(duì)不同的業(yè)務(wù)需求,也把數(shù)據(jù)分為不同的類型。

image.png

檢測(cè)數(shù)據(jù)類型的方法:type()

a = 1
print(type(a))  # <class 'int'> -- 整型

b = 1.1
print(type(b))  # <class 'float'> -- 浮點(diǎn)型

c = True
print(type(c))  # <class 'bool'> -- 布爾型

d = '12345'
print(type(d))  # <class 'str'> -- 字符串

e = [10, 20, 30]
print(type(e))  # <class 'list'> -- 列表

f = (10, 20, 30)
print(type(f))  # <class 'tuple'> -- 元組

h = {10, 20, 30}
print(type(h))  # <class 'set'> -- 集合

g = {'name': 'TOM', 'age': 20}
print(type(g))  # <class 'dict'> -- 字典

總結(jié)

  • 定義變量的語法
變量名 = 值

  • 標(biāo)識(shí)符
    • 由數(shù)字、字母、下劃線組成
    • 不能數(shù)字開頭
    • 不能使用內(nèi)置關(guān)鍵字
    • 嚴(yán)格區(qū)分大小寫
  • 數(shù)據(jù)類型
    • 整型:int
    • 浮點(diǎn)型:float
    • 字符串:str
    • 布爾型:bool
    • 元組:tuple
    • 集合:set
    • 字典:dict

輸出

作用:程序輸出內(nèi)容給用戶

print('hello Python')

age = 18
print(age)

格式化輸出

所謂的格式化輸出即按照一定的格式輸出內(nèi)容。

格式化符號(hào)

格式符號(hào) 轉(zhuǎn)換
%s 字符串
%d 有符號(hào)的十進(jìn)制整數(shù)
%f 浮點(diǎn)數(shù)
%c 字符
%u 無符號(hào)十進(jìn)制整數(shù)
%o 八進(jìn)制整數(shù)
%x 十六進(jìn)制整數(shù)(小寫ox)
%X 十六進(jìn)制整數(shù)(大寫OX)
%e 科學(xué)計(jì)數(shù)法(小寫'e')
%E 科學(xué)計(jì)數(shù)法(大寫'E')
%g %f和%e的簡寫
%G %f和%E的簡寫

技巧

%06d,表示輸出的整數(shù)顯示位數(shù),不足以0補(bǔ)全,超出當(dāng)前位數(shù)則原樣輸出
%.2f,表示小數(shù)點(diǎn)后顯示的小數(shù)位數(shù)。

體驗(yàn)

需求:輸出“今年我的年齡是18歲”
格式化字符串除了%s,還可以寫為f'{表達(dá)式}'

age = 18 
name = 'TOM'
weight = 75.5
student_id = 1

# 我的名字是TOM
print('我的名字是%s' % name)

# 我的學(xué)號(hào)是0001
print('我的學(xué)號(hào)是%4d' % student_id)

# 我的體重是75.50公斤
print('我的體重是%.2f公斤' % weight)

# 我的名字是TOM,今年18歲了
print('我的名字是%s,今年%d歲了' % (name, age))

# 我的名字是TOM,明年19歲了
print('我的名字是%s,明年%d歲了' % (name, age + 1))

# 我的名字是TOM,明年19歲了
print(f'我的名字是{name}, 明年{age + 1}歲了')
f-格式化字符串是Python3.6中新增的格式化方法,該方法更簡單易讀。

轉(zhuǎn)義字符

\n:換行。
\t:制表符,一個(gè)tab鍵(4個(gè)空格)的距離。
1.4 結(jié)束符
想一想,為什么兩個(gè)print會(huì)換行輸出?

print('輸出的內(nèi)容', end="\n")
在Python中,print(), 默認(rèn)自帶end="\n"這個(gè)換行結(jié)束符,所以導(dǎo)致每兩個(gè)print直接會(huì)換行展示,用戶可以按需求更改結(jié)束符。

總結(jié)

格式化符號(hào)
%s:格式化輸出字符串
%d:格式化輸出整數(shù)
%f:格式化輸出浮點(diǎn)數(shù)
f-字符串
f'{表達(dá)式}'
轉(zhuǎn)義字符
\n:換行
\t:制表符
print結(jié)束符
print('內(nèi)容', end="")

輸入

在Python中,程序接收用戶輸入的數(shù)據(jù)的功能即是輸入。

image.png

輸入的語法

input("提示信息")

輸入的特點(diǎn)

  • 當(dāng)程序執(zhí)行到input,等待用戶輸入,輸入完成之后才繼續(xù)向下執(zhí)行。
  • 在Python中,input接收用戶輸入后,一般存儲(chǔ)到變量,方便使用。
  • 在Python中,input會(huì)把接收到的任意用戶輸入的數(shù)據(jù)都當(dāng)做字符串處理。
password = input('請(qǐng)輸入您的密碼:')

print(f'您輸入的密碼是{password}')
# <class 'str'>
print(type(password))

控制臺(tái)輸出結(jié)果如下:

image.png

總結(jié)

  • 輸入功能
    • input('提示文字')
  • 輸入的特點(diǎn)
    • 一般將input接收的數(shù)據(jù)存儲(chǔ)到變量
    • input接收的任何數(shù)據(jù)默認(rèn)都是字符串?dāng)?shù)據(jù)類型

數(shù)據(jù)類型轉(zhuǎn)換

轉(zhuǎn)換數(shù)據(jù)類型的作用

問:input()接收用戶輸入的數(shù)據(jù)都是字符串類型,如果用戶輸入1,想得到整型該如何操作?

答:轉(zhuǎn)換數(shù)據(jù)類型即可,即將字符串類型轉(zhuǎn)換成整型。

轉(zhuǎn)換數(shù)據(jù)類型的函數(shù)

函數(shù) 說明
int(x [,base ]) 將x轉(zhuǎn)換為一個(gè)整數(shù)
float(x ) 將x轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)
complex(real [,imag ]) 創(chuàng)建一個(gè)復(fù)數(shù),real為實(shí)部,imag為虛部
str(x ) 將對(duì)象 x 轉(zhuǎn)換為字符串
repr(x ) 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str ) 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象
tuple(s ) 將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s ) 將序列 s 轉(zhuǎn)換為一個(gè)列表
chr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)Unicode字符
ord(x ) 將一個(gè)字符轉(zhuǎn)換為它的ASCII整數(shù)值
hex(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串
bin(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)二進(jìn)制字符串

快速體驗(yàn)

需求:input接收用戶輸入,用戶輸入“1”,將這個(gè)數(shù)據(jù)1轉(zhuǎn)換成整型。

### 接收用戶輸入
num = input('請(qǐng)輸入您的幸運(yùn)數(shù)字:')

### 打印結(jié)果
print(f"您的幸運(yùn)數(shù)字是{num}")


### 檢測(cè)接收到的用戶輸入的數(shù)據(jù)類型 -- str類型
print(type(num))

### 轉(zhuǎn)換數(shù)據(jù)類型為整型 -- int類型
print(type(int(num)))

實(shí)驗(yàn)

### float() -- 轉(zhuǎn)換成浮點(diǎn)型
num1 = 1
print(float(num1))
print(type(float(num1)))

### str() -- 轉(zhuǎn)換成字符串類型
num2 = 10
print(type(str(num2)))

### tuple() -- 將一個(gè)序列轉(zhuǎn)換成元組
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))


###list() -- 將一個(gè)序列轉(zhuǎn)換成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))

###eval() -- 將字符串中的數(shù)據(jù)轉(zhuǎn)換成Python表達(dá)式原本類型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

#輸出
#<class 'int'>
#<class 'list'>
#<class 'tuple'>

總結(jié)

轉(zhuǎn)換數(shù)據(jù)類型常用的函數(shù)
int()
float()
str()
list()
tuple()
eval()

運(yùn)算符

運(yùn)算符的分類

  • 算數(shù)運(yùn)算符
  • 賦值運(yùn)算符
  • 復(fù)合賦值運(yùn)算符
  • 比較運(yùn)算符
  • 邏輯運(yùn)算符

算數(shù)運(yùn)算符

運(yùn)算符 描述 實(shí)例
+ 1 + 1 輸出結(jié)果為 2
- 1-1 輸出結(jié)果為 0
* 2 * 2 輸出結(jié)果為 4
/ 10 / 2 輸出結(jié)果為 5
// 整除 9 // 4 輸出結(jié)果為2
% 取余 9 % 4 輸出結(jié)果為 1
** 指數(shù) 2 ** 4 輸出結(jié)果為 16,即 2 *2 *2 *2
() 小括號(hào) 小括號(hào)用來提高運(yùn)算優(yōu)先級(jí),即 (1 + 2) * 3 輸出結(jié)果為 9

注意:

  • 混合運(yùn)算優(yōu)先級(jí)順序:()高于 ** 高于 * / // % 高于 + -

賦值運(yùn)算符

運(yùn)算符 描述 實(shí)例
= 賦值 =右側(cè)的結(jié)果賦值給等號(hào)左側(cè)的變量
  • 單個(gè)變量賦值
num = 1
print(num)

  • 多個(gè)變量賦值
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)

結(jié)果如下:

image.png
  • 多變量賦相同值
a = b = 10
print(a)
print(b)

結(jié)果如下:

image.png

復(fù)合賦值運(yùn)算符

運(yùn)算符 描述 實(shí)例
+= 加法賦值運(yùn)算符 c += a 等價(jià)于 c = c + a
-= 減法賦值運(yùn)算符 c -= a 等價(jià)于 c = c- a
*= 乘法賦值運(yùn)算符 c *= a 等價(jià)于 c = c *a
/= 除法賦值運(yùn)算符 c /= a 等價(jià)于 c = c / a
//= 整除賦值運(yùn)算符 c //= a 等價(jià)于 c = c // a
%= 取余賦值運(yùn)算符 c %= a 等價(jià)于 c = c % a
**= 冪賦值運(yùn)算符 c **= a 等價(jià)于 c = c **a
a = 100
a += 1
# 輸出101  a = a + 1,最終a = 100 + 1
print(a)

b = 2
b *= 3
# 輸出6  b = b * 3,最終b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 輸出13, 先算運(yùn)算符右側(cè)1 + 2 = 3, c += 3 , 推導(dǎo)出c = 10 + 3
print(c)

比較運(yùn)算符

比較運(yùn)算符也叫關(guān)系運(yùn)算符, 通常用來判斷。

運(yùn)算符 描述 實(shí)例
== 判斷相等。如果兩個(gè)操作數(shù)的結(jié)果相等,則條件結(jié)果為真(True),否則條件結(jié)果為假(False) 如a=3,b=3,則(a == b) 為 True
!= 不等于 。如果兩個(gè)操作數(shù)的結(jié)果不相等,則條件為真(True),否則條件結(jié)果為假(False) 如a=3,b=3,則(a == b) 為 True如a=1,b=3,則(a != b) 為 True
> 運(yùn)算符左側(cè)操作數(shù)結(jié)果是否大于右側(cè)操作數(shù)結(jié)果,如果大于,則條件為真,否則為假 如a=7,b=3,則(a > b) 為 True
< 運(yùn)算符左側(cè)操作數(shù)結(jié)果是否小于右側(cè)操作數(shù)結(jié)果,如果小于,則條件為真,否則為假 如a=7,b=3,則(a < b) 為 False
>= 運(yùn)算符左側(cè)操作數(shù)結(jié)果是否大于等于右側(cè)操作數(shù)結(jié)果,如果大于,則條件為真,否則為假 如a=7,b=3,則(a < b) 為 False如a=3,b=3,則(a >= b) 為 True
<= 運(yùn)算符左側(cè)操作數(shù)結(jié)果是否小于等于右側(cè)操作數(shù)結(jié)果,如果小于,則條件為真,否則為假 如a=3,b=3,則(a <= b) 為 True
a = 7
b = 5
print(a == b)  # False
print(a != b)  # True
print(a < b)   # False
print(a > b)   # True
print(a <= b)  # False
print(a >= b)  # True

邏輯運(yùn)算符

運(yùn)算符 邏輯表達(dá)式 描述 實(shí)例
and x and y 布爾"與":如果 x 為 False,x and y 返回 False,否則它返回 y 的值。 True and False, 返回 False。
or x or y 布爾"或":如果 x 是 True,它返回 True,否則它返回 y 的值。 False or True, 返回 True。
not not x 布爾"非":如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 not True 返回 False, not False 返回 True
a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True

拓展

數(shù)字之間的邏輯運(yùn)算

a = 0
b = 1
c = 2

# and運(yùn)算符,只要有一個(gè)值為0,則結(jié)果為0,否則結(jié)果為最后一個(gè)非0數(shù)字
print(a and b)  # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or運(yùn)算符,只有所有值為0結(jié)果才為0,否則結(jié)果為第一個(gè)非0數(shù)字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1

總結(jié)

  • 算數(shù)運(yùn)算的優(yōu)先級(jí)
    • 混合運(yùn)算優(yōu)先級(jí)順序:()高于 ** 高于 * / // % 高于 + -
  • 賦值運(yùn)算符
    • =
  • 復(fù)合賦值運(yùn)算符
    • +=
    • -=
    • 優(yōu)先級(jí)
      1. 先算復(fù)合賦值運(yùn)算符右側(cè)的表達(dá)式
      2. 再算復(fù)合賦值運(yùn)算的算數(shù)運(yùn)算
      3. 最后算賦值運(yùn)算
  • 比較運(yùn)算符
    • 判斷相等: ==
    • 大于等于: >=
    • 小于等于:<=
    • 不等于: !=
  • 邏輯運(yùn)算符
    • 與: and
    • 或:or
    • 非:not
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容