2019-07-23_Note_Day2

一、基礎(chǔ)語法


1. 注釋

注釋是代碼中對代碼進行解釋和說明的文本內(nèi)容歼捏;不會影響程序的功能執(zhí)行

1)單行注釋

在一行文字的開頭加# 快捷鍵:command + /
# 這是一條單行注釋

2)多行注釋

將注釋內(nèi)容寫在三個雙引號或者三個雙引號里面(但是一般使用三個雙引號)
"""
多行注釋1
多行注釋2
"""

2. 語句

1)一條語句占一行稿存,語句結(jié)束后不用加分號

num = 10

2)如果一行要顯示多行語句笨篷,語句之間必須用分號隔開

num = 10;str1 = 'abc'

3)如果一條語句很長,需要多行顯示瓣履,可以在語句中加\然后再換行

??注意: \不能破壞數(shù)據(jù)
num2 = 12312321 + 23214124 + 2312312 +\
       2312312322222222222 + 2112312
print(num2)

3. 縮進

1)python中一行代碼的開頭不能隨便加縮進(空格或者制表符)

num = 100
# 程序報錯
    num2 - 100
num3 = 20
# 程序報錯
    num4 = 90

2)python語法要求必須有縮進的位置率翅,必須加縮進

if num > 10:
    print(num)

4. 標(biāo)識符

標(biāo)識符是用來命名用的,一般是給變量拂苹、函數(shù)或者類命名

1)標(biāo)識符規(guī)則

所有標(biāo)識符都必須是由字母安聘、數(shù)字下劃線組成痰洒;數(shù)字不能開頭
abc = 10
ab12 = 10
ab_1 = 10
_1a = 10
# 程序報錯
23 = 'a'

2)注意

標(biāo)識符中可以出現(xiàn)中文瓢棒、日語、韓語等符號丘喻,但是實際開發(fā)中不建議使用
中文 = 'a'

5. 關(guān)鍵字

關(guān)鍵字就是python中有特殊功能和特殊意義的標(biāo)識符

1)所有關(guān)鍵字

"""
'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'
"""

2)關(guān)鍵字不能作為標(biāo)識符使用

# 運行報錯
class = 10

6. 常見數(shù)據(jù)類型和數(shù)據(jù)

1)數(shù)字?jǐn)?shù)據(jù)

整型(int)          10,89,-10
浮點型(float)      12.9脯宿,23.0,-12.0泉粉,0.23

2)字符串(str)

用單引號或者雙引號將文本數(shù)據(jù)引起來
city = '重慶市'

3)布爾(bool)

只有TrueFalse兩個值
True代表真/肯定连霉,False代表假/否定

4)列表(list)、元組(tuple)嗡靡、集合(set)跺撼、字典(dict)、函數(shù)(function)...

5)類型轉(zhuǎn)換

類型名(數(shù)據(jù))--> 將括號中的數(shù)據(jù)轉(zhuǎn)換為指定的類型并返回
# a = 2
a = int(2.333)
# b = 100.0
b = float(100)

7. print和input

1)print函數(shù)

輸出函數(shù)讨彼,在控制臺打印print后面括號中內(nèi)容的結(jié)果
print(100)
print('abc')
print(100, 'abc')
# -------輸出-------
# 100
# abc
# 100 abc

2)input函數(shù)

輸出函數(shù)歉井,獲取從控制臺輸入的內(nèi)容(輸入回車后輸入完成)
注意:不管從鍵盤上輸入的內(nèi)容是什么,input返回的結(jié)果類型都是字符串類型
value = input('請輸入年齡:')
print("輸入的年齡是:", value)
# -------輸出-------
# 請輸入年齡:12
# 輸入的年齡是: 12

二哈误、進制轉(zhuǎn)換

計算機只能存儲和處理二進制數(shù)據(jù)

int類型

包含所有的整數(shù)哩至,整數(shù)可以表示為十進制、二進制蜜自、八進制和十六進制

1)十進制

a. 基數(shù):0菩貌,1,2重荠,3箭阶,4,5戈鲁,6仇参,7,8荞彼,9
b. 進位:逢10進1 --> 10(10) == 10(10)
c. 位權(quán):123(10) = 100 + 20 + 3 = 1 * 10 ^ 2 + 2 * 10 ^ 1 + 3 * 10 ^ 0

?????x * (10 ^ (n - 1))

