SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Takayuki Shimizukawa
@shimizukawa (清水川)
 BeProud co, ltd.
 Sphinx committer
 一般社団法人PyCon JP理事
Board member of PyCon JP committee
おまえ誰よ / Who are you
22017/9/8
[AD] Python オンライン学習サービス PyQ
機械学習コンテンツをリリース
https://pyq.jp/
NEW!
32017/9/8
42017/9/8
The person who think …
以下のように思っている方
 I got into Python, but it doesn’t come nicely..
Pythonは入門したが、なんだかしっくりこない..
 Why len is a function?
なんでlenは関数なんだろう
 Python is not object-oriented as len() function
len()関数だなんてPythonはオブジェクト指向じゃないな
Target attendees
52017/9/8
1. len() がオブジェクトの長さを手に入れる方法
 なんでPythonはlen()関数なの
 Protocol: オブジェクトの振る舞い
2. if がオブジェクトのTrue/Falseを判断する方法
3. for がオブジェクトの繰り返し要素を取得する方法
4. まとめ
5. References
アジェンダ
2017/9/8 6
72017/9/8
 len関数で文字列の長さを得ます
 obj.__len__() メソッドを呼んで文字列の長さを得ます
 得られる結果は同じ
 len(obj)は内部で obj.__len__() を実行しています
len()関数に文字列を渡したときに起こること
>>> len(“もじれつ”)
4
>>> “もじれつ”.__len__()
4
82017/9/8
 obj.__len__() が呼ばれるなら obj.length() でよかったの
では?
len()要らないのでは?
“もじれつ”
__len__4 4
return
92017/9/8
 obj.__len__() が呼ばれるなら obj.length() でよかったの
では?
 len() はもうちょっと仕事してます
 __len__() の値がintかチェックしています
len()要らないのでは?
“もじれつ”
len()
__len__4 int?
TypeError
4
return
Yes
No
102017/9/8
len関数で、型と値をチェック!
__len__() がint以外の値を返すと..
>>> class WaruiObj:
... def __len__(self):
... return 1.2
...
>>> w = WaruiObj()
>>> len(w)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object cannot be interpreted as an
integer
__len__
TypeError
return
Yes
No
int?
len()
sys.maxsize を超える値を返すと
OverflowError例外を起こします。
― データモデル より
112017/9/8
 渡されたオブジェクトの __len__() APIを使って、
 取得した値をチェック、変換して、
 呼び出し元に適切な値を返す
“もじれつ” len()
int?
TypeError
Yes
No
len()関数の役割
__len____len__4 4
return
Adapter
Pattern!! 122017/9/8
Adapter Pattern(アダプター・パ
ターン)とは、GoF (Gang of Four;
4人のギャングたち) によって定義
されたデザインパターンの1つであ
る。Adapter パターンを用いると、
既存のクラスに対して修正を加え
ることなく、インタフェースを変更
することができる。
Adapter Pattern とは
Interface
交流 100V~240V
直流 20V 3.25A
Protocol
― Wikipedia より
132017/9/8
参考: 実践Python3 もオススメ
 len() 関数は、任意のオブジェクトに対してAdapterとして
作用します。
 len() は、obj.__len__() があれば、どんなオブジェクトにも
使えるAdapterです。
どのオブジェクトにも使えるlen() Adapter
任意のobject len()
__len__
TypeError
return
Yes
No
__len__
Interface
Interface
Protocol
プロトコル
異常?
142017/9/8
 list.__len__() は中に持っている要素数を返します。
 要素数はlist自身が知っています
listに len() Adapter
list:
[2, None, ‘Yo’]
len()
__len__3 int?
TypeError
3
return
Yes
No
__len__
152017/9/8
 dict.__len__() は中に持っているキーの数を返します。
 キーの数はdict自身が知っています
dictに len() Adapter
dict: {
“age”: 999,
“name”: “Hoge”
}
len()
__len__2 int?
TypeError
2
return
Yes
No
__len__
162017/9/8
 __len__() メソッドを実装した独自クラスを定義します
独自のデータ型に len() Adapter
>>> import random
>>> class Random:
... def __len__(self):
... return random.randint(0, 10)
...
>>> r = Random()
>>> len(r)
10
>>> len(r)
0
>>> len(r)
5 __len__
TypeError
return
Yes
No
int?
len()
? __len__
独自データ型
172017/9/8
任意のobject
len()
 len() は、obj.__len__() があれば動作します。
 言い換えると、長さの概念を持つオブジェクトは、
