Python學習 基本數據類型

python基礎-基本數據類型  

重新做人系列  拒絕瞎操作

一、進制轉換

  1. 十進制:逢10進1,1,2,3,4,5,6,7,8,9,10,11······
  2. 二進制:逢2進1, 001,010,011,100,101,110,111······
  3. 八進制:逢8進1,1,2,3,4,5,6,7,10,11,12,13,14,15,16,20······
  4. 十六進制:逢16進1,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
  5. 二進制 -> 十進制:10010010 -> 146,2**7+2**4+2**1
  6. 二進制 -> 八進制:10010010 -> 0o222, 10(2) 010(2) 010(2)
  7. 二進制 -> 十六進制:10010010 -> 0x92, 1001(9) 0010(2)

二、數據類型

這是簡單的數據類型


三、標識符和關鍵字

  • 標識符由字母、下劃線和數字組成,且數字不能開頭。
  • 標識符是區分大小寫的:Andy != andy。
  • 命名規則:見名字知意。
  • 小駝峯式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aCat。
  • 大駝峯式命名法(upper camel case): 每一個單字的首字母都採用大寫字母,例如:FirstName、LastName。
  • 還有一種命名法是用下劃線“_”來連接所有的單詞,比如send_buf。
  • 關鍵字是已經被python預定義,且具有特殊含義的標識符,不允許開發者自行定義和關鍵次相同名字的變量,否則會引起程序錯誤。
注:如何在python中查看關鍵字?

>>> import keyword
>>> keyword.kwlist

四、python中的輸出

(一)佔位符

>>> age = 10
>>> print('我今年%d歲了'% age)
我今年18歲了

(二)轉義符

轉義符文

1. 可以用反斜槓對雙引號進行轉義。

>>> print("I l\"o\"ve you")
I l"o"ve you

2、可以用單引號引起這個字符串。

>>> print("I l'o've you")
I l'o've you
  • 式符號和格式化操作符輔助命令
格式符號 轉換
%s 通過str() 字符串轉換來格式化
%d 有符號十進制整數
%o 八進制整數
%x 十六進制整數(小寫字母)
%X 十六進制整數(大寫字母)
%e 索引符號(小寫’e’)
%f 浮點實數,浮點數默認取小數點後六位,要標明.2f
%G %f和%E的簡寫
m.n m顯示最小總寬度,n是小數點後的位數,“。是小數點”
- 用於左對齊
+ 在正數前面顯示“+”號
# 在八進制前顯示0o,在十六進制前顯示0x
0 顯示的數字前面填充“0”取代空格

1. 用format()格式化str1

>>> str1 = "{a} love {b}.{c}"
>>> print(str1.format(a = "I", b = "you", c = "com"))
I love you.com

2、如果爲{0},{1},{2}則默認,不用說明。

>>> str1 = "{0} love {1}.{2}"
>>> print(str1.format("I", "you", "com"))
I love you.com

3、怎麼顯示PI = 3.14,用format前面字符串怎麼寫?

>>> print("{0}{1:.2f}".format("PI = ",3.1415926))
PI = 3.14
  • 1

五、運算符

(一)算數運算符

運算符 描述 實例
+ 兩個對象相加 a + b 輸出結果 30
- 得到負數或是一個數減去另一個數 a - b 輸出結果 -10
* 兩個數相乘返回一個被重複若干次的字符串 a * b 輸出結果 200
/ b / a 輸出結果 2
// 取整除 返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0
% 取餘 返回除法的餘數 b % a 輸出結果 0
** 指數 a**b 爲10的20次方, 輸出結果 100000000000000000000

算數運算符的優先級: * > / % // > + - 有括號要先算括號裏面的

(二)賦值運算符

運算符 描述 實例
+= 加法賦值運算符 c += a 等效於 c = c + a
-= 減法賦值運算符 c -= a 等效於 c = c - a
*= 乘法賦值運算符 = a 等效於 c = c a
/= 除法賦值運算符 c /= a 等效於 c = c / a
%= 取模賦值運算符 返c %= a 等效於 c = c % a
**= 冪賦值運算符 = a 等效於 c = c a
//= 取整除賦值運算符 c //= a 等效於 c = c // a

