【継続更新】py基礎知識のまとめ
8349 ワード
ここでは、おばさんとのレッスン中に触れたpythonの基礎知識点をまとめました.少し雑然としているかもしれませんが、読書には影響しません.
モジュールとパッケージモジュールのインストールパスのデフォルトは、「pyインストールディレクトリ/lib/site-packages」の です. pythonの1つです.pyファイルはモジュール と呼ばれますモジュールの上位はパッケージであり、パッケージの上位もパッケージ である.パッケージとディレクトリの違いは、パッケージの下にinitがあることです.pyのファイル パケットの参照方法 パッケージのインストール方法(5つ目の方法は長い目で見ました)
クラス#クラス#
例外処理
関数のパラメータ
関数のパラメータには、必須パラメータ、デフォルトパラメータ、可変パラメータ、キーワードパラメータ、名前付きキーワードパラメータが含まれます.
注意:パラメータの順序:必須パラメータ、デフォルトパラメータ(変化の大きいものは前、変化の小さいものは後)、可変パラメータ、キーワードパラメータ
必須パラメータ:次の関数のパラメータは必須パラメータです.この関数を呼び出すときは、この2つのパラメータを入力する必要があります.そうしないと、異常が発生します.
≪デフォルト・パラメータ|Default Parameters|oem_src≫:パラメータにデフォルト値を設定し、関数を呼び出すときにパラメータに値を割り当てると、値を割り当てるデータを使用して操作します.そうしないと、パラメータのデフォルト値を使用します.
ここでは、デフォルトのパラメータは不変オブジェクトを指す必要があります.不変オブジェクトが作成されると、オブジェクト内部のデータは変更できません.プログラムを作成するときに、不変オブジェクトを設計できる場合は、できるだけ不変オブジェクトに設計します.次に、デフォルトパラメータをリストに指す例を示します.
可変パラメータ:入力されたパラメータの個数が変化可能で、1個、2個、任意個、0個であってもよい.これらのパラメータは関数内部で自動的にtupleに組み立てられ、一般的には*argsを使用して可変パラメータを表すのがデフォルトである.
キーワードパラメータ:0個または任意のパラメータ名を含むパラメータを入力できます.これらのキーワードパラメータは関数内で自動的にdictに組み立てられます.一般的には、デフォルトでは*kwを使用してキーワードパラメータを表します.
データ型
主に3に内蔵されているデータ型を紹介します:list(リスト)、tuple(元祖)、dict(辞書)
List:リスト、秩序化されたコレクション、可変データ型、いつでも要素を追加および削除できます.
方法
解析
mylist = [1,2,3]
リストオブジェクトを明示する
mylist = []
空のlistオブジェクトを宣言
mylist.insert(0,12)
インデックス0に12を挿入
mylist.append(1)
リストの末尾にデータ1を追加
mylist[0] = 11
下に0と表示されているデータの変更
mylist.pop()
リストの最後尾のデータを削除し、削除したvalueを返します.
mylist.pop(0)
下に0と表示されているデータを削除し、削除したvalueを返します.
tuple:元祖、秩序ある集合、可変データ型、一度初期化すると修正できません.可変ではないので、より安全です.「廖雪峰」の公式サイトでは、listの代わりにtupleを使うことができればできるだけtupleを使うことをお勧めします.
方法
解析
mytuple = (1,)
一つの要素しかない元祖を明らかにする
mytuple = (1,2,3)
3つの要素を持つ元祖を明らかにする
mytuple[0]
元祖の要素を取得しindexに基づいて
dict:辞書は、他の言語でもmapと呼ばれ、キー値を使用して記憶され、非常に速い検索速度を有し、dictは空間で時間を交換する方法である.
keyは可変オブジェクトでなければなりません.よく使われるkeyは文字列です.
方法
解析
mydict = {"name":"ht","password":"ting"}
申明dict
mydict["name"] = "ht2"
辞書にkeyがnameの要素がある場合は、対応するvalue値を変更します.
mydict.get("name",-1)
key=「name」のvalueを取得し、keyが存在しない場合は自分が設定したデータを返します.ここでは-1を設定します.
mydict.pop("namew",-1)
要素を削除し、指定したkeyが存在しない場合は、-1を設定したデータを返します.
if key in mydict:pass
python 3では、「has_key(key)」の代わりに、keyが辞書にあるかどうかを判断する方法を使用します.
mydict.items()
(py 3)ディクショナリキー値の反復可能なオブジェクトを返します.ここでは反復器ではありません.一般的にキー値のループ取得に使用されます.
スライス
リスト、tuple、strの一部の要素を取るとスライス操作に使用されます
構文:[オブジェクト](Object)[インデックス:インデックス:ステップ](Index:Step)*[:5]=>最初のindexは指定されません.デフォルトは0 です.*[1:]=>2番目のindexは指定されません.デフォルトは-1 です.*[-2:-1]=>負の数を使用できます.最後の要素のindexは-1 です.*[1:3]=>デフォルトステップ長は1で、下付き1の要素からデータを取り始めることを示し、下付き3の要素が終わるまで、要素3は結果に含まれないことに注意してください. *[::2]=>ステップ長を2に設定、1要素間隔で値をとることを示すが、2要素が1値 をとることはないと理解できる.
json.loads
使用法:json形式文字列復号をpython辞書オブジェクトに変換する
eval()
解釈:文字列strを有効な式として評価し、計算結果構文を返します:eval(source,[globals[,locals])->value、一般的にsourceパラメータを使用すればいいです
isinstance(value,(dict,list))
説明:タイプ判定、valueのタイプがdictとlistのいずれかに属するかどうかを判定し、もしそうであればTrueを返し、そうでなければFalseを返す
set()集合
説明:集合はdictと比較的に知り合いであり、keyの集合でもあるがvalueは存在せず、keyは繰り返すことができないため、setでは、繰り返すkeyは存在しない.setはdictと同様に可変要素を入れてはいけません.2つの可変オブジェクトが等しいかどうかを判断できないため、set内部に「重複要素がない」ことを保証できません.
方法
解析
s = set()
空のsetオブジェクトを作成する
s = set([1,2,3,2])
提供された反復可能なオブジェクトに基づいてsetを作成します.ここではリスト、tuple、などです.
s.add(5)
setに要素を追加
s.remove(key)
要素の削除
s.issubset(t)
集合の包含関係は、sの各要素がtにあり、そうでなければTrueを返し、そうでなければFalseを返すことを意味する.
モジュールとパッケージ
import --- # 1
from --- import --- # 2
import --- as " " # ,
1. pip install package_name
2. easy_install package_name
3. exe
4. , python setup.py install
5. , lib/site-packages , import,
クラス#クラス#
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#python , object , java , , object
class Animal:
# :
def __init__(self,a,b):# self,self , , “demo”
self.name = a
#python
self.__age = b # , , , 。 self.__private_attrs。
print("this is animal init")
def say(self):
self.__private_methed() #
print("i am animal")
# : , , 。 self.__private_methods
def __private_methed(self):
pass
# 0,
def __del__(self):
print("this is animal del")
# ,python
class Dog(Animal):
# __init__()
def __init__(self,a,b,c):
# : init __init__()
# super().__init__(self,a,b) #
Animal.__init__(self,a,b) #
# : , 。
def say(self):
print("i am dog")
if __name__=="__main__":
# , ,
x =Dog(2,3,4)
x.say()
例外処理
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
'''
python3 try--except--finaly
try:
except: try , except , except ,
finally: try , , , except,else , except , finally
'''
import logging
try:
1/0
except ZeroDivisionError as e:
logging.exception(e)
except:
print("else error")
finally:
print("finally")
関数のパラメータ
関数のパラメータには、必須パラメータ、デフォルトパラメータ、可変パラメータ、キーワードパラメータ、名前付きキーワードパラメータが含まれます.
注意:パラメータの順序:必須パラメータ、デフォルトパラメータ(変化の大きいものは前、変化の小さいものは後)、可変パラメータ、キーワードパラメータ
必須パラメータ:次の関数のパラメータは必須パラメータです.この関数を呼び出すときは、この2つのパラメータを入力する必要があります.そうしないと、異常が発生します.
def fun(name,password):
pass
≪デフォルト・パラメータ|Default Parameters|oem_src≫:パラメータにデフォルト値を設定し、関数を呼び出すときにパラメータに値を割り当てると、値を割り当てるデータを使用して操作します.そうしないと、パラメータのデフォルト値を使用します.
def fun(a,b,c=2):
print(a,b,c)
fun(1,2) # :1 2 3
fun(1,2,3) # :1 2 3
ここでは、デフォルトのパラメータは不変オブジェクトを指す必要があります.不変オブジェクトが作成されると、オブジェクト内部のデータは変更できません.プログラムを作成するときに、不変オブジェクトを設計できる場合は、できるだけ不変オブジェクトに設計します.次に、デフォルトパラメータをリストに指す例を示します.
def fun02(L=[]):
L.append("end")
print(L)
if __name__ == "__main__":
fun02() # ['end']
fun02() # ['end', 'end']
可変パラメータ:入力されたパラメータの個数が変化可能で、1個、2個、任意個、0個であってもよい.これらのパラメータは関数内部で自動的にtupleに組み立てられ、一般的には*argsを使用して可変パラメータを表すのがデフォルトである.
# :*args , , “*”
def fun03(a,b,c=1,*args):
print(a,b,c,args)
if __name__ == "__main__":
# 1:
fun03(1,2,3,4,5,6)
# 2: list tuple,
args=(1,2,3)
fun03(1,2,3,*args)
キーワードパラメータ:0個または任意のパラメータ名を含むパラメータを入力できます.これらのキーワードパラメータは関数内で自動的にdictに組み立てられます.一般的には、デフォルトでは*kwを使用してキーワードパラメータを表します.
# :**kw , , “*”
def fun04(a,b,c=1,**kw):
print(a,b,c,kw)
if __name__ == "__main__":
# 1: , “key = value”
fun04(1,2,3,d = 4,e = 5 )
# 2: dict
kw = {"d":4,"e":5}
fun04(1,2,3,**kw)
データ型
主に3に内蔵されているデータ型を紹介します:list(リスト)、tuple(元祖)、dict(辞書)
List:リスト、秩序化されたコレクション、可変データ型、いつでも要素を追加および削除できます.
方法
解析
mylist = [1,2,3]
リストオブジェクトを明示する
mylist = []
空のlistオブジェクトを宣言
mylist.insert(0,12)
インデックス0に12を挿入
mylist.append(1)
リストの末尾にデータ1を追加
mylist[0] = 11
下に0と表示されているデータの変更
mylist.pop()
リストの最後尾のデータを削除し、削除したvalueを返します.
mylist.pop(0)
下に0と表示されているデータを削除し、削除したvalueを返します.
tuple:元祖、秩序ある集合、可変データ型、一度初期化すると修正できません.可変ではないので、より安全です.「廖雪峰」の公式サイトでは、listの代わりにtupleを使うことができればできるだけtupleを使うことをお勧めします.
方法
解析
mytuple = (1,)
一つの要素しかない元祖を明らかにする
mytuple = (1,2,3)
3つの要素を持つ元祖を明らかにする
mytuple[0]
元祖の要素を取得しindexに基づいて
dict:辞書は、他の言語でもmapと呼ばれ、キー値を使用して記憶され、非常に速い検索速度を有し、dictは空間で時間を交換する方法である.
keyは可変オブジェクトでなければなりません.よく使われるkeyは文字列です.
方法
解析
mydict = {"name":"ht","password":"ting"}
申明dict
mydict["name"] = "ht2"
辞書にkeyがnameの要素がある場合は、対応するvalue値を変更します.
mydict.get("name",-1)
key=「name」のvalueを取得し、keyが存在しない場合は自分が設定したデータを返します.ここでは-1を設定します.
mydict.pop("namew",-1)
要素を削除し、指定したkeyが存在しない場合は、-1を設定したデータを返します.
if key in mydict:pass
python 3では、「has_key(key)」の代わりに、keyが辞書にあるかどうかを判断する方法を使用します.
mydict.items()
(py 3)ディクショナリキー値の反復可能なオブジェクトを返します.ここでは反復器ではありません.一般的にキー値のループ取得に使用されます.
from collections import Iterable
from collections import Iterator
dict01 = {"message": " ","nextPage": 1,"pageNo": 0,"resultCode": "000","totalPage": 66746}
if "message" in dict01: # key dict
print(dict01.get("message"))
items = dict01.items() #items()
print(isinstance(items,Iterator)) #
print(isinstance(items,Iterable)) #
print(items)
スライス
リスト、tuple、strの一部の要素を取るとスライス操作に使用されます
構文:[オブジェクト](Object)[インデックス:インデックス:ステップ](Index:Step)
if __name__ == "__main__":
mylist = [0,1,2,3,4]
print(mylist[0:2]) # [0, 1]
print(mylist[0:-1]) # [0, 1, 2, 3]
print(mylist[::2]) # [0, 2, 4]
json.loads
使用法:json形式文字列復号をpython辞書オブジェクトに変換する
import json
if __name__ == "__main__":
json_str = '{"message": " ","nextPage": 1,"pageNo": 0,"resultCode": "000","totalPage": 66746}'
json_ob = json.loads(json_str)
print(json_ob)
print(type(json_ob))
eval()
解釈:文字列strを有効な式として評価し、計算結果構文を返します:eval(source,[globals[,locals])->value、一般的にsourceパラメータを使用すればいいです
if __name__ == "__main__":
# list list
list_str = "[1,2,3]"
list_rs = eval(list_str)
print(type(list_rs))
# tup tuple
tup_str = "(2,3,4)"
tup_rs=eval(tup_str)
print(type(tup_rs))
# dict dict
dict_str = "{'name':'ht','pass':'123'}"
dict_rs = eval(dict_str)
print(type(dict_rs))
# str
str_and = "1+2"
print(eval(str_and))
isinstance(value,(dict,list))
説明:タイプ判定、valueのタイプがdictとlistのいずれかに属するかどうかを判定し、もしそうであればTrueを返し、そうでなければFalseを返す
if __name__ == "__main__":
print(isinstance([1,2,3],list))
print(isinstance([1,2,3],(list,tuple)))
set()集合
説明:集合はdictと比較的に知り合いであり、keyの集合でもあるがvalueは存在せず、keyは繰り返すことができないため、setでは、繰り返すkeyは存在しない.setはdictと同様に可変要素を入れてはいけません.2つの可変オブジェクトが等しいかどうかを判断できないため、set内部に「重複要素がない」ことを保証できません.
方法
解析
s = set()
空のsetオブジェクトを作成する
s = set([1,2,3,2])
提供された反復可能なオブジェクトに基づいてsetを作成します.ここではリスト、tuple、などです.
s.add(5)
setに要素を追加
s.remove(key)
要素の削除
s.issubset(t)
集合の包含関係は、sの各要素がtにあり、そうでなければTrueを返し、そうでなければFalseを返すことを意味する.