SlideShare une entreprise Scribd logo
1  sur  45
私の好きなPython構文 vol.2
#nds4 @civic
お前だれよ
• @civic
• NDS管理者
• Python, Java
このプレゼンのねらい
Pythonへの熱い想いを語って
少しでもPython人口を増やしたい
前回の発表
おさらい
今日帰ってすぐに始められる
Python
Pythonの良さ
かんたん
素直で覚えやすい
人気あり
プログラミング言語
人気ランキング Top10
2015年8月 GitHub発表 http://goo.gl/160eHH
Python人気は?
• 4位 PHP
• 5位 Python
• 6位 CSS
• 7位 C++
• 8位 C#
• 9位 C
• 10位 HTML
• 1位 JavaScript
• 2位 Java
• 3位 Ruby
好きなPython構文 vol.1
デコレータについて
紹介しました
詳しくはこちら
www.slideshare.net/fbcivic/lt-python-nds45
今日話す内容
好きなPython構文 vol.2
文字列リテラル
with文 (コンテキストマネージャー)
文字列リテラル
文字列リテラル 基本
'Hello' # シングルクォート
"World" # ダブルクォート
• 普通な感じ
• 変数の展開などはしない
• format関数
• %
文字列リテラルのプレフィックス
• プレフィックスで意味が変わる
b'abc' # バイト列 ≠ 文字列
r'rn' # raw文字列(エスケープなし)
u'あいう' # Unicode文字列
#(python2のみ。3.3以降ではuは不要)
リテラルの記号を増やすことなく、アルファベット1字で
様々なリテラルを表現できてわかりやすい!好き!
正規表現リテラルなど不要!
• Pythonでは正規表現は言語仕様になく、
標準ライブラリ。正規表現リテラルはない。
• JavaScriptの正規表現リテラル
// nにマッチするか?
test_string.match(/n/);
// にマッチするか?
test_string.match(//);
Javaの場合
• 同様に正規表現が標準ライブラリで提供されるJava
の場合
• Javaの場合
// nにマッチするか?
test_string.matches("n");
// にマッチするか?
test_string.matches("");
文字列でパターンを表現するので、正規表現としてのエ
スケープ文字と文字列リテラルのエスケープが重なる
Pythonの場合
• raw文字列を使えばさほど問題ない
• Pythonの場合
// nにマッチするか?
re.match(r"n", test_string)
// にマッチするか?
re.match(r"", test_string);
raw文字列 r""→エスケープ無効な文字列リテラル
言語仕様に正規表現リテラルを含めなくてもライブラリ
で十分!→シンプル!
文字列リテラルのプレフィックス
• 記号を使わずに文字列リテラルをたくさん表現できる
"abc" 文字列
r"n" raw文字列
b"abc" バイト列
u"あいう" Unicode文字列 (Python2)
f"Hello! {name}"
変数展開できるやつ
(Python3.6予定)
余談ですが
Python2と3の文字列(闇)
Python2の文字列
• Python2の文字列リテラルはバイト列
なんらかのエンコードの文字列→バイト列
• 文字単位で数えたりするには、
なんらかのエンコードのバイト列では扱いにくい
→Unicode文字列もあるよ
"Hello" # 文字列(バイト列)
u"Hello" # Unicode文字列
混ぜるな危険!!
Python2の
文字列 vs Unicode文字列
UnicodeDecodeError: 'ascii' 〜
安心してください Python3では自然な感じに
Python2 意味 Python3
"abc" バイト列 b"abc"
u"abc" Unicode文字列 "abc"
• 自然になったが互換性が...
• u" "リテラルはもう付けなくてもいいから不要!
Python3.0では
u""は廃止!
Python2の u""が
全部使えなくなった!
互換性ヤバい!
ゴメン!
やっぱりPython3.3から
u"" 復活させるわ!
お分かり
いただけただろうか?
えっと...
Pythonの文字列リテラルが
好きだって話だった
このプレゼンのねらい(再)
Pythonへの熱い想いを語って
少しでもPython人口を増やしたい
文字列リテラル まとめ
• 3になってからは自然な感じ
• プレフィックスで表現できて便利
• 記号よりわかりやすい
• Python3.6で新しい文字列リテラル
f"Hello {name}" # フォーマット文字列
https://docs.python.org/3.6/whatsnew/3.6.html#pep-498-
formatted-string-literals
今日2つめの
好きな構文
with文
コンテキストマネージャー
with文
• コンテキストを扱う便利な構文(雑)
with open('hoge.txt', 'w') as f:
f.write('Hello World')
# withブロックを抜けるとファイルをclose
「ファイルを開いた」というコンテキストで処理を記述
Javaでいうところの
• try-with-resource
try (Write w = new FileWriter(path)) {
//ファイル処理
}
• Javaの場合はAutoClosableインターフェースを
実装したオブジェクトを返す
• Pythonの場合はコンテキストマネージャー型
コンテキストマネージャー型
• __enter__と__exit__メソッドをもつオブジェクト
class Hoge():
def __enter__(self):
print("Enter")
def __exit__(self, exc_type, exc_value, traceback):
print("Exit")
with Hoge():
print("Hello")
# Enter
# Hello
# Exit
コードブロックの入り口と出口
もう少しかんたんに
contextlibモジュール
• コンテキストマネージャー型のクラスつくるの
メンドクサ → contextlibでお手軽に
@contextlib.contextmanager
def テストすっぞ():
print("test setup')
yield
print("test teardown")
with テストすっぞ():
print("テスト中")
# test setup
# テスト中
# test teardown
contextlib.contextmanager
• 前処理・後処理が簡単に記述できた!
• リソースのcloseだけでなく
定型的な前処理・後処理に
• yieldは関数の途中で保留して戻るようなやつ
• yieldについてはまた別の機会に
まとめ
まとめ
• 好きなPython構文として2つ挙げました
• 文字列リテラル(のプレフィックス)
• わかりやすくて表現の幅が広がる
• with文(コンテキストマネージャー)
• 前処理・後処理がきれいに書ける
ご静聴ありがとう
ございました

Contenu connexe

Tendances

Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Shinya Okano
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションTetsuya Morimoto
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたYusuke Kon
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎真哉 杉野
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみたShohei Tai
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?Aki Ariga
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方Takesxi Sximada
 
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptKazufumi Ohkawa
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトTetsuya Morimoto
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会Tetsuya Morimoto
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPythonHironori Sekine
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LTNaoY-2501
 

Tendances (20)

Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
 
OSSと私
OSSと私OSSと私
OSSと私
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
Stapy#22 LT
Stapy#22 LTStapy#22 LT
Stapy#22 LT
 
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
GPT
GPTGPT
GPT
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
スクレイピングとPython
スクレイピングとPythonスクレイピングとPython
スクレイピングとPython
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
 

En vedette

第38回載せられないapp
第38回載せられないapp第38回載せられないapp
第38回載せられないappcivic Sasaki
 
第39回続・古くなったkindle4
第39回続・古くなったkindle4第39回続・古くなったkindle4
第39回続・古くなったkindle4civic Sasaki
 
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介civic Sasaki
 
今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45civic Sasaki
 
第42回中華製安価デバイスの通信を解析した話
第42回中華製安価デバイスの通信を解析した話第42回中華製安価デバイスの通信を解析した話
第42回中華製安価デバイスの通信を解析した話civic Sasaki
 
第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけcivicpg
 
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話civic Sasaki
 
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?civicpg
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8civic Sasaki
 

En vedette (10)

第38回載せられないapp
第38回載せられないapp第38回載せられないapp
第38回載せられないapp
 
Firefoxos
FirefoxosFirefoxos
Firefoxos
 
第39回続・古くなったkindle4
第39回続・古くなったkindle4第39回続・古くなったkindle4
第39回続・古くなったkindle4
 
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
 
今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45
 
第42回中華製安価デバイスの通信を解析した話
第42回中華製安価デバイスの通信を解析した話第42回中華製安価デバイスの通信を解析した話
第42回中華製安価デバイスの通信を解析した話
 
第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ
 
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
 
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
#nds47 WebのテストをPythonでやってエビデンス取得作業から開放?
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
 

Similaire à 私の好きなPython構文 vol.2 #nds46

今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botdcubeio
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Ai Makabi
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜNaruto TAKAHASHI
 
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたPHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたjohgus johgus
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Kir Chou
 
PythonでPodcastを聴く
PythonでPodcastを聴くPythonでPodcastを聴く
PythonでPodcastを聴くMasato Fujitake
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) kunihikokaneko1
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解するTakuya Nishimoto
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjHisateru Tanaka
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
2013_kougi6
2013_kougi62013_kougi6
2013_kougi6ytanno
 

Similaire à 私の好きなPython構文 vol.2 #nds46 (20)

今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
ctypes拡張モジュール
ctypes拡張モジュールctypes拡張モジュール
ctypes拡張モジュール
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたPHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
PythonでPodcastを聴く
PythonでPodcastを聴くPythonでPodcastを聴く
PythonでPodcastを聴く
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
2013_kougi6
2013_kougi62013_kougi6
2013_kougi6
 

Plus de civicpg

オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!civicpg
 
#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話civicpg
 
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)civicpg
 
