python内蔵モジュールの詳細
7295 ワード
一.randomモジュールランダム
random()ランダム小数uninform(a,b)ランダム小数randint(a,b)ランダム整数choice()ランダム選択1つのsample()ランダム選択複数のshuffle()乱れ
二.Counterカウント
三.辞書
1.デフォルト辞書
2.整理辞書
四.スタックとキュー
1.スタック
特徴:先進後出
2.単一キュー
特徴:先進先出
3.双方向キュー
特徴:単項同様
五.timeモジュール
#タイムスタンプ:1970-01-01 00:00:00から計算を開始します.将来のストレージ時にタイムスタンプprint(time.time()を使用
#フォーマット時間print(time.strftime('%Y-%m-%d%H:%M:%S')#表示用
#構造化時間(pythonの時間)t=time.localtime() print(t.tm_year) print(t.tm_mon) print(t.tm_mday)
データベースに数字を格納します.フォーマット時間a=847772281.0に復元し、まずこのタイムスタンプをpythonの構造化時間t=timeに変換します.localtime(a)#構造化時間括弧に秒timeを記入する.localtime(秒)#ローカライズされた東八区の時間#t=time.gmtime(a)#グリニッジ時間s=time.strftime('%Y-%m-%d %H:%M:%S', t) # time.strftime(フォーマット、構造化変換が入力された時間t)print(s)
ユーザに時間を入力させる.そしてタイムスタンプstrt=input('時間を入力してください:')#文字列を構造化時間t=timeに変換します.strptime(strt,'%Y-%m-%d%H:%M:%S')#タイムスタンプprint(time.mktime(t))#847772281.0#ローカライズされた東八区の時間
六.functools
1.wraps
2.reduce
3.partial
七.名前付きメタグループnamedtuple
八.OSモジュールシステム操作
1.os
2.sysモジュール
九.モジュールとパッケージのカスタマイズ
import
from xxx import xxxx
式->文->文ブロック->関数->クラス->モジュール->パッケージ->プロジェクト
パッケージは私たちのフォルダで、パッケージには多くのモジュールを書くことができます.
検索パスはsysです.path,随動.起動ファイルの場所が変わるにつれて
絶対インポートの使用にかかわらず.やはり相対的に導入する.起動ファイルは必ず一番外にあります
1.モジュール
書いたpyファイルをモジュールと呼ぶことができます
2.パッケージ
フォルダにモジュールがたくさん入っているのがパッケージです
random()ランダム小数uninform(a,b)ランダム小数randint(a,b)ランダム整数choice()ランダム選択1つのsample()ランダム選択複数のshuffle()乱れ
import random
from random import randint
print(randint(10, 20))
# print(random.randint(10, 20))/
print(random.random())
print(random.uniform(10, 20)) # 10-20
lst = [' ', ' ', ' ', ' ']
random.shuffle(lst) #
print(lst)
#
print(random.choice([" ", " ", " ", " ", " "]))
print(random.sample([" ", " ", " ", " ", " "],3)) #
二.Counterカウント
from collections import Counter
print(Counter(' ')) #
lst = ['jay', 'jay', 'jay', ' ', ' ', ' ', ' ']
c = Counter(lst)
print(c.get(' '))
三.辞書
1.デフォルト辞書
from collections import defaultdict
dd = defaultdict(lambda: ' ') # callable ,
print(dd[' ']) # . . key:callable()
print(dd[' ']) # [] get()
print(dd)
2.整理辞書
from collections import OrderedDict
dic = OrderedDict() #
dic['a'] = ' '
dic['b'] = ' '
print(dic)
print(dic.get('a'))
print(dic.values())
print(dic['a'])
四.スタックとキュー
1.スタック
特徴:先進後出
class StackFullException(Exception):
pass
class StackEmptyException(Exception):
pass
class Stack:
def __init__(self,size):
self.size = size
self.lst = [] #
self.top = 0 #
#
def push(self, el):
if self.top >= self.size:
raise StackFullException('your stack is full!!')
self.lst.insert(self.top, el) #
self.top += 1 #
#
def pop(self):
if self.top == 0:
raise StackEmptyException('your stack is empty!!!')
self.top -= 1
el = self.lst[self.top]
return el
s = Stack(6)
s.push(' ')
s.push(' ')
s.push(' ')
print(s.pop())
print(s.pop())
print(s.pop())
2.単一キュー
特徴:先進先出
import queue
q = queue.Queue()
q.put(' 1')
q.put(' 2')
q.put(' 3')
q.put(' 4')
q.put(' 5')
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())
3.双方向キュー
特徴:単項同様
from collections import deque
d =deque() #
d.append(' ') #
d.append('no')
d.append('way')
d.append(' ')
d.appendleft(' ') #
d.appendleft(' ')
d.appendleft(' ')
print(d.pop()) #
print(d.pop()) #
print(d.pop()) #
print(d.pop()) #
print(d.popleft()) #
print(d.popleft()) #
print(d.popleft()) #
五.timeモジュール
#タイムスタンプ:1970-01-01 00:00:00から計算を開始します.将来のストレージ時にタイムスタンプprint(time.time()を使用
#フォーマット時間print(time.strftime('%Y-%m-%d%H:%M:%S')#表示用
#構造化時間(pythonの時間)t=time.localtime() print(t.tm_year) print(t.tm_mon) print(t.tm_mday)
データベースに数字を格納します.フォーマット時間a=847772281.0に復元し、まずこのタイムスタンプをpythonの構造化時間t=timeに変換します.localtime(a)#構造化時間括弧に秒timeを記入する.localtime(秒)#ローカライズされた東八区の時間#t=time.gmtime(a)#グリニッジ時間s=time.strftime('%Y-%m-%d %H:%M:%S', t) # time.strftime(フォーマット、構造化変換が入力された時間t)print(s)
ユーザに時間を入力させる.そしてタイムスタンプstrt=input('時間を入力してください:')#文字列を構造化時間t=timeに変換します.strptime(strt,'%Y-%m-%d%H:%M:%S')#タイムスタンプprint(time.mktime(t))#847772281.0#ローカライズされた東八区の時間
六.functools
1.wraps
from functools import wraps # , ....
def wrapper(fn):
@wraps(fn) # inner func
def inner(*args, **kwargs):
print(' ')
ret = fn(*args,**kwargs)
print(' ')
return ret
return inner
@wrapper # func = wrapper(func)
def func():
print(' ')
print(func.__name__) # func
2.reduce
def func(a, b):
return a + b # 0 + 1
# func ,
ret = reduce(func, [1, 4, 7, 8, 6, 9],0)
print(ret)
print(reduce(lambda x, y: x+y, [i for i in range(101)]))
3.partial
from functools import partial
def chi(zhushi, fushi):
print(zhushi, fushi)
chi2 = partial(chi, fushi = " ")
chi2(' ')
chi2(' ')
chi2(' ')
七.名前付きメタグループnamedtuple
p = namedtuple('Point', ["x", "y"])
p1 = p(10, 20)
print(p1)
print(p1.x)
print(p1.y)
八.OSモジュールシステム操作
1.os
# .
os.makedirs('baby/ / ') #
os.mkdir('baby/ / /bb') #
os.removedirs('baby/ / /bb') # , #
#
os.rmdir('baby/ / ') #
os.system('dir')
print(os.popen('dir').read()) # shell cmd
print(os.getcwd()) # D:\python_workspace_s18\day 23 02
os.chdir('baby')
# os.path
print(os.path.abspath('baby')) #
print(os.path.split(r'D:\python_workspace\ \baby\1.txt')) #
print(os.path.dirname(r'D:\python_workspace\ \baby\1.txt'))
#
print(os.path.basename(r'D:\python_workspace\ \baby\1.txt'))
#
print(os.path.existsr'D:\python_workspace\ \baby\1.txt'))
#
print(os.path.abspath('1.txt'))
2.sysモジュール
import sys
print(sys.path) # . .
sys.path.append(r'D:\python_workspace\ ')
print(sys.path)
九.モジュールとパッケージのカスタマイズ
import
from xxx import xxxx
式->文->文ブロック->関数->クラス->モジュール->パッケージ->プロジェクト
パッケージは私たちのフォルダで、パッケージには多くのモジュールを書くことができます.
検索パスはsysです.path,随動.起動ファイルの場所が変わるにつれて
絶対インポートの使用にかかわらず.やはり相対的に導入する.起動ファイルは必ず一番外にあります
1.モジュール
書いたpyファイルをモジュールと呼ぶことができます
2.パッケージ
フォルダにモジュールがたくさん入っているのがパッケージです