文章目錄
Python 基礎語法
1. 打印
print('Hello world!')
2. 註釋
單行註釋:用"# "隔開的,不參與編譯執行的文字(不影響程序功能),專門用來對代,碼進行註解和說明的,經常寫註釋是良好的編程習慣
# 單行註釋
多行註釋:用""" “”"引起來
"""
多行註釋
多行註釋
"""
3. 語句
一條語句佔一行,一條語句結束後可以不寫分號
如果一行中需要寫多條語句,語句之間必須加分號
print('a'); print(b)
4. 縮進
python中一條語句的開頭不能隨便加縮進(tab / 4*space)或空格
if 10 > 1:
print('10大於1')
5. 標識符
標識符是專門用來給變量、函數、類等命名的
標識符的命名規範:
1)由字母、數字或者下劃線_組成(在Python3中,其實漢字、日語、漢語等也可以作爲標識符,但是強烈不推薦)
2)數字不能開頭
6. 關鍵字
在Python中有特殊功能或者特殊意義的標識符就是關鍵字,又叫保留字
獲取關鍵字的語句:
import keyword
print(len(keyword.kwlist))
print(keyword.kwlist)
結果如下:
35
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
改版本python共有35個關鍵字
7. 常用數據
1)數字數據:用來表達大小的數據就是數字數據,在程序中直接寫即可(支持科學計數法、複數(虛數單位爲j))
10 + 5
-0.2 + 0.8
2e3 + 1e2 # 科學計數法 2000 + 100
2 + 5j # 複數,j時必須寫成1j
2)文本數據(字符串):文本信息對應的數據,在程序中需要用引號引起來
'I love Python!'
"I love Python!"
3)布爾數據:用True表示真/肯定,用False表示假/否定
print(True)
8. 常見的數據類型
通過不同的數據類型對數據進行分類
整型(int)
浮點型(float)
字符串(str)
布爾(bool)
列表(list)
字典(dict)
元組(tuple)
集合(set)
字節(bytes)
函數(function)
三大神器:迭代器(iter)、生成器、裝飾器
…
type(數據) # 獲取數據的數據類型
9. 輸入與輸出函數
1)輸出函數:print()
括號裏可以寫表達式,打印其結果
同時打印多個表達式:表達式之間可以用逗號隔開
print('打印內容')
print(10 + 50)
print('你好', 123, 'lll', 20 + 8)
a. 定製換行
默認情況下,一個print()中的內容會在一行打印
print('Hello world', end=';')
print('aaa')
結果爲:
Hello world;aaa
print()函數的end參數默認是回車,上面手動定義爲分號,所以可以做到不換行打印
b. 定製分離
默認情況下,一個print()打印多個內容的時候,多個內容之間用空格分開
print(1, 2, 3, 4, sep='+')
結果爲:
1+2+3+4
print()函數的sep參數默認是空格,上面手動定義爲加號,所以可以做到如上效果
2)輸入函數:input() - 返回輸入內容的字符串
接輸入內容的變量 = input(輸入提示信息)
age = input('請輸入年齡: ')
print('你今年' + age + '歲了!')
print(type(age))
當程序執行到input時,會暫停下來等輸入,按下回車表示輸入完成
結果:
請輸入年齡: 18
你今年18歲了
<class 'str'>
str表示輸入函數所返回的數據類型是字符串
Pycharm基本快捷鍵
快捷鍵 | 功能 |
---|---|
Shift + Enter | 快速插入下一行 |
Ctrl + P | 代碼提示(在print()括號裏) |
Ctrl + Alt + Space | 代碼提示(輸print輸到一半不會拼寫了) |
Shift + Tab | 逆縮進 |
Alt + Enter | 萬能鍵 |
Ctrl + / | 註釋/取消註釋 |
Ctrl + F11 | 訂上/書籤 |
Ctrl + 書籤號 | 到某書籤的位置 |
Shift + F11 | 展示所有書籤 |
Ctrl + Shift + F | 全局查找 |
Ctrl + Shift + R | 全局替換 |
Ctrl + 鼠標左鍵 | 簡介 |
Ctrl + R | 替換 |
Ctrl + Shift + 小鍵盤+ | 展開全部代碼塊 |
Ctrl + Shift + 小鍵盤- | 收縮全部代碼塊 |
按住Ctrl + 鼠標懸停在函數上 | 顯示函數信息,參數等 |
將光標放在選區起始位置,按住SHIFT,在點擊結束位置 | 區域選擇 |
按住alt鍵,鼠標單機新建光標位置 | 多光標操作 |
進制(原碼反碼和補碼)
數字在編程中有四種表示方式:
十進制、二進制、八進制、十六進制
1. 十進制
1)基數:0,1,2,3,4,5,6,7,8,9
2)進位:逢10進1
3)位權:123 = 1*10^2 + 2*10^1 + 3*10^0
4)表示方式(Python):直接寫
num1 = 123
2. 二進制
1)基數:0,1
2)進位:逢2進1
3)位權:1011(2) = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
4)表示方式(Python):二進制數前加0b/0B
num2 = 0b1011
3. 八進制
1)基數:0,1,2,3,4,5,6,7
2)進位:逢8進1
3)位權:5061(8) = 5*8^3 + 0*8^2 + 6*8^1 + 1*8^0
4)表示方式(Python):八進制數前加0o/0O
num3 = 0o5061
4. 十六進制
1)基數:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
2)進位:逢16進1
3)位權:1f(16) = 1*16^1 + 15*16^0
4)表示方式(Python):十六進制數前加0x/0X
num4 = 0x1f
5. 進制之間的相互轉換
方法一: 自己算
1)十進制轉換爲其他進制
輾轉取餘法自己算
圖片來源於網絡
2)其他的進制轉十進制
累計求和法自己算
圖片來源於網絡
3)二進制、八進制、十六進制之間的相互轉換
a. 二轉八:
從最低位開始,三位一轉
1011011 : 011 -> 3, 011 -> 3, 1 -> 1 ; 即133
b. 二轉十六:
從最低位開始,四位一轉
c. 八轉二:
從最高位開始,三位一轉
d. 十六轉二:
從最高位開始,四位一轉
e. 八轉十六或十六轉八
先轉成2進制,再轉
方法二: Python
各進制英文單詞的前三個字母,記不住可查字典
轉二進制:bin(數字)
轉八進制:oct(數字)
轉十六進制:hex(數字)
num1 = bin(100)
num2 = oct(100)
num3 = hex(100)
print(num1, num2, num3)
結果:
0b1100100 0o144 0x64
6. 原碼反碼補碼
正數的原碼、反碼、補碼是一樣的,都是原碼
計算機底層存儲數據只能存數字,並且存的是數字的補碼,運算也利用的補碼
計算機內存大小(最小單位是位):
1 bytes(字節) = 8 bit(位)
1 Kb = 1024 bytes
1 Mb = 1024 kb
1 Gb = 1024 Mb
1 Tb = 1024 Gb
向計算機申請內存時,最小的申請單位是1字節,所以原碼位數都是8的倍數
強語言(C、Java等)在申請內存時,很容易造成內存浪費/溢出
弱語言(Python等)是動態申請的,需要多少申請多少。所以python可以計算9999**9999。
1)原碼
原碼 = 符號位 + 數字對應的二進制
即在數字的二進制的最前面加上符號位
符號位上0表示正,1表示負
10(10) -> 1010(2)
原碼:00001010
-10(10) -> 10001010(原碼)
2)反碼
反碼就是原碼的符號位不變,其他位全部取反
-10 -> 10001010(原碼)
反碼:11110101
反碼存在的意義就是計算補碼
3)補碼
補碼就是反碼加1
-10 -> 11110110(補碼)
課堂練習:求130 和 -130 的原碼反碼補碼
130
0000000010000010 原碼
0000000010000010 反碼
0000000010000010 補碼
-130
1000000010000010 原碼
1111111101111101 反碼
1111111101111110 補碼
切記:正數的三碼都一樣!!!!!!!!
爲什麼計算機只存補碼?
計算機只有加法器,不能進行直接的減法運算
3 + 2 = 5
3:00000011(原碼)
2:00000010(原碼)
00000011 + 00000010 = 00000101
3 - 2 = 1
3:00000011(原碼)
-2:10000010(原碼)
若直接原碼加:00000011 + 10000010 = 10000101
結果是10000101 = -5 錯誤!!!
補碼計算:
3:00000011(補碼)
-2:11111110(補碼)
00000011 + 11111110 = 00000001(補碼)(由於是兩個1字節相加,所以結果只能是1字節,高出的捨棄)
結果是1 正確!!!
同樣切記:正數的三碼都一樣!!!!!!!!!
課堂練習:-130 + 20
-130
1000000010000010 原碼
1111111101111101 反碼
1111111101111110 補碼
20
00010100 原碼、反碼、補碼
1111111101111110 +
0000000000010100 =
1111111110010010 (補碼)
1111111110010001 (反碼)
1000000001101110 (原碼)
結果是-110