pythonは引数の受け渡しがかなり柔軟にできます。 関数というと、定義している部分と呼び出している部分があります。 区別して書いていきますが、混同しないように気をつけてください。 ・普通に渡す。 まず普通の書き方はこんな感じです。
pythonは引数の受け渡しがかなり柔軟にできます。 関数というと、定義している部分と呼び出している部分があります。 区別して書いていきますが、混同しないように気をつけてください。 ・普通に渡す。 まず普通の書き方はこんな感じです。
プログラムのロジックを考え、実装を行う上で、変数の名前空間やスコープはとても重要です。 これらはロジックを組み立てる上での複雑さに直結し、ソースコードの読みやすさにダイレクトに関係してくるためです。 この記事では、私が Python で開発をする上で気をつけるようにしている名前空間やスコープに関するお話をします。 コーディングスタイルについて 名前空間やスコープの前に、まずは基本的なコーディングスタイルについて軽くお話しします。 Python のコーディングスタイルというと、 PEP 8 – Style Guide for Python Code (日本語訳は こちら )が有名です。 これは、 Python でプログラムを書く上で守っておくとよいお作法について書かれており、 Python のコーディングスタイルとしてはデファクトスタンダードといえるでしょう。 この PEP8、例えば以下のよ
Pythonではバージョン2系と3系との間に互換性がありません。ソースコードの書き方に違いがあるため、2系のインタプリタでは動作していたスクリプトが、3系のインタプリタでは動作しない可能性があります(逆のケースあります)。このあたりも交えてバージョン選定を行う上での注意点も簡単にまとめておきます。 対応ライブラリの数 2017年現在、かなり改善していますが対応ライブラリの数はまだ2系の方が多いようです。3系で開発を始めたものの、目的の機能を実装するために利用しようとしたライブラリが2系にしか対応していない、というような状況にならないよう事前に調べておく必要があります。そういった事に陥らないように、2系を選択して開発を行うケースもあるようですが、標準ライブラリのみで開発可能なプログラムであれば、最新の3系を利用して開発を行うのが良いでしょう。 パッケージの再構成 標準ライブラリのurllib
さて、今日は何かと忌み嫌われがちな「Pythonのimport文」についての記事を書きたいと思います。 その中でも特に、「今編集しているスクリプトより上層のディレクトリにあるモジュールをimportしたくなった」時にハマるケースについて取り上げます。 今、次のようなファイル構成でPythonのアプリケーション(モジュール)を書いていたとします。 my_module/A/A.pyを編集中, B/B.pyの機能が使いたくなったとします。 Pythonでは, from ... import ...の構文でimportを行う場合に 相対パスを指定する事ができるので、 my_module/B/__init__.pyに import Bと書いておき、 from ..B import B と書く事でmy_module/B/B.pyをインポートすることにします。 ところが、ここで動作確認をしようとして、
import .baconとかfrom . import egg とかの書式ってなんなんだ?という疑問を小耳に挟んだので、なんかがんばっちゃうよ。 spam/egg.pyからspam/bacon.pyをインポートするときって、import baconとか書いちゃうよね。 だが、ちょっと考えてみて欲しい。 bacon.py spam/egg.py spam/bacon.py こんな構成の場合はどうなるだろう。 spam/eggからimport baconすると、 このときのbaconは、spam/bacon.py だ。 このとき bacon.py は、spam/bacon.pyにかくされてしまっている。 じゃあ、トップレベルにあるbacon.pyはどうすればインポートできるのか? こうした問題を解決するのがPEP328 http://www.python.org/dev/peps/pep-0
This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. 7.1. string — Common string operations¶ Source code: Lib/string.py The string module contains a number of useful constants and classes, as well as some deprecated legacy functions that are also available as methods on strings. In addition,
Python のクラスの使い方をご紹介します。 定義 クラスは class クラス名(継承したいクラス名): という形で定義します。 class MyClass(ParentClass): """Myclass for ... """ def __init__(self, name, x, y): self.name = name self.x = x self.y = y def getX(self): return self.x この例では MyClass: クラス名 ParentClass: 継承したいクラス名 x: アトリビュート y: アトリビュート __init__: メソッド getX: メソッド となります。 派生クラスと基底クラスということばを使うなら MyClass が派生クラスで ParentClass が基底クラスです。ちなみに、 ParentClass をこのよう
Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く