Day3 總結(jié)

一·recode

1.常用快捷鍵
ctrl + s
ctrl + c
ctrl + v
ctrl + x - 剪切
ctrl + a - 全選
ctrl + / - 添加注釋
ctrl + r - 搜索替換
ctrl + f - 彈出搜索框
ctrl + n - windows(搜索)、mac(新建)
ctrl + z - 撤銷
2.注釋
單行注釋

3.標(biāo)識符
由數(shù)字、字母和下劃線組成,數(shù)字不能開頭....
python3.x還可以使用非ACSII碼字符

4.行與縮進(jìn)
5.一行顯示多條語句; 一條語句在多行顯示
6.關(guān)鍵字:不能用來命名
7.常見的數(shù)據(jù)類型:int, float, bool, complex,字符串,列表,字典,元祖,集合,函數(shù)
type(數(shù)據(jù))
isinstance(數(shù)據(jù),類型)
類型名()

8.進(jìn)制
9.原碼反碼和補(bǔ)碼
變量就是在程序中用來保存數(shù)據(jù)的容器

二·變量

1.聲明變量(定義變量) - 假的聲明

語法:
變量名 = 值

說明:
變量名 - 要求:標(biāo)識符,不能是關(guān)鍵字
規(guī)范:a.遵守PEP8命名規(guī)范(名字的所有字母都小寫,如果由多個單詞組成,單詞之間用_隔開)
b.見名知義(看到名字就知道變量中存的是什么數(shù)據(jù))
= - 賦值符號,將=右邊的值賦給左邊的變量
值 - 可以是任何有結(jié)果的表達(dá)式,例如:190, 變量, 10+20, 調(diào)用函數(shù)表達(dá)式

age = 18
name = '小明'
number = 2910

使用變量的時候,就是在使用變量中保存的值

print(age)
變量必須先聲明(賦值)再使用
 print(age1) # NameError: name 'age1' is not defined

  同時聲明多個變量,并且賦一樣的值。(同時給多個變量賦值)
num1 = num2 = num3 = 10
print(num1, num2, num3)

同時聲明多個變量,并且賦不通的值。 (注意:變量的個數(shù)和值的個數(shù)要保持一致)

x, y, z = 10, 20, 12.4
print(x, y, z)
num4 = 100
num4 = 200
print(num4)  
給同一個變量賦值,后賦的值會覆蓋先賦的值
num4 = 'abc'
num4 = [1, 2, 3]
num4 = {'a': 100}
print(num4)  同一個變量可以存儲不同類型的值

2.聲明變量和給變量賦值的本質(zhì)

結(jié)論:python所有的變量,存的都是數(shù)據(jù)在內(nèi)存中的地址。內(nèi)存地址的大小一樣
用一個變量給另外一個變量賦值,實質(zhì)是將變量中的地址賦給另外一個變量.
使用變量的時候,是使用的變量中地址對應(yīng)的值

C中聲明變量:
int num = 10
num = 100
python中聲明變量:
num = 10
num = 'asdfhaskhfjkh'
num = 2934789327495732987593745973298457893
print(num)

3.變量的三要素:值、地址和類型

值:變量中存的地址對應(yīng)的值
地址:變量中存儲的地址 (id)
類型:變量中存的地址對應(yīng)的值的類型

name1 = '小明'
name2 = name1
print(name1)  # 使用變量拿到變量中地址對應(yīng)的值
print(id(name1), id(name2))  # id(變量) - 獲取變量中存儲的地址
print(type(name1))

三·運(yùn)算符

python中的運(yùn)算符:數(shù)學(xué)運(yùn)算符,比較運(yùn)算符,邏輯運(yùn)算符,賦值運(yùn)算符,位運(yùn)算符

1.數(shù)學(xué)運(yùn)算符:+,-,*,/, %, //, **

+: 加法運(yùn)算,-:減法運(yùn)算,*:乘法運(yùn)算,/:除法運(yùn)算, %:取余(求余數(shù)), //:整除, *:冪運(yùn)算
+,-,
,/和數(shù)學(xué)中的+,-,x,÷ 對應(yīng)的功能一模一樣

print(10+20)
print(10-20)
print(10*20)
print(10/20)

a.% - 取余

應(yīng)用1:獲取一個整數(shù)的最低的一位或者幾位的值 num%(10^n)
應(yīng)用2:判斷一個是是否能夠被另外一個數(shù)整除 num1 % num2

print(10 % 3)
print(10 % 2)

獲取一個數(shù)的個數(shù)

num = 36523
print(num % 10)  # 3
print(num % 100) # 23

b. // - 除法運(yùn)算,求商,獲取商的整數(shù)部分

注意:整除的時候,如果商是負(fù)數(shù)(小數(shù)點后的值大于0),最后的結(jié)果是整數(shù)部分減1.

