開発テクノロジー:pythonデータ型の概要

6880 ワード

開発|pythonデータ型の概要
Pythonの基础を振り返る时、最大の问题は内容が多くて、私の目的は自分の前に学んだ内容を振り返ることで、相応の総括を行って、だから私は基础を游ばないで、多くの私の実际の生活の中で使うもの、私は文章の中で提出します.そして私自身はこれらの内容に基づいて相応の補充と拡張を行います.文章の位置づけ:科学普及文ではなく、自分の勉強に対する総括です.
前言
             :  +  。
  :           。             。
  :       ,     。      ,      。

本文
本文の主な内容は:Pythonのすべてのデータ型で、None、ブール、数字、文字列、元祖、辞書、集合、秩序辞書、凍結集合を含む.
基礎知識
1.まず、Pythonという言語がどのように自分でデータ型を区別するのかを知る必要があります.type()メソッドを使用します.
s = 'rongming'
print(type(s))  # 

Noneタイプ
NoneはPythonのNoneを表しています.Pythonのデータ型としては、一般の人は知らないと思いますが、覚えておいてください.
a = None
print(type(a))  # 

ブール型
ブールタイプ:True/False Pythonが比較的遠方計算を行うとブールタイプの結果が得られます.
In [1]: type(None)
Out[1]: NoneType

In [2]: a = 10
In [3]: b = 8
In [4]: c = a > b

In [5]: c
Out[5]: True

In [6]: print(type(c))

数値タイプ
数値タイプ:int/float(整数/浮動小数点型)整数、浮動小数点型小数点.注意:long型はありません
In [7]: num = 666
In [8]: num1 = 1.666

In [9]: type(num)
Out[9]: int

In [10]: type(num1)
Out[10]: float

文字列タイプ
1.文字列タイプ:str、可変データ型に属する.
2.文字列は文字の集合で、一重引用符と二重引用符で含める必要があります.
3.文字列の操作関数文字列の操作関数ソースコードは以下の通りです.
In [12]: dir(s)
Out[12]:
[ 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

4.よく使われる文字列操作関数1)スライス操作は、文字列の各文字に基づいてスライス2)文字列のエスケープを行い、2つの3)center()を用いてタイトルを生成することができ、左右に指定記号4)count()文字列データ型の文字数5)encode符号化を含み、符号化変換は6)decode復号を用い、符号化変換は7)format()文字列のフォーマットを用い、フォーマット時に同じ変数が複数出現する8)isdigit()文字列が数字かどうかを判断するのに適している9)islower/isupperはアルファベットが小文字/大文字10)joinで文字列のつなぎ合わせを行うかどうかを表し、常用11)lstrip文字列左スペース12)strip文字列両側スペース13)rstrip文字列右スペース14)replace文字列の置換15)split文字列の切り分け16)rsplit文字列の切り分け17)startswith何で始まるか18)lowerが小文字19に統一される)upperが大文字に統一される
元祖タイプ
1.元祖タイプ:tuple、可変データ型に属する、()
2.共通関数:index()は、対応する要素の下付きcount()統計元祖の個数を返します.
3.元祖の修正可能1)注意:元祖は可変データ型に属しているが、依然として元祖の中の値を修正することができる2)注意:下層では、可変データ型は現在の表示だけでは修正できないが、ネストされた可変データ型は修正でき、内部に格納されているのはメモリアドレスの原理である.
In [26]: tu = (1, 2, 3, [4, 5, 6])

In [27]: tu
Out[27]: (1, 2, 3, [4, 5, 6])

In [28]: tu[3][0] = 'rongming'

In [29]: tu
Out[29]: (1, 2, 3, ['rongming', 5, 6])

リストの種類
1.リストデータ型:list、可変データ型に属する.[].
2.リストタイプ共通関数ソース:
    In [32]: dir(d)
    Out[32]:
    [ 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

3.一般的な関数1)append()リストの最後の2)pop()リストに要素を追加最後の要素をポップアップ(空欄エラー)3)extend()2つのリストをマージ4)スライス[start:end:step]5)lenリストを見る長さ6)forループ7)enumerate()行リストへのループ
4)リスト生成式
In [33]: a = [i for i in range(10)]

