静かなる名辞

pythonとプログラミングのこと



初心者向け

【python】引数のデフォルト値は定義時評価なので注意

はじめに pythonでは関数の引数にデフォルト値を設定することができます。この機能を使うと、引数が与えられなかったときの挙動を定義することができ、とても便利です。 >>> def f(x="hoge"): ... print(x) ... >>> f("aiu") aiu >>> f(x="aiu") aiu >>> f()…

【python】missing 1 required positional argument: 'self'などの対処法

はじめに pythonに不慣れな方は、よくタイトルのようなエラーを見かけると思います。 実際には、このエラーはTypeErrorで、全体は以下のようなものです。 TypeError: メソッドの名前 missing 1 required positional argument: 'self' では、どうしてこのエラ…

python環境構築まとめ

概要 pythonの環境構築に悩む後輩たちのために、環境構築についてまとめておく。 目次 概要 はじめに pythonをやるのに向いたOS windows Mac OS linux系 その他のOS Web上実行環境 結論 生pythonを使う(直接インストールしてそのまま使う) パッケージマネ…

【python】listをforループで回してremoveしたら思い通りにならない

pythonプログラミングを始めたばかりの人がよくハマるネタです。日本語Web圏にはイマイチよくまとまった記事がないようなので、まとめておきます。 問題の概要 たとえば、0から9のリストから偶数だけ取り出そうとして、こんなコードを書いてみます。 >>> lst…

【python】辞書で同じキーに複数の値を登録する

ちょっとしたTips。 辞書(dict)は通常、一つのキーには一つの値しか登録できない。代入しても上書きされる。 >>> d = {} >>> d["hoge"] = 1 >>> d {'hoge': 1} >>> d["hoge"] = 2 >>> d {'hoge': 2} こういうときどうすれば良いのかというと、値をリスト等…

【python】pythonでscanf的なことをする

一年以上前にこんな記事を書きました。これはこれで今読み返すと面白い(香ばしい)記事ですが、真剣にpythonでscanfと同じことをしたくてアクセスしてきた人には役に立たないという問題点がありました。 そこで、pythonでscanfと同じことをする方法について…

【python】pythonでprintf的なことをする

一年以上前にこんな記事を書きました。これはこれで今読み返すと面白い(香ばしい)記事ですが、真剣にpythonでprintfと同じことをしたくてアクセスしてきた人には役に立たないという問題点がありました。 そこで、pythonでprintf的なことをする方法をまとめ…

【python】dictのkeyとvalueを入れ替える話色々

dictのkeyとvalueを入れ替えたい、誰でも一度はそう思うのではないだろうか。 方法は何種類かある。とりあえず誰でも思いつくfor文を回す方法は説明から外すことにするけど。 あと、この話は簡単なようで実は罠の宝庫。その辺もちょっと説明しておく。 リス…