d. 表示方式:直接寫即可
e. 轉(zhuǎn)換:直接打印
# 10進制
num = 10
print(num)
# 轉(zhuǎn)10進制 100 100 100
print('轉(zhuǎn)10進制', 0b1100100, 0o144, 0x64)

2)二進制:

a. 基數(shù):0冈敛,1
b. 進位:逢2進1 --> 10(2) == 2(10)
c. 位權(quán):111(2) = 1 * 2 ^ 2 + 1 * 2 ^ 1 + 1 * 2 ^ 0 = 7(10)

?????x * (2 ^ (n - 1))

d. 表示方式:在二進制數(shù)前加前綴0b/0B
e. 轉(zhuǎn)換:bin()
# 2進制
# 2 ^ 3 + 2 ^ 1 + 2 ^ 0 = 8 + 2 + 1 = 11
num = 0b1011
print(num)
# 轉(zhuǎn)2進制 0b11001000 0b101110 0b10101111
print('轉(zhuǎn)2進制', bin(200), bin(0o56), bin(0xaf))

3)八進制:

a. 基數(shù):0,1鸣皂,2抓谴,3暮蹂,4,5癌压,6仰泻,7
b. 進位:逢8進1 --> 10(8) == 8(10)
c. 位權(quán):111(8) = 1 * 8 ^ 2 + 1 * 8 ^ 1 + 1 * 8 ^ 0 = 73(10)

?????x * (8 ^ (n - 1))

d. 表示方式:在八進制數(shù)前加前綴0o/0O
e. 轉(zhuǎn)換:oct()
# 8進制
# 6 * 8 ^ 1 + 7 * 8 ^ 0 = 48 + 7 =55
num = 0o67
print(num)
# 轉(zhuǎn)8進制 0o310 0o67 0o37
print('轉(zhuǎn)8進制', oct(200), oct(0b110111), oct(0x1f))

4)十六進制:

a. 基數(shù):0-9,a-f/A-F:a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
b. 進位:逢16進1 --> 10(16) == 16(10)
c. 位權(quán):111(16) = 1 * 16 ^ 2 + 1 * 16 ^ 1 + 1 * 16 ^ 0 = 273(10)
????1f(16) = 1 * 16 ^ 1 + 15 * 16 ^ 0 = 31(10)

?????x * (16 ^ (n - 1))

d. 表示方式:在十六進制數(shù)前加前綴0x/0X
e. 轉(zhuǎn)換:hex()
# 16進制
# 2 * 16 ^ 1 + 15 * 16 ^ 0 = 32 + 15 = 47
num = 0x2f
print(num)
# 轉(zhuǎn)16進制 0xc8 0x37 0x64
print('轉(zhuǎn)16進制', hex(200), hex(0b110111), hex(0o144))

三滩届、原碼反碼和補碼

計算機存儲數(shù)據(jù)的時候只能存數(shù)字集侯,而且存的是數(shù)字二進制的補碼
注意:正數(shù)的原碼、反碼和補碼均相同

計算機存儲單位

位(bit)
1字節(jié)(byte)= 8位
1kb = 1024字節(jié)
1M = 1024kb
1G = 1024M
1T = 1024G


1. 原碼

原碼 = 符號位(0表示正帜消,1表示負(fù))+ 真值(數(shù)字轉(zhuǎn)換成二進制的值)

10 --> 1010(真值)--> 1010
10的原碼: 00000000 00000000 00000000 00001010
-10的原碼:10000000 00000000 00000000 00001010

2. 負(fù)數(shù)的反碼

符號位不變棠枉,其他位取反(0變1,1變0)

10的反碼: 00000000 00000000 00000000 00001010
-10的反碼:11111111 11111111 11111111 11110101

3. 負(fù)數(shù)的補碼

反碼加1

10的補碼: 00000000 00000000 00000000 00001010
-10的補碼:11111111 11111111 11111111 11110110


4. 計算機負(fù)數(shù)采用補碼的原因

計算機沒有減法器泡挺,負(fù)數(shù)采用原碼進行加法運算時結(jié)果不正確辈讶,而采用補碼時計算正確

2 + 3 = 5
2的原碼:00000010
3的原碼:00000011
2 + 3 = 00000010 + 00000011 = 00000101 = 5

