Python3エンジニア認定基礎試験勉強_1
- replaceの第3引数はcount 最大置換回数
>>> "test_test_test".replace("test","deploy",1) 'deploy_test_test'
- sys.pathの初期化で参照しないもの
PYTHONPATH環境変数と指定したデフォルトパスで初期化されるとのこと。どういうこと?
path[0]には実行中のスクリプトのパス(ターミナルの場合は空文字)
PYTHONPATHはモジュールの検索パス(site-packagesとか)
- ZeroDivisionError
ゼロで わると でる えーら
- 鬼門、%5.3f
>>> print('円周率は%5.3f'%math.pi) 円周率は3.142
フォーマット指定子というものがある
%fは実数表記
5は全体の幅、3は小数点以下の幅
- cosinの計算
手計算できないから鬼門だね~~~~~~~~~選択肢でなんとなく理解しろ
>>> import math >>> math.cos(math.pi / 5)
- 例外処理
>>> try: ... raise Exception("1","2") ... except Exception as msg: ... print(msg.args[1]) ... 2
tryで例外を発生させてexceptで拾う msg自体ははException classなので"2"のみ表示する場合は.argsでtupleを取得する必要がある
-モジュールとパッケージ
ファイル = モジュール
init.pyの入ったフォルダ = パッケージ
という理解
- or演算子
>>> name1,name2,name3,name4= '', 'suzuki','tanaka','sato' >>> selected_name = name1 or name2 or name3 or name4 >>> print(selected_name) suzuki
長さ0の場合はFalse、1以上はTrue
先の変数が優先される。
- repr
strとの違いはeval()でもとのオブジェクトに戻せること
def repr(self):で指定できる
- 変数代入時のカンマ区切り
>>> val = 3 + 1, 2 + 1, 1 + 1 >>> val (4, 3, 2)
tupleになるよ
-ミュータブル(mutable)とイミュータブル(immutable)
ミュータブル = 可変(list)
イミュータブル = 不変(tuple)
- バイナリデータレコードの処理を行うモジュールを選択肢の中から選びなさい。
struct!!!!!!(使ったことがないので分からない)
- 関数宣言後の変数変更
>>> i = 10 >>> >>> def num(arg=i): ... print(arg) ... >>> i = 7 >>> >>> num() 10
宣言した後の変数変更は反映されない(知らんかった)
- アンダースコアの使い方
問題ではインタプリタで最後に表示した式の格納している変数として出題
他の使い方は下記リンク
- list.count()
リスト内の要素の数をカウントする
- クラス変数とインスタンス変数
class test: #クラス変数 class_variable = "class" def __init__(self): #インスタンス変数 self.instance_variable = "instance"
クラス変数はインスタンス毎で共有される
- range()
Listではなくrangeオブジェクトが返される
- openのモード
with open("./hoge.txt","w") as fp: fp.write("hogehoge")
w(書き込み)a(追記)等々
- TAB補完
Windowsだからタブ補完できない?って思ったらpyreadlineをpip installすれば良いみたいです。
jまたはj
数学クソ雑魚なので虚数が何かは説明できない
- tupple/listの比較演算子
左から順番に比較する
>>> (1,3,5) < (1,2,3,4) False >>> [1,3,5] < [1,2,4,5] False
3 < 2はFalseとなる
-正規表現のモジュール
- reprlib.repr
文字列の長さを制限付きにする
Set型を渡すとアルファベット順にソートする
- list型に*(アスタリスク)
リストがアンパックされる
>>> def test(a,b,c): ... print(f"{a} {b} {c}") ... >>> arr = ["a","b","c"] >>> test(*arr) a b c
- list(zip())
>>> arr = [ ... [1,2,3], ... ["one","two","three"] ... ] >>> >>> list(zip(*arr)) [(1, 'one'), (2, 'two'), (3, 'three')]
渡したリストの各配列順にタプルのリストができる
- docstring
ダブルクォーテーション3つのやつ、docstiringって言うんだってよ
- 履歴
ユーザーディレクトリの .python_history に今までの履歴が残ってるんだって、へぇ~~~~~
math.sqrt()
square root
- 文字列を指定位置で置き換えるとき
>>> string = "test" >>> string[1] = "n" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
エラーになる、一回リストにして位置指定をして再度joinで文字列に戻す
- x//y
割り算の値の小数点切り下げした値が返される
- enumrate インデックス番号を付けて返す