第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEE第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEEcivicpg
 
第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51civicpg
 
jupyterの紹介 #nds48
jupyterの紹介 #nds48jupyterの紹介 #nds48
jupyterの紹介 #nds48civicpg
 
Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44civicpg
 

Plus de civicpg (7)

オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!オンライン英会話のモチベーション維持!
オンライン英会話のモチベーション維持!
 
#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話#nds54 ルーチンワーク自動化の話
#nds54 ルーチンワーク自動化の話
 
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
#nds53 IoTプラットフォーム・工作でスーヴィード(低温調理)
 
第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEE第52回なんてかんたんなJavaEE
第52回なんてかんたんなJavaEE
 
第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51第51回NDS PostgreSQLのデータ型 #nds51
第51回NDS PostgreSQLのデータ型 #nds51
 
jupyterの紹介 #nds48
jupyterの紹介 #nds48jupyterの紹介 #nds48
jupyterの紹介 #nds48
 
Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44Amazon SESのメール受信対応でサーバー減らせた話 #nds44
Amazon SESのメール受信対応でサーバー減らせた話 #nds44
 

Dernier

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Dernier (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

私の好きなPython構文 vol.2 #nds46

Notes de l'éditeur

  1. 変数展開については、次のPython3.6で搭載予定
  2. 具体的な例として、どういう点で分かりやすいかということを紹介
  3. 正規表現リテラルのあるJavaScriptの場合
  4. 正規表現ライブラリに文字列でパターンを渡さなければならない
  5. raw文字列は正規表現のためのものではないが、文字列の表現の幅が広がる 言語仕様はシンプルに。その代わり豊富な標準ライブラリ
  6. PEP498のフォーマット文字列
  7. Python2の文字列はバイト列でしかないので、代わりにUnicode文字列というオブジェクトもある
  8. 2つの文字列があるから、よく発生したエラー!
  9. いままでのUnicode文字列が、ふつーに使いたい文字列だからプレフィックスなし たとえば文字列→SJISで表現されたバイト列にしたらbプレフィックスにしよう uリテラルもう要らないよね!
  10. ただしつけても、なにも機能しない互換性のためだけに存在
  11. f-string
  12. コンテキストマネージャーを返すことで、前処理・後処理を実装できて綺麗
  13. クラスを作成するのはおっくうでも、関数ならサッと作る気になる