double型別怎麼取餘_Python基本資料型別
技術標籤:double型別怎麼取餘matlab中float型別的python中的變數是動態型別的什麼意思python怎麼換行python資料型別下標索引必須為正整數型別或邏輯型別
識別符號
第一個字元必須是字母表中字母或下劃線 _ 。
識別符號的其他的部分由字母、數字和下劃線組成。
識別符號對大小寫敏感。
python保留字
['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']
資料型別簡介
Python3 中有六個標準的資料型別:Number(數值)、String(字串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)。
Python3 的六個標準資料型別中:
不可變資料(3 個):
Number(數值)、String(字串)、Tuple(元組);
可變資料(3 個):
List(列表)、Dictionary(字典)、Set(集合)。
Number(數值)
Python3 支援 int、float、bool、complex(複數)。
數字型別是顧名思義是用來儲存數值的,需要記住的是,有點和 Java 的字串味道差不多,如果改變了數字資料型別的值,將重新分配記憶體空間
Python 支援三種不同的數值型別:
整型(Int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。
Python3 整型是沒有限制大小的,可以當作 Long 型別使用,所以 Python3 沒有 Python2 的 Long 型別。
浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型別不精確儲存,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
複數( (complex)) - 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。
# -*- coding: utf-8 -*-a = 1 # 整型b = 2.0 # 浮點(小數)print(a, type(a)) # 1, intprint(b, type(b)) # 2.0 float# 型別轉換int、float,complex
使用使用以上三個關鍵字加中括號即可
例如 float 或者 complex 轉int
int(float或者complex)
同理,要轉什麼。則用什麼關鍵字+中括號即可
布林型別(Bool)
布林值是特殊的數字型別,採用二進位制中的0,1.來表示False
orTrue
.布林型別常在條件分支中作為判斷
True(1)
False(0)
# 定義bool值a = Trueb = Falseprint(int(a), type(a)) # 1, boolprint(int(b), type(b)) # 0, bool
String(字串)
python中單引號和雙引號使用完全相同。
使用三引號(‘’’或”””)可以指定一個多行字串。
轉義符 ‘\’
反斜槓可以用來轉義,使用r可以讓反斜槓不發生轉義。
。
如 r”this is a line with \n” 則\n會顯示,並不是換行。
按字面意義級聯字串,如”this “ “is “ “string”會被自動轉換為this is string。
字串可以用 + 運算子連線在一起,用 * 運算子重複。
Python 中的字串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
Python中的字串不能改變。
Python 沒有單獨的字元型別,一個字元就是長度為 1 的字串。
字串的擷取的語法格式如下:
變數[頭下標:尾下標:步長]
字串的定義:單引號(‘ ‘)、雙引號(“ “)、三引號(‘’’ ‘’’ 或 “”” “””)
s = "字串"
字串的基本操作
str='Payne'print(str) # 輸出字串print(str[0:-1]) # 輸出第一個到倒數第二個的所有字元print(str[0]) # 輸出字串第一個字元print(str[2:5]) # 輸出從第三個開始到第五個的字元print(str[2:]) # 輸出從第三個開始後的所有字元print(str * 2) # 輸出字串兩次print(str + '你好') # 連線字串print('------------------------------')
print('hello\n Payne') # 使用反斜槓(\)+n轉義特殊字元print(r'hello\n Payne') # 在字串前面新增一個 r,表示原始字串,不會發生轉義# 空行函式之間或類的方法之間用空行分隔,表示一段新的程式碼的開始。類和函式入口之間也用一行空行分隔,以突出函式入口的開始。
空行與程式碼縮排不同,空行並不是Python語法的一部分。書寫時不插入空行,Python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的程式碼,便於日後程式碼的維護或重構。
記住:空行也是程式程式碼的一部分。
常用格式化字元
%s
string="hello"#%s列印時結果是helloprint "string=%s" % string # output: string=hello#%2s意思是字串長度為2,當原字串的長度超過2時,按原長度列印,所以%2s的列印結果還是helloprint "string=%2s" % string # output: string=hello#%7s意思是字串長度為7,當原字串的長度小於7時,在原字串左側補空格,#所以%7s的列印結果是 helloprint "string=%7s" % string # output: string= hello#%-7s意思是字串長度為7,當原字串的長度小於7時,在原字串右側補空格,#所以%-7s的列印結果是 helloprint "string=%-7s!" % string # output: string=hello !#%.2s意思是擷取字串的前2個字元,所以%.2s的列印結果是heprint "string=%.2s" % string # output: string=he#%.7s意思是擷取字串的前7個字元,當原字串長度小於7時,即是字串本身,#所以%.7s的列印結果是helloprint "string=%.7s" % string # output: string=hello#%a.bs這種格式是上面兩種格式的綜合,首先根據小數點後面的數b擷取字串,#當擷取的字串長度小於a時,還需要在其左側補空格print "string=%7.2s" % string # output: string= heprint "string=%2.7s" % string # output: string=helloprint "string=%10.7s" % string # output: string= hello#還可以用%*.*s來表示精度,兩個*的值分別在後面小括號的前兩位數值指定print "string=%*.*s" % (7,2,string) # output: string= he
%d格式化整數
num=14#%d列印時結果是14print "num=%d" % num # output: num=14#%1d意思是列印結果為1位整數,當整數的位數超過1位時,按整數原值列印,所以%1d的列印結果還是14print "num=%1d" % num # output: num=14#%3d意思是列印結果為3位整數,當整數的位數不夠3位時,在整數左側補空格,所以%3d的列印結果是 14print "num=%3d" % num # output: num= 14#%-3d意思是列印結果為3位整數,當整數的位數不夠3位時,在整數右側補空格,所以%3d的列印結果是14_print "num=%-3d" % num # output: num=14_#%05d意思是列印結果為5位整數,當整數的位數不夠5位時,在整數左側補0,所以%05d的列印結果是00014print "num=%05d" % num # output: num=00014#%.3d小數點後面的3意思是列印結果為3位整數,#當整數的位數不夠3位時,在整數左側補0,所以%.3d的列印結果是014print "num=%.3d" % num # output: num=014#%.0003d小數點後面的0003和3一樣,都表示3,意思是列印結果為3位整數,#當整數的位數不夠3位時,在整數左側補0,所以%.3d的列印結果還是014print "num=%.0003d" % num # output: num=014#%5.3d是兩種補齊方式的綜合,當整數的位數不夠3時,先在左側補0,還是不夠5位時,再在左側補空格,#規則就是補0優先,最終的長度選數值較大的那個,所以%5.3d的列印結果還是 014print "num=%5.3d" % num # output: num= 014#%05.3d是兩種補齊方式的綜合,當整數的位數不夠3時,先在左側補0,還是不夠5位時,#由於是05,再在左側補0,最終的長度選數值較大的那個,所以%05.3d的列印結果還是00014print "num=%05.3d" % num # output: num=00014#還可以用%*.*d來表示精度,兩個*的值分別在後面小括號的前兩位數值指定#如下,不過這種方式04就失去補0的功能,只能補空格,只有小數點後面的3才能補0print "num=%*.*d" % (04,3,num) # output: num= 014
%f
import math#%a.bf,a表示浮點數的列印長度,b表示浮點數小數點後面的精度#只是%f時表示原值,預設是小數點後5位數print "PI=%f" % math.pi # output: PI=3.141593#只是%9f時,表示列印長度9位數,小數點也佔一位,不夠左側補空格print "PI=%9f" % math.pi # output: PI=_3.141593#只有.沒有後面的數字時,表示去掉小數輸出整數,03表示不夠3位數左側補0print "PI=%03.f" % math.pi # output: PI=003#%6.3f表示小數點後面精確到3位,總長度6位數,包括小數點,不夠左側補空格print "PI=%6.3f" % math.pi # output: PI=_3.142#%-6.3f表示小數點後面精確到3位,總長度6位數,包括小數點,不夠右側補空格print "PI=%-6.3f" % math.pi # output: PI=3.142_#還可以用%*.*f來表示精度,兩個*的值分別在後面小括號的前兩位數值指定#如下,不過這種方式06就失去補0的功能,只能補空格print "PI=%*.*f" % (06,3,math.pi) # output: PI=_3.142
1.%c,格式化字元及其ASCII碼(a = 97)
‘%c %c %c’% (97,98,99)
‘a b c’
2.%s,格式化字串
‘%s’ % ‘hello world’
‘hello world’
3.%d,格式化整數
‘%d + %d = %d’ % (4,5,4+5)
‘4 + 5 = 9’
4.%o,格式化無符號八進位制數(十進位制的24相當於八進位制的30)
‘%o’ % 24
‘30’
在這裡插入圖片描述
5.%x,格式化無符號十六進位制數(十進位制的10相當於十六進位制的a,十進位制的160相當於十六進位制的a0)
‘%x’ % 10
‘a’
‘%x’ % 160
‘a0’
在這裡插入圖片描述
6.%X,格式化無符號十六進位制數(大寫)
‘%X’ % 10
‘A’
‘%X’ % 160
‘A0’
7.%f,格式化定點數,可指定小數點後的精度(預設精確到6位)
‘%f’ % 1023.567
‘1023.567000’
高階表示法(小數會四捨五入,1f所以只保留一位小數):
‘{0:.1f}{1}’.format(1023.567,‘GB’)
‘1023.6GB’
8.%e,用科學計數法格式化定點數
‘%e’ % 1023.567
‘1.023567e+03’
9.%E,用科學計數法格式化定點數,作用與%e相同
‘%E’ % 1023.567
‘1.023567E+03’
10.%g,根據值的大小決定使用%f或%e
‘%g’ % 1023.567
‘1023.57’
‘%g’ % 1023.567654658676451
‘1023.57’
‘%g’ % 0.0000000000564546
‘5.64546e-11’
11.%G,根據值的大小決定使用%f或%E,作用與%g相同
‘%G’ % 1023.567
‘1023.57’
‘%G’ % 0.0000000000564546
‘5.64546E-11’
二、格式化操作符輔助說明
12.小數點前面的數5、7等表示總的位數,不夠用零在左邊補齊,小數點後面的1f’、2 f 等代表小數保留的位數
‘%5.1f’ % 1023.567
‘1023.6’
‘%5.2f’ % 1023.567
‘1023.57’
‘%7.1f’ % 1023.567
’ 1023.6’
‘%7.2f’ % 28.543
’ 28.54’
13.百分號後面的.2e代表科學計數法保留幾位小數
‘%.2e’ % 28.543
‘2.85e+01’
14.格式化整數,一共10位,5左邊補齊9個零
‘%10d’ % 5
’ 5’
15.在操作符前新增“-”負號,可改變補零的位置,在5的右側補齊了9個零,例如:
‘%-10d’ % 5
'5 ’
16.在操作符前面新增“+”正號,可以使正數前面顯示“+”加號,若是負數則不會顯示正號”+“。例如:
‘%+G’ % 0.000564546
‘+0.000564546’
‘%+d’ % -5
‘-5’
17.“#”可以將八進位制數用”0o+八進位制“拼接表示,可以將十六進位制用”0x+十六進位制“拼接表示,十進位制數不顯示符號(10輸出還是10)
‘%#o’ % 10
‘0o12’
‘%#x’ % 108
‘0x6c’
‘%#d’ % 10
‘10’
18.在操作符前新增”0“:表示顯示的數字前面填充’0‘取代空格
‘%010d’ % 5
‘0000000005’
加負號反向填充
‘%-010d’ % 5
'5 ’
‘%x’ % 10
‘a’
‘%x’ % 160
‘a0’
%X,格式化無符號十六進位制數(大寫)
‘%X’ % 10
‘A’
‘%X’ % 160
‘A0’
佔位符:{}及format
# format## 通過位置data = ["Payne", 20]"Name:{0}, Age:{1}".format(*data)'Name:Payne, Age:20'## 通過關鍵字data = {"name": "Payne", "age": 20}"Name:{name}, Age:{age}".format(**data)'Name:Payne, Age:20'## 通過物件屬性In[1]: class Person(object):
...: def __init__(self, name, age):
...: self.name = name
...: self.age = age
...: def __str__(self):
...: return "This guy is {self.name}, {self.age} years old.".format(self=self)
...:
In[2]: p = Person("Payne", 20)
In[3]: str(p)
Out[3]: 'This guy is Payne, 20 years old.'# 通過下標data = ["Payne", 20]
In[1]: "{0[0]} is {0[1]} years old.".format(data)
Out[1]: 'Payne is 20 years old.'
前導符
轉意:在字串中當斜槓\
遇見以下字元將轉化為其他的“值”
\t :tab, \n:換行 \ \ : \等
r"string"
:非轉意
f”{}”:佔位符為可執行物件,相當於外面後面追加format填充
下一節將學習
運算子及位運算