obj.__len__() を実装する必要があります。
 長さの「プロトコルを実装する」と言います。
Protocol: オブジェクトの振る舞い
__len__ int?
TypeError
return
Yes
No
__len__
Interface
Protocol
182017/9/8
 実は、Pythonの公式ドキュメントに何度か登場してます
Protocol ってどこに書いてあるの?
データモデル ― Python言語リファレンス - Python
3.6.1
組み込み型 -Python 標準ライブラリ - Python 3.6.1
組み込み関数 -Python 標準ライブラリ - Python 3.6.1
クラス -Python チュートリアル - Python 3.6
__len____len__
Protocol
192017/9/8
 Protocolの一覧などは(現在も)なさそう…
 ドキュメントへの初登場はPython-2.2 (2001年)
 PEP-544 (2017年5月)でPEPに初登場
 Protocol一覧の定義ではなく、型ヒントのため明確化
Protocolの定義はどこにあるの?
__len____len__
Protocol PEP 544 -- Protocols: Structural
subtyping (static duck typing)
PEPはPython拡張提案(Python Enhancement Proposal)を表しています。PEPは
Pythonのコミュニティに対して情報を提供したり、Pythonの新機能やプロセス、環境
などを説明するための設計書です。PEPは、技術的な仕様と、その機能が必要な論
理的な理由を提供しなければなりません。 ― PEP1 より 202017/9/8
 http://docs.python.jp/3/library/collections.abc.html
Protocol一覧の代わりに
212017/9/8
len() は Adapter
オブジェクトとAdapterが
通信する規約がプロトコル
ここまでのまとめ
222017/9/8
len()
int?
TypeError
Yes
No
Adapter、値のチェックしてるだけでしょう?
__len__4 4
return
len() 、 max() 、 min() を組み込み関数として実装す
ることで、それぞれの型のメソッドとして実装するより少
ないコードで済みます。 ― デザインと歴史 FAQ より
こういうメリットもあるよ
232017/9/8
次はもうちょっと複雑な例
(´・ω・`)ノ
242017/9/8
252017/9/8
 if文の例
 内部では自動的にbool()で変換されます
 はい、bool() 関数 Adapter です。
if 文のルール
if obj:
print(“Trueだ!”)
else:
print(“Falseだ!”)
if bool(obj):
262017/9/8
 bool関数で数値の真偽(True/False)を判別
 obj.__bool__() メソッドでしょ?
 はい(´・ω・`)
 じゃあ次は文字列で。
bool()関数に数値を渡したときに起こること
>>> bool(123)
True
>>> (123).__bool__()
True
272017/9/8
 bool関数で文字列の真偽(True/False)を判別
 obj.__bool__() メソッド
 あれっ?
bool()関数に文字を渡したときに起こること
>>> bool(“もじれつ”)
True
>>> “もじれつ”.__bool__()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no
attribute '__bool__'
282017/9/8
数値や文字を bool() に変換するRule
偽と見なされる条件
クラスが __bool__() または __len__() メソッドを定
義していれば、それらのメソッドが整数 0 または
bool 値 False を返すとき。
真と見なされる条件
偽じゃないやつ ― 真偽値判定 より
bool() は len() よりも仕事してそう
292017/9/8
任意のobject
 __bool__ がない場合は、bool(len(obj)) 相当の処理を
行う
len()
bool()
Yes
bool() Adapter
__bool__
return
__len__
メソッド
ある?
No
Yes
bool型?
No
bool(value)
or
CPython での bool() の実装コード
https://github.com/python/cpython/blob/master/O
bjects/typeobject.c#L6081-L6127
302017/9/8
TypeError
 __bool__() メソッドを実装した独自クラスを定義します
 これは、正の整数ならTrueと判定されるint型です
