Python基础知识(第二天)
鏈式賦值_系列解包覆值_常量
鏈式賦值
?x=y=123? 相當于:x=123; y=123
系列解包覆值
?a,b,c=4,5,6 相當于:a=4;b=5;c=6
常量
?Python?不支持常量,即沒有語法規則限制改變一個常量的值。我們只能約定常量的命名規則,以及在程序的邏輯上不對常量的值作出修改。
內置數據類型(type)_? 基本算數運算符
python 中最基本的內置數據類型
數字和基本運算符
| 運算符 | 說明 | 示例 | 結果 | 
| + | 加法 | 3+2 | 5 | 
| - | 減法 | 30-5 | 25 | 
| * | 乘法 | 3*6 | 18 | 
| / | 浮點數除法 | 8/2 | 4.0 | 
| // | 整數除法 | 7//2 | 3 | 
| % | 模(取余) | 7%4 | 3 | 
| ** | 冪 | 2**3 | 8 | 
整數_不同進制_其他類型轉換成整數
Python 中,除 10 進制,還有其他三種進制
| 
 | 1 | |
| 
 | 1 2 3 4 5 6 7 | |
| 
 | 1 2 3 4 5 6 7 8 9 a b c d e f | 
使用 int()實現類型轉換
自動轉型
整數和浮點數混合運算時,表達式結果自動轉型成浮點數。比如:2+8.0 的結果是 10.0
浮點數_自動轉換_強制轉換_增強賦值運算符
浮點數
浮點數,稱為 float。浮點數用 a?x?b10 形式的科學計數法表示。比如:3.14,表示成:314E-2?或者 314e-2。這些數字在內存中也是按照科學計數法存儲。
類型轉換和四舍五入
增強型賦值運算符
| 運算符 | 例子 | 等價 | 
| += | a += 2 | a = a + 2 | 
| -= | a -= 2 | a = a-2 | 
| *= | a *= 2 | a = a * 2 | 
| /= | a /= 2 | a = a / 2 | 
| //= | a //= 2 | a = a//2 | 
| **= | a **= 2 | a = a**2 | 
| %= | a %= 2 | a = a % 2 | 
時間表示_unix時間點_毫秒和微秒_time模塊
時間的表示
計算機中時間的表示是從“1970 年 1 月 1 日 00:00:00”開始,以毫秒(1/1000 秒) 進行計算。我們也把 1970 年這個時刻成為“unix 時間點”。
python 中可以通過 time.time() 獲得當前時刻,返回的值是以秒為單位,帶微秒(1/1000 毫秒)精度的浮點值。例如:1530167364.8566。
多點坐標_繪出折線圖_計算兩點距離
import turtle import math x1,y1=100,100 x2,y2=100,-100 x3,y3=-100,-100 x4,y4=-100,100 turtle.penup() turtle.goto(x1,y1) turtle.pendown()turtle.goto(x2,y2) turtle.goto(x3,y3) turtle.goto(x4,y4)distance=math.sqrt((x1-x4)**2+(y1-y4)**2) turtle.write(distance)布爾值_比較運算符_邏輯運算符_短路問題
布爾值
Python3?中,把 True?和 False?定義成了關鍵字,但他們的本質還是 1?和 0,甚至可以和數字相加。
比較運算符
邏輯運算符?
| 運算符 | 格式 | 說明 | 
| or 邏輯或 | x or y | x 為 true,則不計算 y,直接返回 true x 為 false,則返回 y | 
| and 邏輯與 | x and y | x 為 true,則返回 y 的值 x 為 false,則不計算 y,直接返回 false | 
| not 邏輯非 | not x | x?為 true,返回 false x?為 false,返回 true | 
同一運算符_整數緩存問題
同一運算符
is 用于判斷兩個變量引用對象是否為同一個,即比較對象的地址。
== 用于判斷引用變量引用對象的值是否相等,默認調用對象的?eq?()方法。
?
整數緩存問題
Python?僅僅對比較小的整數對象進行緩存(范圍為[-5, 256])緩存起來,而并非是所有整數對象。需要注意的是,這僅僅是在命令行中執行,而在Pycharm?或者保存為文件執行,結果是不一樣的,這是因為解釋器做了一部分優化(范圍是[-5,任意正整數])。
is 運算符比 == 效率高,在變量和 None 進行比較時,應該使用 is。
字符串_unicode字符集_三種創建字符串方式_len()
字符串基本特點
字符串的本質是:字符序列。Python?的字符串是不可變的,我們無法對原字符串做任何修改。但,可以將字符串的一部分復制到新創建的字符串,達到“看起來修改”的效果。
Python 不支持單字符類型,單字符也是作為一個字符串使用的。
字符串的編碼
Python3?直接支持 Unicode,可以表示世界上任何書面語言的字符。Python3?的字符默認就是 16?位 Unicode?編碼,ASCII?碼是 Unicode?編碼的子集。
使用內置函數 ord()可以把字符轉換成對應的 Unicode 碼;
使用內置函數 chr()可以把十進制數字轉換成對應的字符。
引號創建字符串
我們可以通過單引號或雙引號創建字符串。
連續三個單引號或三個雙引號,可以幫助我們創建多行字符串。
?技巧:雙引號內單引號? ? ?單引號內雙引號? ? ?三引號內單引號雙引號
空字符串和 len()函數
字符串_轉義字符_字符串拼接_字符串復制_input()獲得鍵盤輸入
轉義字符
字符串拼接
可以使用+將多個字符串拼接起來。例如:’aa’+ ’bb’?==>’aabb’。
可以將多個字面字符串直接放到一起實現拼接。例如:’aa’’bb’==>’aabb’
字符串復制
使用*可以實現字符串復制
不換行打印
我們前面調用 print?時,會自動打印一個換行符。有時,我們不想換行,不想自動添加換行符。我們可以自己通過參數 end = “任意字符串”。實現末尾添加任何內容:
從控制臺讀取字符串
>>> myname = input("請輸入名字:")
請輸入名字:高淇
>>> myname '高淇'
字符串_str()_[]提取字符_replace()替換_內存分析
str()可以幫助我們將其他數據類型轉換為字符串
str(5.20) ==>?‘5.20’ str(3.14e2)==>’314.0’ str(True) ==>?‘True’
使用[]提取字符
字符串的本質就是字符序列,我們可以通過在字符串后面添加[],在[]里面指定偏移量,可以提取該位置的單個字符。
正向搜索:最左側第一個字符,偏移量是 0,第二個偏移量是 1,以此類推。直到 len(str)-1為止。
反向搜索:最右側第一個字符,偏移量是-1,倒數第二個偏移量是-2,以此類推,直到-len(str) 為止。
?
?replace()實現字符串替換
字符串_切片slice操作_逆序
字符串切片 slice 操作
切片 slice?操作可以讓我們快速的提取子字符串。標準格式為:[起始偏移量 start:終止偏移量 end:步長 step]? ? ?(左閉右開)
?切片操作時,起始偏移量和終止偏移量不在[0,字符串長度-1]這個范圍,也不會報錯。起始偏移量小于 0 則會當做 0,終止偏移量大于“長度-1”會被當成-1。
字符串_split()分割_join()合并_join()效率測試
split()可以基于指定分隔符將字符串分隔成多個子字符串(存儲到列表中)。
join()的作用和 split()作用剛好相反,用于將一系列子字符串連接起來。
+會生成多個對象,join只會生成一個對象?
字符串_駐留機制_內存分析_字符串同一判斷_值相等判斷
字符串駐留
僅保存一份相同且不可變字符串的方法,不同的值被存放在字符串駐留池中。Python 支持字符串駐留機制,對于符合標識符規則的字符串(僅包含下劃線(_)、字母和數字)會啟用字符串駐留機制駐留機制。
字符串比較和同一性
我們可以直接使用==,!=對字符串進行比較,是否含有相同的字符。
我們使用 is / not is,判斷兩個對象是否同一個對象。比較的是對象的地址,即 id(obj1)是否和 id(obj2)相等。
成員操作符
in /not in 關鍵字,判斷某個字符(子字符串)是否存在于字符串中。
字符串_常用查找方法_去除首位信息_大小寫轉換_排版
常用查找方法
去除首尾信息?
我們可以通過 strip()去除字符串首尾指定信息。通過 lstrip()去除字符串左邊指定信息, rstrip()去除字符串右邊指定信息。
大小寫轉換?
?格式排版
?
字符串_format格式化_數字格式化操作
format()基本用法
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。基本語法是通過 {} 和 : 來代替以前的 % 。
?
填充與對齊
填充常跟對齊一起使用,^、<、>分別是居中、左對齊、右對齊,后面帶寬度,:號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充
| 數字 | 格式 | 輸出 | 描述 | 
| 3.1415926 | {:.2f} | 3.14 | 保留小數點后兩位 | 
| 3.1415926 | {:+.2f} | 3.14 | 帶符號保留小數點后兩位 | 
| 2.71828 | {:.0f} | 3 | 不帶小數 | 
| 5 | {:0>2d} | 05 | 數字補零 (填充左邊, 寬度為 2) | 
| 5 | {:x<4d} | 5xxx | 數字補x (填充右邊, 寬度為 4) | 
| 10 | {:x<4d} | 10xx | 數字補x (填充右邊, 寬度為 4) | 
| 1000000 | {:,} | 1,000,000 | 以逗號分隔的數字格式 | 
| 0.25 | {:.2%} | 25.00% | 百分比格式 | 
| 1000000000 | {:.2e} | 1.00E+09 | 指數記法 | 
| 13 | {:10d} | 13 | 右對齊 (默認, 寬度為 10) | 
| 13 | {:<10d} | 13 | 左對齊 (寬度為 10) | 
| 13 | {:^10d} | 13 | 中間對齊 (寬度為 10) | 
總結
以上是生活随笔為你收集整理的Python基础知识(第二天)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Python基础知识(第一天)
- 下一篇: Python基础知识(第三天)