In [34]: a
Out[34]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

辞書の種類
1.ディクショナリタイプ:**dict、可変データ型に属し、{}で表されます.**
2.辞書の構造:{key:value,key:value,key:value,....}注意:keyはハッシュ値なので、辞書のクエリー速度が速く知識点を補充します:hash知識、hashを参照してください.
3.辞書の一般的な関数
 'clear',
 'copy',
 'fromkeys',
 'get',  #            
 'items',
 'keys',
 'pop',
 'popitem',
 'setdefault',  #        ,     
 'update', #      
 'values'

4.辞書生成式
In [5]: m = {i:i*3 for i in range(8)}

In [6]: m
Out[6]: {0: 0, 1: 3, 2: 6, 3: 9, 4: 12, 5: 15, 6: 18, 7: 21}

5.深浅コピー(2層と多層の違い)1)python下位層は、データの格納に使用されるメモリアドレスをマッピングすることに注意してください.2)すべての可変データ型は,可変データ型によってコンパクト化されている3)すべての可変データ型は,内部の単位全体に対して可変ではない.4)copyキットを用いてデータのdeepcopyを行い,データの完全分離を実現できる.単純な付与値とcopyだけでネスト関係を解決することができます.
In [8]: d = {'a':[1, 2, 3], 'b': [6, 7, 8]}

In [9]: d
Out[9]: {'a': [1, 2, 3], 'b': [6, 7, 8]}

In [10]: f = d

In [11]: f['a'][0] = 'rongming'

In [12]: d
Out[12]: {'a': ['rongming', 2, 3], 'b': [6, 7, 8]}

In [13]: f
Out[13]: {'a': ['rongming', 2, 3], 'b': [6, 7, 8]}

集合タイプ
1.結合データ型:**set、可変データ型に属し、{}で表す.**
2.集合は天然に重量を除去するので、集合は無秩序な性質と重複しない性質を有する.
3.よく使う関数
 'add',
 'clear',
 'copy',
 'difference',  # -
 'difference_update',
 'discard',
 'intersection',  # &
 'intersection_update',
 'isdisjoint',
 'issubset',
 'issuperset',
 'pop',  #   pop     
 'remove',
 'symmetric_difference',
 'symmetric_difference_update',
 'union',  # |
 'update'

とうけつしゅうごう
1.注意:frozensetは可変データ型に属します.だから修正できない
In [21]: f = {1, 2, 3, 4, 5}

In [22]: d = frozenset(f)

In [23]: d
Out[23]: frozenset({1, 2, 3, 4, 5})

2.使用可能な関数
 'copy',
 'difference',
 'intersection',
 'isdisjoint',
 'issubset',
 'issuperset',
 'symmetric_difference',
 'union'

ちくじじしょ
1.秩序辞書:OrderedDict、辞書の中のkeyの秩序を保証して、大量のデータの時、この方法を使ってデータの迅速な検索を行うことができます(二分法は少し理解します~~).
In [25]: from collections import OrderedDict

In [26]: d = OrderedDict({'name':'rongming', 'age':20})

In [27]: d
Out[27]: OrderedDict([('name', 'rongming'), ('age', 20)])

2.一般的な関数
 'clear',
 'copy',
 'fromkeys',
 'get',
 'items',
 'keys',
 'move_to_end',
 'pop',
 'popitem',
 'setdefault',
 'update',
 'values'

hash
1)hashハッシュ値は不可逆的で計算速度が速いという特徴がある.
2)python実装hash注意:pythonで再起動した後hashの値が異なる
>>> hash('rongming')
3985893259886982844
>>> hash('rongming')
3985893259886982844

3)hashの使用MD 5(同じパスワードで複数のアカウントを登録しないでください.各データベースに格納されているパスワードは必ずしも暗号文ではありません)デジタル署名(公開鍵、秘密鍵)ブロックチェーン
終わりの言葉
本文は基本的にすべてのPythonデータ型をカバーして、量はとても大きくて、自分が前に勉強した濃縮です.今、自分が勉强していた内容を见ると、「结局、自分が自分を感动させたんだ」と感慨深い.