独自のデータ型に bool() Adapter
>>> class PositiveInt(int):
... def __bool__(self):
... return self > 0
...
>>> bool(PositiveInt(10))
True
>>> bool(PositiveInt(-3)) # 0以下の値はFalse
False
>>> bool(-3) # 本来のintはマイナス値もTrue
True
312017/9/8
さらにレベル上げていくよー
(`・ω・´)
322017/9/8
332017/9/8
 for 文の例
 内部では自動的にiter()で変換されます
 はい、iter() 関数 Adapter です。
for 文のルール
for o in obj:
print(o)
for o in iter(obj):
342017/9/8
object を iter() に変換するルール
iter(object) は イテレータ (iterator) オブジェクトを返し
ます。object は反復プロトコル (__iter__() メソッド) か、
シーケンスプロトコル (引数が 0 から開始する
__getitem__() メソッド) をサポートする集合オブジェクト
でなければなりません。これらのプロトコルが両方ともサ
ポートされていない場合、 TypeError が送出されます。
― 組み込み関数 iter() より
bool() よりずっと大変そう
352017/9/8
任意のobject
iter() Adapter
iter()
Yes
__iter__
return
メソッド
ある?
No
Yes
No
イテレー
タ?
__getitem__
0から順番に obj.__getitem__()に渡
して、IndexErrorが発生するまで繰り
返すiterator実装を提供する
iteratoror
362017/9/8
Iterator
Pattern!!参考: 実践Python3
参考: Wikipedia
TypeError
iter() が返すIteratorとは
イテレータ(iterator)は、データの流れを表現するオブ
ジェクトです。イテレータの __next__() メソッドを繰り返
し呼び出す (または組み込み関数 next() に渡す) と、
流れの中の要素を一つずつ返します。データがなくなる
と、代わりに StopIteration 例外を送出します。
― 組み込み関数 iter() より
イテレータオブジェクト自体は以下の 2 つのメソッドをサ
ポートする必要があります。これらのメソッドは 2 つ合わ
せて iterator protocol: (イテレータプロトコル) を成しま
す … __next__(), __iter__() ― 用語集 iterator より
372017/9/8
 for 文の例
 内部ではこう解釈されます
for 文のルール(もうちょっと正確に)
for o in obj:
print(o)
it = iter(obj)
while True:
try:
o = next(it)
except StopIteration:
break
print(o)
はい、iter() 関数 Adapter と next() 関数 Adapterです。382017/9/8
next() Adapter と iterator
iterator
- 対象オブジェクト(リスト等)
- 位置カウンタ
対象オブジェクトから位置カウン
タを使って値を取り出して返す
iterator自体を返す
next() return
値__next__
__iter__
and
392017/9/8
class MyIterator:
def __init__(self, obj):
self.obj = obj
self.c = 0
def __next__(self):
try:
r = self.obj[self.c]
self.c += 1
return r
except IndexError:
raise StopIteration
def __iter__(self):
return self
next() return
値
iteratorの実装例
__next__
__iter__
and
402017/9/8
任意の
object
この1行で色々起きてます
for 文の1行目で起こっていること
__iter__
__getitem__
or
next()
return
値__next__
__iter__
iter()
and
iterator
objectreturn
for o in obj:
iterator protocol
組み込み型 イテレータ型 より
Protocol?
特に名称はなさそう(´・ω・`)
412017/9/8
 __iter__() メソッドを実装した独自クラスを定義します
 このコンテナをforに与えると、辞書のキーのアルファベッ
ト順に、そのキーの値が繰り返されます
独自のデータ型に iter(), next() Adapter
class MyContainer:
def __init__(self, mapping):
self.keys = sorted(mapping) # ソートして保持
self.mapping = mapping # 値返し用
def __iter__(self): # for文で呼ばれる
return MyIterator(self)
def __getitem__(self, idx): # MyIteratorから呼ばれる
return self.mapping[self.keys[idx]]
>>> list(MyContainer({'foo': 1, 'bar': 2, 'poke': 3, 'ah': 4}))
[4, 2, 1, 3] 422017/9/8
 http://docs.python.jp/3/library/collections.abc.html
 「抽象基底クラス」を継承して、Protocol実装を強制
できます
 abc はそのためのモジュール
Iterator Protoclの抽象基底クラス
432017/9/8
 継承によるInterfaceの強制
 collection.abc を継承すれば実装忘れは防げる
 対応Protocolを明示したい場合にも良い