print(5//2)   # 2
print(3.9 // 3)  # 1.0
num = 289
print(num//100)  # 取num的百位上的值

c. ** - 冪運(yùn)算

x ** y - 求x的y次方

print(2**10)  # 2的10次方
print(9**0.5) # 9開平方
print(8**(1/3))  # 8開3次方

2.比較運(yùn)算符:>, <, ==, !=, >=, <=

所有的比較運(yùn)算符的運(yùn)算結(jié)果都是布爾值

注:python中支持像數(shù)學(xué)中的方式使用>,<,>=,<=表示范圍

值1 > 值2 : 值1是否大于值2

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

值1 < 值2: 值1是否小于值2

print(100 < 10)  # False

值1==值2: 值1是否等于值2

print(10 == 100)    # False
print(10 == 10)     # True
num = 10
print(num == 10)  # True

值1!=值2: 值1是否不等于值2

print(10!=100)   # True
print(10!=10)    # False

3.邏輯運(yùn)算符: and, or, not

邏輯運(yùn)算符的運(yùn)算對象是布爾值,運(yùn)算符結(jié)果也是布爾值
a. and(邏輯與運(yùn)算):
值1 and 值2:如果值1和值2的都為True,結(jié)果才是True;只要有一個False結(jié)果就是False

True and True -> True
True and False -> False
False and True -> False
False and  False -> False

邏輯與運(yùn)算相當(dāng)于生活中的'并且';當(dāng)需要多個條件同時滿足,就使用and將多個條件連接在一起

and短路操作:前面一個值為False,后面的條件語句不會執(zhí)行

grade = 90   # 成績
score = 98   # 分?jǐn)?shù)
 例子:要求成績大于90并且表現(xiàn)分大于95,才能獲得獎學(xué)金
print('是否獲取獎學(xué)金:', grade > 90 and score > 95)
b.or(邏輯或運(yùn)算)
值1 or 值2:如果值1和值2中有一個是True,就過就是True。兩個都是False,即如果才是False
True or  True  -> True
True or  False  -> True
False or  True  -> True
False or  False  -> False

邏輯或運(yùn)算,相當(dāng)于生活中的'或者';當(dāng)需要多個條件中至少有一個條件滿足,就是用or將多個條件連接在一起

or短路操作:前面一個值為Ture,后面的條件語句不會執(zhí)行

grade = 90   # 成績
score = 98   # 分?jǐn)?shù)
例子:要求成績大于90或者表現(xiàn)分大于95,就能獲得獎學(xué)金
print(grade > 90 or score > 95)

c.not(邏輯非運(yùn)算)

not 值:如果值是True,結(jié)果就是False;如果值是False,結(jié)果就是True

not True -> False
not False -> True

not用來對某個條件進(jìn)行否定

age = 17
是否能夠進(jìn)入網(wǎng)吧的條件: 年齡不小于18
print('是否能進(jìn)入網(wǎng)吧:', not age < 18)
print('是否能進(jìn)入網(wǎng)吧:', age >= 18)
print(10 / 4 + 23 // 4 * 2 - 30)
print(12345//10%10)

五·賦值運(yùn)算和位運(yùn)算

1.賦值運(yùn)算符:=,+=, -=, *=, /=, %=, //=, **=

所有賦值符的左邊必須是變量; 組合的賦值運(yùn)算符的左邊的變量必須已經(jīng)賦值;
所有賦值運(yùn)算符最終的會進(jìn)行賦值操作

a. = - 直接將右邊的結(jié)果賦給左邊的變量

num = 100

b. +=, -=, *=, /=, %=, //=, **=

變量 += 值 --> 相當(dāng)于 變量 = 變量 + 值
變量 -= 值 --> 相當(dāng)于 變量 = 變量 - 值
變量 *= 值 --> 相當(dāng)于 變量 = 變量 * 值
...

num1 = 1
num1 += 10   # num1 = num1+10 = 1+10
print(num1)

num1 *= 2    # num1 = num1*2 = 11*2
print(num1)

num1 %= 2
print(num1)

3.運(yùn)算符的優(yōu)先級

數(shù)學(xué)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符
優(yōu)先級高的先算。如果有括號,先算括號里面的

數(shù)學(xué)運(yùn)算符中: ** > *, /, %, // > +, -

num = 10 + 20 > 25 and True < 2
# num = 30 > 25 and True < 2
# num = True and True
# num = True
print(num)

num = 10 + (20 > 25 and True < 2)
# num = 10 + (False and True < 2)
# num = 10 + False
# num = 10
print(num)

num = 10 + 2 * 3 ** 2
print(num)

4.位運(yùn)算:&(按位與),|(按位或),^(按位異或), ~(按位取反),<<(左移), >>(右移)

位運(yùn)算是針對二進(jìn)制中每一位進(jìn)行的相關(guān)操作
a. 數(shù)字1 & 數(shù)字2 -> 二進(jìn)制的每一位進(jìn)行與運(yùn)算,運(yùn)算的時候如果都為1結(jié)果就是1,否則就是0
1 & 1 - 1
1 & 0 - 0
0 & 1 - 0
0 & 0 - 0

與的特點:一位上的數(shù)如果和1與,就會保留這一位上的數(shù)。如果和0與,就會將這一位置0
11010 & 00111 = 00010

與運(yùn)算的應(yīng)用:判斷一個數(shù)的奇偶性(最優(yōu)解答)
將數(shù)字和1與,如果結(jié)果是0,就說明這個數(shù)是偶數(shù);如果結(jié)果是1,說明這個數(shù)是奇數(shù)
3(原/補(bǔ)) = 0011
2(原/補(bǔ)) = 0010
3 & 2 = 0011 & 0010 = 0010(補(bǔ))

-2 = 1010(原) = 1101(反) = 1110(補(bǔ))
3 & -2 = 0011 & 1110 = 0010(補(bǔ))

print(3 & 2)
print(3 & -2)

print(5 & 1, 111 & 1, 123 & 1)   # 1 1 1
print(100 & 1, 12 & 1, 67238 & 1)  # 0 0 0

b.數(shù)字1 | 數(shù)字2 - 如果有一位是1結(jié)果就是1,兩個都為0結(jié)果才是0
1 | 1 - 1
1 | 0 - 1
0 | 1 - 1
0 | 0 - 0
1101 | 1010 - 1111
3 | 20
000011 | 010100 = 010111(補(bǔ))

-3 | 20
111101(補(bǔ)) | 010100 = 111101(補(bǔ))

print(3 | 20)
print(-3 | 20)

c.按位取反

~ 數(shù)字 - 將每一位取反(0變成1,1變成0)
~1 = 0
~0 = 1
~2
010 -> 101(補(bǔ)) = 100(反) = 111
print(~2)
d.按位異或
數(shù)字1 ^ 數(shù)字2 - 每一位如果相同就為0,不同為1
1 ^ 1 - 0
1 ^ 0 - 1
0 ^ 1 - 1
0 ^ 0 - 0
11 ^ 2
01011 ^ 00010 = 01001(補(bǔ))

print(11 ^ 2)
num = 10
print(num ^ 10)

e.左移
數(shù)字1 << n(位數(shù)) - 左移指定的位數(shù)就是在二進(jìn)制的后面加指定個數(shù)個0
相當(dāng)于:數(shù)字1 * (2**n)
10 << 1
01010 << 1 = 010100 = 20
01010 << 2 = 0101000 = 2^5 + 2^3 = 32 + 8 = 40

-10 << 1
11010 -> 10110(補(bǔ)碼) << 1 = 101100(補(bǔ))= 101011(反)=110100 = -20

print(10 << 1)
print(10 << 2)
print(-10 << 1)

f.右移
數(shù)字1 >> n(位數(shù)) 將數(shù)字的二進(jìn)制位向右移動指定的位數(shù)(將低位刪除指定的位數(shù))
相當(dāng)于: 數(shù)字1 // (2**n)
20
010100 >> 2 = 0101 = 5
0101 >> 1 = 010 = 2
010 >> 1 = 01 = 1
01 >> 1 = 0 = 0

六·認(rèn)識字符串

1.什么是字符串(str)

字符串是python中一種常用的有序但是不可變的容器類的數(shù)據(jù)類型,可以同時存儲多個字符。屬于序列

字面量:使用單引號或者雙引號將任意字符括起來,就是字符串常量
'hjh是否就是23as+-', "是89===——238jsNM是"

字符:指的就是字符串中的每一個單元。注意,python中只有字符的概念沒有字符類型
num = 10

2.字符串中的內(nèi)容

a.普通字符:包含數(shù)字字符、字母、普通符號(包含空格和Tab):+,-(),%#@等、中文、韓文、日語等
'123', 'hsja', '*&sd23順'

b.轉(zhuǎn)義字符:通過反斜杠將一些字符轉(zhuǎn)換成有特殊功能或者特殊意義的字符
\n - 換行
\t - 制表符
\' - 表示一個單引號
\" - 表示一個雙引號
\\ - 表示一個\

注意:一個轉(zhuǎn)義字符代表一個字符

c.阻止轉(zhuǎn)義: 在字符串的最前面加r/R,可以阻止轉(zhuǎn)義字符轉(zhuǎn)義

print('\tabc\n123')
print('abc\'123')
print("ab\"c'123")
print('abc\\n123')
print(r'abc\n12\\3')
print(r'\b')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,546評論 0 13
  • 1.recode 1.常用快捷鍵ctrl + sctrl + cctrl + vctrl + x - 剪切ctr...
    Gary134閱讀 341評論 0 0
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,709評論 0 5
  • 一.變量 變量就是在程序中用來保存數(shù)據(jù)的容器 1.聲明變量(定義變量) - 假的聲明語法:變量名 = 值 說明:變...
    熙包包閱讀 177評論 0 0
  • 《金文誠〈孟子〉學(xué)習(xí)筆記237,7-3-2,離婁章句上3-2》 【"天子不仁,不保四海;諸侯不仁,不保社稷;卿大夫...
    金吾生閱讀 217評論 0 0

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