我的Python學習筆記_Day1 Python基礎語法與PyCharm基本快捷鍵

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章