継承によるProtocolの強制
from collections.abc import Iterator
class MyIterator(Iterator):
pass
>>> MyIterator()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class MyIterator
with abstract methods __next__
Explicit is better than implicit.
― PEP 20 -- The Zen of Python より442017/9/8
(´・ω・)おつかれさま(・ω・`)
452017/9/8
462017/9/8
 len() は Adapter Pattern
 って言われると納得感あるよね(あるよね?)
 len() ひとつ見ても、多くの経緯と議論の歴史がある
 len() vs .length の議論を頭良い人達がしてないわけない
 歴史に学ぼう
 初級から中級へ進むには
 ひたすら情報を読む、歴史を追う
 自分なりに解釈する
 Pythonで色々実装してみる
まとめ
472017/9/8
公式リファレンスに
多くの情報が載っている
原典を調べよう
PEPを読んでみよう
482017/9/8
 デザインと歴史 FAQ - Python 3.6.1 ドキュメント - Python
にメソッドを使う機能 (list.index() 等) と関数を使う機能
(len(list) 等) があるのはなぜですか?
https://docs.python.jp/3/faq/design.html#why-does-
python-use-methods-for-some-functionality-e-g-list-
index-but-functions-for-other-e-g-len-list
References: Python公式リファレンス
492017/9/8
 Python-2.4 ライブラリリファレンス イテレータ型
http://docs.python.jp/2.4/lib/typeiter.html
 バージョン 2.2 で追加
 8.3. collections — 高性能なコンテナ・データ型 - Python 2.6ja2
documentation
http://docs.python.jp/2.6/library/collections.html#abcs-
abstract-base-classes
 バージョン 2.6 で変更: 抽象基底クラス (abstract base class) の追加
 2. 組み込み関数 - Python 3.6.1 ドキュメント
http://docs.python.jp/3/library/functions.html#iter
 4. 組み込み型 - Python 3.6.1 ドキュメント
http://docs.python.jp/3/library/stdtypes.html#iterator-types
 8.4. collections.abc — コレクションの抽象基底クラス - Python
3.6.1 ドキュメント
http://docs.python.jp/3/library/collections.abc.html
References: Python公式リファレンス
502017/9/8
 PEP 1 -- PEP Purpose and Guidelines | Python.org
http://sphinx-users.jp/articles/pep1.html (和訳)
https://www.python.org/dev/peps/pep-0001
 PEP 3119 -- Introducing Abstract Base Classes | Python.org
https://www.python.org/dev/peps/pep-3119/
 PEP 544 -- Protocols: Structural subtyping (static duck typing) |
Python.org
https://www.python.org/dev/peps/pep-0544/
 PEP 20 -- The Zen of Python
http://d.hatena.ne.jp/nishiohirokazu/20120317/1331989155 (和訳)
https://www.python.org/dev/peps/pep-0020/
References: PEP
512017/9/8
 len が関数になっている理由 - methaneのブログ
http://methane.hatenablog.jp/entry/20090702/1246556675
 len が py3k でも 関数のままである理由 - methaneのブログ
http://methane.hatenablog.jp/entry/20090721/1248195293
 Solid Snakes or: How to Take 5 Weeks of Vacation - Hynek Schlawack
https://hynek.me/talks/reliability/
 オブジェクト指向と20年戦ってわかったこと – Qiita
http://qiita.com/shibukawa/items/2698b980933367ad93b4
 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるま
での軌跡 – Qiita
http://qiita.com/hirokidaichi/items/591ad96ab12938878fe1
 Python を支える技術 ディスクリプタ編 #pyconjp – Qiita
http://qiita.com/knzm/items/a8a0fead6e1706663c22
 The History of Python.jp: ユーザ定義クラスのサポートの追加
http://python-history-jp.blogspot.jp/2009/04/blog-post_30.html
 仮想継承とsingledispatch – atsuoishimoto’s diary
http://atsuoishimoto.hatenablog.com/entry/2016/08/04/095641
 The Zen of Python 解題 - 前編 – atsuoishimoto’s diary
http://atsuoishimoto.hatenablog.com/entry/20100920/1284986066
References: blog等
522017/9/8
 bool()実装
https://github.com/python/cpython/blob/1f06a680d/
Objects/typeobject.c#L6081-L6127
 真偽判定実装
https://github.com/python/cpython/blob/1f06a680d/
Objects/object.c#L1314-L1336
 len()実装
https://github.com/python/cpython/blob/1f06a680d/
Objects/typeobject.c#L5920-L5944
 len()のint値判定で呼ばれる実装
https://github.com/python/cpython/blob/1f06a680d/
Objects/abstract.c#L1238-L1275
References: CPython code
532017/9/8
 実践 Python3
http://amzn.to/2vK2uHl
 Adapter Pattern, Iterator Pattern, Protocol, …
 結城浩にインタビュー Java言語で学ぶデザインパターン
入門
http://www.hyuki.com/dp/interview.html
 かわいいフリー素材集 いらすとや
http://www.irasutoya.com/
References: その他
542017/9/8
Questions?
@shimizukawa
Grab me anytime :)
Break, Party, Sprint
2017/9/8 55
Thanks :)
2017/9/8 56

Weitere ähnliche Inhalte

Was ist angesagt?

イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまでtechgamecollege
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウShinsuke Sugaya
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Takayuki Shimizukawa
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Ian Lewis
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』Yoshitaka Kawashima
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―shinjiigarashi
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビューTakafumi ONAKA
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 

Was ist angesagt? (20)

イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 

Andere mochten auch

Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころJunya Hayashi
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016Takayuki Shimizukawa
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介Takayuki Shimizukawa
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組みTakayuki Shimizukawa
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集いTakayuki Shimizukawa
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Takayuki Shimizukawa
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015Takayuki Shimizukawa
 
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーSappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーWakana_kudo
 
音声生成の基礎と音声学
音声生成の基礎と音声学音声生成の基礎と音声学
音声生成の基礎と音声学Akinori Ito
 
R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装__nakamichi__
 
Prophet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツールProphet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツールhoxo_m
 
Prophet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツールProphet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツールhoxo_m
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールhoxo_m
 
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)Toshihiko Yamakami
 
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティングYusuke Tamukai
 
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法Nagi Teramo
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴Yuya Unno
 

Andere mochten auch (17)

Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015
 
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーSappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ー
 
音声生成の基礎と音声学
音声生成の基礎と音声学音声生成の基礎と音声学
音声生成の基礎と音声学
 
R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装
 
Prophet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツールProphet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツール
 
Prophet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツールProphet入門【R編】Facebookの時系列予測ツール
Prophet入門【R編】Facebookの時系列予測ツール
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
 
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
 
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
 
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
 

Ähnlich wie Pythonはどうやってlen関数で長さを手にいれているの?

20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526 masahitojp
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language UpdateAtsushi Shibata
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半Tetsuya Morimoto
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) kunihikokaneko1
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法Yosuke Onoue
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpythonSoudai Sone
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すAromaBlack
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2Tomohiro Namba
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorialNU_Pan
 
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7Tetsuya Morimoto
 
LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」Takeshi Akutsu
 
openpyxlの使い方
openpyxlの使い方openpyxlの使い方
openpyxlの使い方ysakaguchi
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Yasutomo Kawanishi
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Pythonロフト くん
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介Takeo Imai
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)泰 増田
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cythonfuzzysphere
 

Ähnlich wie Pythonはどうやってlen関数で長さを手にいれているの? (20)

20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language Update
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpython
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
 
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7
 
LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」
 
openpyxlの使い方
openpyxlの使い方openpyxlの使い方
openpyxlの使い方
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 

Mehr von Takayuki Shimizukawa

Navigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential ReadsNavigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential ReadsTakayuki Shimizukawa
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようTakayuki Shimizukawa
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022Takayuki Shimizukawa
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022Takayuki Shimizukawa
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由Takayuki Shimizukawa
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころTakayuki Shimizukawa
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoTakayuki Shimizukawa
 
独学プログラマーのその後
独学プログラマーのその後独学プログラマーのその後
独学プログラマーのその後Takayuki Shimizukawa
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWayTakayuki Shimizukawa
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Takayuki Shimizukawa
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Takayuki Shimizukawa
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Takayuki Shimizukawa
 
Sphinx autodoc - automated api documentation - PyCon.MY 2015
Sphinx autodoc - automated api documentation - PyCon.MY 2015Sphinx autodoc - automated api documentation - PyCon.MY 2015
Sphinx autodoc - automated api documentation - PyCon.MY 2015Takayuki Shimizukawa
 
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)Takayuki Shimizukawa
 
Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Takayuki Shimizukawa
 
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)Takayuki Shimizukawa
 
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Takayuki Shimizukawa
 
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93Takayuki Shimizukawa
 
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Takayuki Shimizukawa
 

Mehr von Takayuki Shimizukawa (20)

Navigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential ReadsNavigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential Reads
 
IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
 
独学プログラマーのその後
独学プログラマーのその後独学プログラマーのその後
独学プログラマーのその後
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015
 
Sphinx autodoc - automated api documentation - PyCon.MY 2015
Sphinx autodoc - automated api documentation - PyCon.MY 2015Sphinx autodoc - automated api documentation - PyCon.MY 2015
Sphinx autodoc - automated api documentation - PyCon.MY 2015
 
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
 
Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015
 
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
 
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
 
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
 
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015
 

Pythonはどうやってlen関数で長さを手にいれているの?