"""最小値と最大値を求めるモジュール"""
def min_max2(a: 'value', b: 'value') -> 'value':
"""aとbの最小値と最大値を求めて返却"""
return min(a, b), max(a, b)
def min_max3(a: 'value', b: 'value', c: 'value') -> 'value':
"""aとbとcの最小値と最大値を求めて返却"""
return min(a, b, c), max(a, b, c)
if __name__ == '__main__':
x = int(input('整数x:'))
y = int(input('整数y:'))
z = int(input('整数z:'))
print('xとyの最小値は{}で最大値は{}です。'.format(*min_max2(x, y)))
print('yとzの最小値は{}で最大値は{}です。'.format(*min_max2(y, z)))
print('xとzの最小値は{}で最大値は{}です。'.format(*min_max2(x, z)))
print('xとyとzの最小値は{}で最大値は{}です。'.format(*min_max3(x, y, z)))
C:>python min_max.py
整数x:5
整数y:6
整数z:2
xとyの最小値は5で最大値は6です。
yとzの最小値は2で最大値は6です。
xとzの最小値は2で最大値は5です。
xとyとzの最小値は2で最大値は6です。
"""2値の最小値と最大値を求める"""
def min_max2(a, b):
"""aとbの最小値と最大値を求めて返却"""
return (a, b) if a < b else (b, a)
n1 = int(input('整数n1:'))
n2 = int(input('整数n2:'))
minimum, maximum = min_max2(n1, n2)
print(f'最小値は{minimum}で最大値は{maximum}です。')
C:>python min_max2.py
整数n1:2
整数n2:5
最小値は2で最大値は5です。
"""min_max2モジュールのmin_max2関数を呼び出す"""
import min_max2
x = float(input('実数x:'))
y = float(input('実数y:'))
mini, maxi = min_max2.min_max2(x, y)
print(f'最小値は{mini}です。')
print(f'最大値は{maxi}です。')
C:>python min_max2_test.py
整数n1:3
整数n2:6
最小値は3で最大値は6です。
実数x:5
実数y:6
最小値は5.0です。
最大値は6.0です。
"""min_maxモジュールの関数群を呼び出す"""
import min_max
x = float(input('実数x:'))
y = float(input('実数y:'))
z = float(input('実数z:'))
print('xとyの最小値は{}で最大値は{}です。'.format(*min_max.min_max2(x, y)))
print('yとzの最小値は{}で最大値は{}です。'.format(*min_max.min_max2(y, z)))
print('xとzの最小値は{}で最大値は{}です。'.format(*min_max.min_max2(x, z)))
print('xとyとzの最小値は{}で最大値は{}です。'.format(*min_max.min_max3(x, y, z)))
C:>python min_max_test.py
実数x:7
実数y:8
実数z:9
xとyの最小値は7.0で最大値は8.0です。
yとzの最小値は8.0で最大値は9.0です。
xとzの最小値は7.0で最大値は9.0です。
xとyとzの最小値は7.0で最大値は9.0です。
"""名前空間パッケージのインポート"""
import sys
sys.path.append('dir1') # ディレクトリ'dir1'を検索パスに追加
sys.path.append('dir2') # ディレクトリ'dir2'を検索パスに追加
import npack.abc # 'dir1/npack/abc.py'からインボート
import npack.xyz # 'dir2/npack/xyz.py'からインボート
npack.abc.func()
npack.xyz.func()
# dir1/npack/abc.py
# npack.abcモジュール
def func():
print('npack.abc.func()')
# dir2/npack/xyz.py
# npack.xyzモジュール
def func():
print('npack.xyz.func()')
C:>python npackage_test.py
npack.abc.func()
npack.xyz.func()
"""パッケージ内のモジュールのインポート"""
import pack.abc
import pack.xyz
import pack.sub.abc
import pack.sub.xyz
pack.abc.func()
pack.xyz.func()
pack.sub.abc.func()
pack.sub.xyz.func()
# pack.abc
# pack.abcモジュール
def func():
print('pack.abc.func()')
# pack.xyz
# pack.xyzモジュール
def func():
print('pack.xyz.func()')
# pack.sub.abc
# pack.sub.abcモジュール
def func():
print('pack.sub.abc.func()')
# pack.sub.xyz
# pack.sub.xyzモジュール
def func():
print('pack.sub.xyz.func()')
C:>python package_test.py
pack.abc.func()
pack.xyz.func()
pack.sub.abc.func()
pack.sub.xyz.func()
# 型、データ、関数、モジュールがオブジェクトであることを確認
# 占有記憶域サイズと型を表示
import sys
n = 13
x = 3.14
def add2(x, y):
"""xとyの和を求めて返却する関数"""
return x + y
print( ' バイト数 型')
print(f'5 {sys.getsizeof(5) :5} {type(5)}')
print(f'n {sys.getsizeof(n) :5} {type(n)}')
print(f'int {sys.getsizeof(int) :5} {type(int)}')
print(f'0.17 {sys.getsizeof(0.17) :5} {type(0.17)}')
print(f'x {sys.getsizeof(x) :5} {type(x)}')
print(f'float {sys.getsizeof(float):5} {type(float)}')
print(f'add2 {sys.getsizeof(add2) :5} {type(add2)}')
print(f'sys.modules[__name__]\n {sys.getsizeof(sys.modules[__name__]):5}'
f' {type(sys.modules[__name__])}')
C:>python size_type.py
バイト数 型
5 28
n 28
int 416
0.17 24
x 24
float 416
add2 160
sys.modules[name]
72
"""モジュール検索パスを表示"""
import sys
print(sys.path)
C:>python sys_path.py
[‘C:\Users\keieikikaku-02\Downloads\NewMeikaiPython_2nd\chap10’, ‘C:\Users\keieikikaku-02\AppData\Local\Programs\Python\Python313\python313.zip’, ‘C:\Users\keieikikaku-02\AppData\Local\Programs\Python\Python313\DLLs’, ‘C:\Users\keieikikaku-02\AppData\Local\Programs\Python\Python313\Lib’, ‘C:\Users\keieikikaku-02\AppData\Local\Programs\Python\Python313’, ‘C:\Users\keieikikaku-02\AppData\Local\Programs\Python\Python313\Lib\site-packages’]
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント