0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Python] 他言語からきたひとのためのPythonチートシート その1

Last updated at Posted at 2021-02-11

今までPython以外の言語を使ってきたひとが、「アレってPythonでどう書くんだろう?」と悩んだときに、そっと参照するチートシートを作ろうと思いました。普段まめに勉強してこなかったひとが、テスト前に一夜漬けで作るやつ第一弾です。続きがあるかはわかりません。

環境はPython 3.9です。

自分はPythonをほとんど使ったことがないので、大ポカ書いていたらそっとマサカリください。

ファイル名

全部小文字にします。

myclass.py

ハイフンやアンダースコアは使わない……?

クラス名

大文字始まりのキャメルケースで書きます。

class MyClass:
    pass

メソッド名

スネークケースで書きます。

class MyClass:
    def my_method(self):
        pass

クラスコメント/メソッドコメント

クラス/メソッド定義の後に"""で囲んで書きます。
複数行も書けます。

class MyClass:
    """ 私のかわいいクラス """
    def my_method(self):
        """
        私のメソッド
        俺のメソッド
        """

継承

クラス宣言の後ろにかっこでくくって書きます。
多重継承もできます。

class MyClass(MyBase1, MyBase2):
    pass

コンストラクタ 初期化メソッド

__init__メソッドを定義します。

class MyClass:
    def __init__(self):
        """ コンストラクタではなく、初期化メソッド selfを忘れない """
        pass

インスタンスを生成する真のコンストラクタは__new__メソッドでした。
https://docs.python.org/ja/3/reference/datamodel.html#basic-customization
@shiracamus さんありがとうございます。

抽象メソッド/インターフェース

ABCを継承します。
ABCは、Abstract Base Classの略です。

@abstractmethodデコレータを付けます。

from abc import ABC


class MyAbstractClass(ABC):
    @abstractmethod
    def must_implement(self):
        pass

アクセス修飾子

privateとかpublicみたいな、そのものずばりのものはありません。

privateなメンバーは、先頭に__を付けます。派生クラスで上書きできなくなります。

class MyClass:
    def __my_private_method(self):
        pass

普通には見えなくなるだけで、このようにするとアクセスできるそうです。

instance = MyClass()
instance._MyClass__my_private_method()

setter/getter あるいは書き込み専用プロパティ/読み取り専用プロパティ

getterは@propertyデコレータをつけます。setterは@プロパティ名.setterデコレータをつけます。

class MyClass:
    def __init__(self):
        self.__x = 1

    @property
    def x(self):
        return self.__x

    @x.setter
    def x(self, value):
        self.__x = value

void

None になります。

def my_func() -> None:
    pass

三項演算子

1行のifで書きます。

s = '偶数' if x % 2 == 0 else '奇数'

参考リンク

0
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?