2 + (-3) = -1
2的原碼:00000010
-3的原碼:10000011 -->(反碼)11111100 -->(補碼)11111101
2 + (-3) = 11111111(補碼)--> 10000001(原碼)= -1??正確

使用原碼:
2 + (-3) = 00000010 + 10000011 = 10000101 = -5 ????錯誤


四、運算符

python支持的運算符:數(shù)學(xué)運算符娄猫、比較運算符贱除、邏輯運算符、位運算符媳溺、賦值運算符

1. 數(shù)學(xué)運算符

+(求和), -(求差), *(求積), /(求商), %(求余), //(整除), **(冪運算)

1)+, -, *, /和數(shù)學(xué)中的+, -, *, /的功能一模一樣

print(10 + 20) # 30
print(10 - 20) # -10
print(10 * 20) # 200
print(10 / 20) # 0.5

2)% 求余數(shù)

print(10 % 3)   # 求10除以3的余數(shù) 1
a. 判斷一個數(shù)是否能被另一個數(shù)整除
print(True if 21 % 7 == 0 else False)   # True
b. 判斷一個數(shù)的奇偶性:讓數(shù)字對2取余月幌,看結(jié)果是0(偶數(shù))還是1(奇數(shù))
print(True if 21 % 2 == 0 else False)   # False
c. 獲取一個數(shù)的最后幾位數(shù)
num = 1024
# 取一個數(shù)的個位數(shù)  4
print(num % 10)
# 取一個數(shù)的后兩位數(shù) 24
print(num % 100)

3)// 求商,取商的整數(shù)部分

print(5//2)     # 2
print(9.36//3)  # 3.0
獲取一個數(shù)的每一位
num = 123
print(num // 100)       # 1
print(num // 10 % 10)   # 2
# print(num % 100 // 10)  # 2
print(num % 10)         # 3

4)** 求次方值

x ** y - 求x的y次方
print(2 ** 3)           # 8
開平方
print(16 ** 0.5)        # 4.0
開立方
print(8 ** (1 / 3))     # 2.0

2. 比較運算符

>(大于), <(小于), >=(大于等于), <=(小于等于), ==(等于), !=(不等于)
所有比較運算符的結(jié)果都為布爾值(True/False)

1)>, <, >=, <=和數(shù)學(xué)中相應(yīng)的比較運算符一樣

print(100 > 10)     # True
print(100 < 10)     # False
print(100 >= 100)   # True
print(100 <= 100)   # True

2)==(判斷是否相等)/ !=(判斷是否不相等)

print(100 == 100)  # True
print(100 == 20 + 80)  # True
print(100 != 100)  # False
print(10 != 100)  # True

注意:python中比較大小的時候可以像數(shù)學(xué)一樣連寫表示范圍

x = 20
print(1 <= x <= 100)  # True
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悬蔽,一起剝皮案震驚了整個濱河市扯躺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屯阀,老刑警劉巖缅帘,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異难衰,居然都是意外死亡钦无,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門盖袭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來失暂,“玉大人,你說我怎么就攤上這事鳄虱〉苋” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵拙已,是天一觀的道長决记。 經(jīng)常有香客問我,道長倍踪,這世上最難降的妖魔是什么系宫? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任索昂,我火速辦了婚禮,結(jié)果婚禮上扩借,老公的妹妹穿的比我還像新娘椒惨。我一直安慰自己,他們只是感情好潮罪,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布康谆。 她就那樣靜靜地躺著,像睡著了一般嫉到。 火紅的嫁衣襯著肌膚如雪沃暗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天屯碴,我揣著相機與錄音描睦,去河邊找鬼。 笑死导而,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的隔崎。 我是一名探鬼主播今艺,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼爵卒!你這毒婦竟也來了虚缎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤钓株,失蹤者是張志新(化名)和其女友劉穎实牡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轴合,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡创坞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了受葛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片题涨。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖总滩,靈堂內(nèi)的尸體忽然破棺而出纲堵,到底是詐尸還是另有隱情,我是刑警寧澤闰渔,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布席函,位于F島的核電站,受9級特大地震影響冈涧,放射性物質(zhì)發(fā)生泄漏茂附。R本人自食惡果不足惜蝌以,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望何之。 院中可真熱鬧跟畅,春花似錦、人聲如沸溶推。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒜危。三九已至虱痕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辐赞,已是汗流浹背部翘。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留响委,地道東北人新思。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像赘风,于是被迫代替她去往敵國和親夹囚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348