(三)比較(即關係)運算符

運算符 描述
== 檢查兩個操作數的值是否相等,如果是則條件變爲真。
!= 檢查兩個操作數的值是否相等,如果值不相等,則條件變爲真。
> 檢查左操作數的值是否大於右操作數的值,如果是,則條件成立。
< 檢查左操作數的值是否小於右操作數的值,如果是,則條件成立。
>= 檢查左操作數的值是否大於或等於右操作數的值,如果是,則條件成立。
<= 檢查左操作數的值是否小於或等於右操作數的值,如果是,則條件成立。

(四)邏輯運算符

運算符 邏輯表達式 描述
and x and y “與”:如果 x 爲 False,x and y 返回 False,否則它返回 y 的值。
or x or y “或”:如果 x 是 True,返回 True,否則它返回 y 的值。
not not x “非”:如果 x 爲 True,返回 False 。如果 x 爲 False,返回 True。

1、邏輯運算符優先級:not > and > or 
2、在Python中True爲1,False爲0 
3、臺條件裏,只要不爲0,條件都成立。


六、數據類型轉換

函數 轉換
int(x [,base ]) 將x轉換爲一個整數
float(x) 將x轉換爲一個浮點數
complex(real [,imag ]) 創建一個複數,real爲實部,imag爲虛部
str(x) 將對象 x 轉換爲字符串
repr(x) 將對象 x 轉換爲表達式字符串
eval(str) 用來計算在字符串中的有效Python表達式,並返回一個對象
tuple(s) 將序列 s 轉換爲一個元組
list(s) 將序列 s 轉換爲一個列表
chr(x) 將一個整數轉換爲一個Unicode字符
ord(x) 將一個字符轉換爲它的整數值
hex(x) 將一個整數轉換爲一個十六進制字符串
oct(x) 將一個整數轉換爲一個八進制字符串
bin(x) 將一個整數轉換爲一個二進制字符串

1、把str1轉化爲八進制數的整形

>>> str1 = '10'
>>> num = int(str1, 8)
8

2、複數的用法

>>> c1 = 10 + a4
>>> c2 = complex(10, 4)  # c1和c2顯示的結果一樣

3、repr() 括號中不管是什麼類型,都能轉爲爲字符串。   
>>> a = 10
>>> repr(a)
'10'

4、eval() 把字符串形式還原成爲原來的類型
>>> a = '[1,2,3]'
>>> eval(a)
[1,2,3]

5、十六進制數轉化成十進制數

>>> a = '0xa'
>>> b = int(a, 16)
10
>

七、補充

  • 如何在python中四捨五入?
>>> a = 5.4
>>> b = 5.9
>>> c = int(a+0.5)
>>> d = int(b+0.5)
  • 計算出 not 1 or 0 and 1 or 3 and 4 or 5?
1、python中and是從左到右計算表達式的,則都爲真,則返回最後一個值,若爲假,則返回第一個假的值。

>>> -1 and -2
-2
>>> -1 and 0
0
>>> 0 and -1
0

2、python中的or也是從左到右計算表達式的,誰先爲真取誰。

>>> -1 or -2
-1
>>> 0 or -2
-2

  • 運算符排序 
    冪運算 > 正負號 > 算術運算符 > 比較運算符 > 邏輯運算符、

  • 位運算 
    ①&按位與:全1才1,否則0. 任何數&1爲0,&0爲0 
    ② | 按位或: 有1就1,都是0才爲0,任何數 | 0 都爲任何數。 
    ③^按位異或:不相同爲1,相同爲0 
    ④~按位取反:~9 = 10 n取~ 爲 ~(n+1)

  • 如何快速完成乘法和除法運算 
    ①<<按位左移: 快速完成乘法 5 << 1 左移一位乘以2 
    ②>>按位右移:快速完成除法 5 >> 1 右移一位地板除2

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