国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python基礎知識點:類型和運算

一:類型和運算

–1.1 尋求幫助:

dir(obj)            # 簡單的列出對象obj所包含的方法名稱,返回一個字符串列表help(obj.func)      # 查詢obj.func的具體介紹和用法

– 1.2 測試類型的三種方法,推薦第三種

if type(L) == type([]): print("L is list")if type(L) == list: print("L is list")if isinstance(L, list): print("L is list")

– 1.3 Python數(shù)據(jù)類型:哈希類型、不可哈希類型

# 哈希類型,即在原地不能改變的變量類型,不可變類型??衫胔ash函數(shù)查看其hash值,也可以作為字典的key    "數(shù)字類型:int, float, decimal.Decimal, fractions.Fraction, complex"    "字符串類型:str, bytes"    "元組:tuple"    "凍結集合:frozenset"    "布爾類型:True, False"    "None"# 不可hash類型:原地可變類型:list、dict和set。它們不可以作為字典的key。

– 1.4 數(shù)字常量

1234, -1234, 0, 999999999                    # 整數(shù)1.23, 1., 3.14e-10, 4E210, 4.0e+210          # 浮點數(shù)0o177, 0x9ff, 0X9FF, 0b101010                # 八進制、十六進制、二進制數(shù)字3+4j, 3.0+4.0j, 3J                           # 復數(shù)常量,也可以用complex(real, image)來創(chuàng)建hex(I), oct(I), bin(I)                       # 將十進制數(shù)轉化為十六進制、八進制、二進制表示的“字符串”int(str, base)                               # 將字符串轉化為整數(shù),base為進制數(shù)# 2.x中,有兩種整數(shù)類型:一般整數(shù)(32位)和長整數(shù)(無窮精度)。可以用l或L結尾,迫使一般整數(shù)成為長整數(shù)float('inf'), float('-inf'), float('nan')    # 無窮大, 無窮小, 非數(shù)

– 1.5 數(shù)字的表達式操作符

yield x                                      # 生成器函數(shù)發(fā)送協(xié)議lambda args: expression                      # 生成匿名函數(shù)x if y else z                                # 三元選擇表達式x and y, x or y, not x                       # 邏輯與、邏輯或、邏輯非x in y, x not in y                           # 成員對象測試x is y, x is not y                           # 對象實體測試x<y, x<=y, x>y, x>=y, x==y, x!=y             # 大小比較,集合子集或超集值相等性操作符1 < a < 3                                    # Python中允許連續(xù)比較x|y, x&y, x^y                                # 位或、位與、位異或x<<y, x>>y                                   # 位操作:x左移、右移y位+, -, *, /, //, %, **                        # 真除法、floor除法:返回不大于真除法結果的整數(shù)值、取余、冪運算-x, +x, ~x                                   # 一元減法、識別、按位求補(取反)x[i], x[i:j:k], x(……)                        # 索引、分片、調用int(3.14),  float(3)                         # 強制類型轉換

– 1.6 整數(shù)可以利用bit_length函數(shù)測試所占的位數(shù)

a = 1;       a.bit_length()    # 1a = 1024;    a.bit_length()    # 11

– 1.7 repr和str顯示格式的區(qū)別

"""repr格式:默認的交互模式回顯,產(chǎn)生的結果看起來它們就像是代碼。str格式:打印語句,轉化成一種對用戶更加友好的格式。"""

– 1.8 數(shù)字相關的模塊

# math模塊# Decimal模塊:小數(shù)模塊    import decimal    from decimal import Decimal    Decimal("0.01") + Decimal("0.02")        # 返回Decimal("0.03")    decimal.getcontext().prec = 4            # 設置全局精度為4 即小數(shù)點后邊4位# Fraction模塊:分數(shù)模塊    from fractions import Fraction    x = Fraction(4, 6)                       # 分數(shù)類型 4/6    x = Fraction("0.25")                     # 分數(shù)類型 1/4 接收字符串類型的參數(shù)

– 1.9 集合set

"""set是一個無序不重復元素集, 基本功能包括關系測試和消除重復元素。set支持union(聯(lián)合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數(shù)學運算。set支持x in set, len(set), for x in set。set不記錄元素位置或者插入點, 因此不支持indexing, slicing, 或其它類序列的操作"""s = set([3,5,9,10])                                  # 創(chuàng)建一個數(shù)值集合,返回{3, 5, 9, 10}t = set("Hello")                                     # 創(chuàng)建一個唯一字符的集合返回{}a = t | s          t.union(s)                        # t 和 s的并集b = t & s         t.intersection(s)                  # t 和 s的交集c = t – s         t.difference(s)                    # 求差集(項在t中, 但不在s中)  d = t ^ s          t.symmetric_difference(s)         # 對稱差集(項在t或s中, 但不會同時出現(xiàn)在二者中)t.add('x')         t.remove('H')                     # 增加/刪除一個item t.update([10,37,42])                                # 利用[......]更新s集合x in s,  x not in s                                  # 集合中是否存在某個值s.issubset(t)   s.issuperset(t)   s.copy()  s.discard(x)  s.clear(){x**2 for x in [1, 2, 3, 4]}                         # 集合解析,結果:{16, 1, 4, 9}{x for x in 'spam'}                                  # 集合解析,結果:{'a', 'p', 's', 'm'}

– 1.10 集合frozenset,不可變對象

"""set是可變對象,即不存在hash值,不能作為字典的鍵值。同樣的還有l(wèi)ist、tuple等frozenset是不可變對象,即存在hash值,可作為字典的鍵值frozenset對象沒有add、remove等方法,但有union/intersection/difference等方法"""a = set([1, 2, 3])b = set()b.add(a)                     # error: set是不可哈希類型b.add(frozenset(a))          # ok,將set變?yōu)閒rozenset,可哈希

– 1.11 布爾類型bool

type(True)                   # 返回<class 'bool'>isinstance(False, int)       # bool類型屬于整形,所以返回TrueTrue == 1, True is 1         # 輸出(True, False)

– 1.12 動態(tài)類型簡介

"""變量名通過引用,指向對象。Python中的“類型”屬于對象,而不是變量,每個對象都包含有頭部信息,比如"類型標示符" "引用計數(shù)器"等"""#共享引用及在原處修改:對于可變對象,要注意盡量不要共享引用!#共享引用和相等測試:    L = [1], M = [1], L is M            # 返回False    L = M = [1, 2, 3], L is M           # 返回True,共享引用#增強賦值和共享引用:普通+號會生成新的對象,而增強賦值+=會在原處修改    L = M = [1, 2]    L = L + [3, 4]                      # L = [1, 2, 3, 4], M = [1, 2]    L += [3, 4]                         # L = [1, 2, 3, 4], M = [1, 2, 3, 4

– 1.13 常見字符串常量和表達式

S = ''                                  # 空字符串S = "spam’s"                            # 雙引號和單引號相同S = "s\np\ta\x00m"                      # 轉義字符S = """spam"""                          # 三重引號字符串,一般用于函數(shù)說明S = r'\temp'                            # Raw字符串,不會進行轉義,抑制轉義S = b'Spam'                             # Python3中的字節(jié)字符串S = u'spam'                             # Python2.6中的Unicode字符串s1+s2, s1*3, s[i], s[i:j], len(s)       # 字符串操作'a %s parrot' % 'kind'                  # 字符串格式化表達式'a {0} parrot'.format('kind')           # 字符串格式化方法for x in s: print(x)                    # 字符串迭代,成員關系[x*2 for x in s]                        # 字符串列表解析','.join(['a', 'b', 'c'])               # 字符串輸出,結果:a,b,c

– 1.24 字典解析

D = {k:8 for k in ['s', 'd']}                     # {'d': 8, 's': 8}D = {k:v for (k, v) in zip(['name', 'age'], ['tom', 12])}

– 1.25 字典的特殊方法__missing__:當查找找不到key時,會執(zhí)行該方法

class Dict(dict):    def __missing__(self, key):        self[key] = []        return self[key]dct = Dict()dct["foo"].append(1)    # 這有點類似于collections.defalutdictdct["foo"]              # [1]

– 1.26 元組和列表的唯一區(qū)別在于元組是不可變對象,列表時可變對象

a = [1, 2, 3]           # a[1] = 0, OKa = (1, 2, 3)           # a[1] = 0, Errora = ([1, 2])            # a[0][1] = 0, OKa = [(1, 2)]            # a[0][1] = 0, Error

– 1.27 元組的特殊語法: 逗號和圓括號

D = (12)                # 此時D為一個整數(shù) 即D = 12D = (12, )              # 此時D為一個元組 即D = (12, )

– 1.28 文件基本操作

output = open(r'C:\spam', 'w')          # 打開輸出文件,用于寫input = open('data', 'r')               # 打開輸入文件,用于讀。打開的方式可以為'w', 'r', 'a', 'wb', 'rb', 'ab'等fp.read([size])                         # size為讀取的長度,以byte為單位fp.readline([size])                     # 讀一行,如果定義了size,有可能返回的只是一行的一部分fp.readlines([size])                    # 把文件每一行作為一個list的一個成員,并返回這個list。其實它的內部是通過循環(huán)調用readline()來實現(xiàn)的。如果提供size參數(shù),size是表示讀取內容的總長。fp.readable()                           # 是否可讀fp.write(str)                           # 把str寫到文件中,write()并不會在str后加上一個換行符fp.writelines(seq)                      # 把seq的內容全部寫到文件中(多行一次性寫入)fp.writeable()                          # 是否可寫fp.close()                              # 關閉文件。fp.flush()                              # 把緩沖區(qū)的內容寫入硬盤fp.fileno()                             # 返回一個長整型的”文件標簽“fp.isatty()                             # 文件是否是一個終端設備文件(unix系統(tǒng)中的)fp.tell()                               # 返回文件操作標記的當前位置,以文件的開頭為原點fp.next()                               # 返回下一行,并將文件操作標記位移到下一行。把一個file用于for … in file這樣的語句時,就是調用next()函數(shù)來實現(xiàn)遍歷的。fp.seek(offset[,whence])                # 將文件打操作標記移到offset的位置。whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以文件末尾為原點進行計算。fp.seekable()                           # 是否可以seekfp.truncate([size])                     # 把文件裁成規(guī)定的大小,默認的是裁到當前文件操作標記的位置。for line in open('data'):     print(line)                         # 使用for語句,比較適用于打開比較大的文件open('f.txt', encoding = 'latin-1')     # Python3.x Unicode文本文件open('f.bin', 'rb')                     # Python3.x 二進制bytes文件# 文件對象還有相應的屬性:buffer closed encoding errors line_buffering name newlines等

– 1.29 其他

# Python中的真假值含義:1. 數(shù)字如果非零,則為真,0為假。 2. 其他對象如果非空,則為真# 通常意義下的類型分類:1. 數(shù)字、序列、映射。 2. 可變類型和不可變類型
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python解析JSON對象
Python集合主要分為哪兩種類型?
為什么python沒有l(wèi)ong了
Python編碼介紹
十分鐘入門常用的json庫
Day1
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服