Lang/Python/基本文法
の編集
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
App
App/archiver
App/audio
App/audio/audacity
App/audio/mpg321
App/audio/puddletag
App/base64
App/Browser
App/column
App/diff-patch
App/downloader
App/ffmpeg
App/ffprobe
App/find
App/gimp
App/gnuplot
App/ImageMagick
App/info
App/inxi
App/LibreOffice
App/locate
App/md5
App/Music
App/Music/frescobaldi
App/Music/MuseScore
App/OCR
App/od
App/OpenOffice.org
App/pagers
App/pdf
App/QRコード
App/ripgrep
App/screen
App/script
App/sed
App/selenium
App/signal-desktop
App/skype
App/sylpheed
App/tmux
App/ttyrec
App/uniq
App/UUID
App/wget
App/xargs
App/テキスト処理
App/仮想化
App/仮想化/Docker
App/仮想化/qemu
App/仮想化/webos
AutoTicketLinkName
BracketName
CentOS
CentOS/yum
CrossCompile
Debian
Debian/kernel
Debian/kernel/ver8-or-older
Debian/Plan9関連
Debian/ver5
Debian/ver6
Debian/ver7
Debian/ver8
Debian/ver9
Debian/ver10
Debian/ver11
Debian/ver12
Debian/X
Debian/X/日本語
Debian/パッケージ管理
Deveice/Sensor/MotionSensor
Device
Device/Mouse
Device/Net/wifi
Device/Scanner
Device/Sensor
Device/Sensor/MotionSensor
Device/tty
Device/xmodmap
Editor
Editor/atom
Editor/binary
Editor/binary/beav
Editor/binary/hexedit
Editor/emacs
Editor/emacs/clang-format
Editor/emacs/flycheck
Editor/emacs/gdb-mode
Editor/emacs/github/copilot
Editor/emacs/html-mode
Editor/emacs/lisp
Editor/emacs/lsp-mode
Editor/emacs/markdown-mode
Editor/emacs/neotree
Editor/emacs/package-install
Editor/emacs/sdic
Editor/emacs/speedbar
Editor/emacs/XEmacs
Editor/emacs/ローカルビルド
Editor/emacs/多言語
Editor/fte
Editor/vi
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
iPhone
Lang
Lang/C++
Lang/C++/Boost
Lang/C++/C++11
Lang/C++/C++11/thread
Lang/C++/C++11/コンテナ
Lang/C++/C++11/コンテナ/string
Lang/C++/C++11/初期化子
Lang/C++/C++17
Lang/C++/C++20
Lang/C++/error
Lang/C++/macro
Lang/C++/template
Lang/C++/コンテナ
Lang/C++/処理系
Lang/C-Sharp
Lang/Go
Lang/html
Lang/html/5
Lang/html/5/canvas
Lang/html/css
Lang/Java
Lang/Java/jar
Lang/Objective-C
Lang/Pascal
Lang/Perl
Lang/Perl/CGI
Lang/Perl/thread
Lang/Perl/utf-8
Lang/pike
Lang/Python
Lang/Python/Class
Lang/Python/Error
Lang/Python/import対象パス
Lang/Python/pip
Lang/Python/基本文法
Lang/Python/開発環境
Lang/Rust
Lang/sed
Lang/shell
Lang/shell/bash
Lang/shell/bash/設定
Lang/shell/bash/設定/command-not-found
Lang/Tcl_Tk_Expect
Lang/Tcl_Tk_Expect/Ctrl-キーマップ
Lang/TypeScript
Lang/xml
Mac
Memo
memo
MenuBar
midi
Multimedia
Net
Net/apache
Net/apache2
Net/dig
Net/dns/server
Net/domain
Net/http/アクセス制御
Net/iptables
Net/IRC
Net/Jenkins
Net/lighttpd
Net/mail
Net/mail/X-Face
Net/news
Net/news/gnus
Net/ntp
Net/pukiwiki
Net/pukiwiki/plugin
Net/resolv.conf
Net/SPAM
Net/ss
Net/tcpdump
Net/traceroute
Net/twitter
Net/vpn
Net/web
Net/webAPI
Net/wifi
Net/wifi/AP
Net/監視
otherlinks
PHP
Plan9
PPC
PPC/LinuxPPC
PPC/MkLinux
Prog
Prog/AI
Prog/autotools
Prog/cmake
Prog/Compiler/gcc
Prog/CrossReferencer
Prog/debug
Prog/debug/gdb
Prog/debug/lldb
Prog/debug/ltrace
Prog/debug/memory
Prog/debug/strace
Prog/formatter/clang-format
Prog/GoogleTest
Prog/Gtk
Prog/IDE
Prog/IDE/Geany
Prog/ldd
Prog/make
Prog/nm
Prog/Profiler
Prog/Qt
Prog/readelf
Prog/Sound
Prog/StaticCodeAnalysis
Prog/StaticCodeAnalysis/cppcheck
Prog/strip
Prog/TagSystem
Prog/TagSystem/cscope
Prog/TagSystem/ctags-exuberant
Prog/TagSystem/ebrowse
Prog/TagSystem/etags
Prog/TagSystem/gtags
Prog/TagSystem/id-utils
Prog/TagSystem/lctags
Prog/TagSystem/rtags
Prog/TagSystem/SilentBob
Prog/X/X11
Prog/プロセス間通信
Prog/プロセス間通信/SharedMemory
Prog/プロセス間通信/singal
Prog/人為的なシグナル
Prog/分散ビルド/distcc
Prog/逆アセンブル
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
RS232C
SandBox
Security
Security/aide
Security/chkrootkit
Security/clamav
Security/gpg
Security/pkcs
Security/ssh
Security/test
Security/パスワード解析
System
System/Audio
System/beep
System/bluetooth
System/cpu
System/dm-crypt
System/fs
System/fs/ext2-3
System/fs/mount
System/fs/nfs
System/fs/tmpfs
System/fs/xfs
System/fs/大容量のファイルを高速に作成する
System/fs/強制物理フォーマット
System/grub
System/Hardware情報
System/HDD/IDE/チューニング
System/input
System/iostat
System/Kernel
System/Kernel/Module
System/locale
System/memory
System/OpenCL
System/os
System/power/battery
System/Process
System/random
System/rpm
System/runlevel
System/signal
System/sudo
System/swap
System/USB-Boot
System/user
System/シリアル接続
System/環境変数
TeX
TeX/MusiXTeX
tools
Top/Editor/emacs/python開発環境
transcription/old
Ubuntu
VersionCtl
VersionCtl/git
VersionCtl/git/Gerrit
VersionCtl/git/Gerrit/old
VersionCtl/git/git-gutter+
VersionCtl/git/git-imerge
VersionCtl/git/magit
VersionCtl/git/magit/2.1.0
VersionCtl/git/magit/2.8.0
VersionCtl/git/magit/2.13.1
VersionCtl/git/magit/v3.2.1
VersionCtl/git/magit/v3.3.0
VersionCtl/git/subversion からの移行
VersionCtl/git/subversion とのコマンド対比
VersionCtl/git/tig
VersionCtl/git/統計
VersionCtl/hg
VersionCtl/Mercurial
VersionCtl/repo
VersionCtl/Subversion
WikiEngines
WikiName
WikiWikiWeb
Windows
Windows/cmd
X
X/DisplayManager
X/DisplayManager/gdm3
X/DisplayManager/lightdm
X/font
X/font/old
X/GNOME3
X/input
X/input/OnScreenKeyboard
X/input/キーアサインを変更する
X/input/グラゴル文字
X/input/日本語
X/input/日本語/ATOK X3
X/input/日本語/ibus
X/input/日本語/uim
X/KDE
X/remote
X/screensaver
X/terminal
X/terminal/mlterm
X/terminal/urxvt
X/terminal/uxterm
X/vnc
X/vnc/tigervnc
X/WindowManager
X/WindowManager/9wm
X/WindowManager/amiwm
X/WindowManager/awesome
X/WindowManager/CDE
X/WindowManager/cinnamon
X/WindowManager/dwm
X/WindowManager/flwm
X/WindowManager/i3
X/WindowManager/jwm
X/WindowManager/matchbox
X/WindowManager/MATE
X/WindowManager/mlvwm
X/WindowManager/qvwm
X/WindowManager/ratpoison
X/WindowManager/ude
X/WindowManager/WindowMaker
X/WindowManager/xfce4
X/xdotool
X/Xnest
X/xrdp
X/xvfb
YukiWiki
スタジオ・ホール
旅
旅/Czech
旅/三重
旅/京都・滋賀
旅/兵庫
旅/千葉
旅/各務
旅/和歌山
旅/埼玉
旅/山形
旅/岐阜
旅/岡山
旅/岩手
旅/島根
旅/愛媛
旅/新潟
旅/東京
旅/栃木
旅/神奈川
旅/秋田
旅/群馬
旅/茨城
旅/長野・山梨
旅/静岡
旅/静岡/伊豆
未整理
食
食/チェコ
食/各国
食/料理
食/激辛
食/蕎麦
食/郷土料理
#topicpath //////////////////////////////////////////////////////////////////////////////// * 目次 [#j87cd01d] #contents(); #ls2(Lang/Python/); //////////////////////////////////////////////////////////////////////////////// * スクリプトの先頭 [#m94fa6c5] - 1行目にインタプリタ行と、2行目にエンコード行(マルチバイト文字列を扱う場合)を書く。 -- デフォルトのバージョンの python を使う場合: #!/usr/bin/python # -*- coding: utf-8 -*- -- バージョン3固定の python を使う場合: #!/usr/bin/python3 # -*- coding: utf-8 -*- //////////////////////////////////////////////////////////////////////////////// * 関数 [#z19c1d78] - 接頭辞として def を記述する def func_hoge(): print( "aaaa\n" ); - デフォルト引数の指定 def func_hoge( name, msg = "こんにちは" ): print( name, "さん、", msg ); - 返り値 def func_hoge( name, msg = "こんにちは" ): result = 12; return result; //============================================================================== ** λ式 [#waec3d9e] - ラムダ式を定義することが出来る。書式は以下 def lambda 引数リスト: 処理 -- ラムダ式では、 ":" の後ろに改行を入れずに処理を記述することが出来る //////////////////////////////////////////////////////////////////////////////// * 値の扱い [#t13f1c2b] - 16進数 -- 数値の先頭には 0x を付ける - 8進数 -- 数値の先頭には 0o を付ける - 2進数 -- 数値の先頭には 0b を付ける //////////////////////////////////////////////////////////////////////////////// * 配列 [#uab8ec47] //============================================================================== ** 負の配列 index [#v25f6b3d] - 配列の index が負の値の場合、その index 値は先頭からではなく末尾の要素から数えたものを表す。 - 例 -- val[10] があるとき、 val[-1] は val[9] を表す。 val[-2] は val[8] を表す。 //============================================================================== ** スライス [#a9ba2546] - 変数配列 val[100] があるとき |~ 表記 |~意味 | |val[1:10] |配列 val の1番目以上10番目未満までの index の全ての要素 | |val[:10] |配列 val の先頭(0番目)以上10番目未満までの index の全ての要素 | |val[10:] |配列 val の10番目以降の全ての要素 | -- よって、val[:20] + val[20:] は val 全体に等しい。 //////////////////////////////////////////////////////////////////////////////// * 組み込み型 [#o0d2fbef] //============================================================================== ** bool 型 [#nce0b646] True / False //////////////////////////////////////////////////////////////////////////////// * 文字列 [#n1a95785] //============================================================================== ** 文字列への代入 [#c18d7c57] - python では文字列は不変体である為、index 指定での変更は出来ない。 -- 以下はエラーとなる: word = 'python' word[3] = 'H' # エラーになる - 文字列変数 str_val に対して、以下の関数が使用出来る: //============================================================================== ** find() / rfind() [#z02bb454] str_val.find(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - 指定した文字列の先頭を、0-origin なインデックス値として返す。 - 指定した文字列が見つからなかった場合は -1 が返る - find() が先頭から検索するのに対し、 rfind() は終端から検索する //============================================================================== ** index() / rindex() [#p5ee4afc] str_val.index(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - find() / rfind() と同じように動作する - 指定した文字列が見つからなかった場合、find() / rfind とは違い、 ValueError という例外を送出する。 //============================================================================== ** endwith() [#x0d3d539] str_val.endwith(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - str_val の終端が <検索したい文字列> であれば True (真)を返す。 //============================================================================== ** startwidth() [#eed091cb] str_val.startwidth(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - str_val の始端が <検索したい文字列> であれば True (真)を返す。 //============================================================================== ** split() / rsplit() [#y5197c75] str_val.split( [区切り文字], [分割数] ); - 区切り文字で区切って分割した文字列にする。その際、区切り文字は除去される。 - [分割数] を指定しなかった場合、始端から終端まで分割を行う。 - 分割数に関しては、 split() は先頭から、 rsplit() は終端から数える //============================================================================== ** join() [#z75da8de] //============================================================================== ** strip() [#b7486d15] //============================================================================== ** upper() [#s6b0e533] //============================================================================== ** lower() [#kec9cdc5] //============================================================================== ** ljust() [#f19bba8b] //============================================================================== ** 文字のフォーマット [#aaba3dfb] //============================================================================== ** 置換 [#x093d1a5] //////////////////////////////////////////////////////////////////////////////// * ソート [#s3c7ec0a] //============================================================================== ** sort() [#s0a18be2] //============================================================================== ** revers() [#c5eb15cc] //============================================================================== ** remove() [#y294051b] //============================================================================== ** append() [#teff97a4] //============================================================================== ** extend() [#nd216956] //============================================================================== ** pop() [#pb273c4f] //============================================================================== ** index() [#rc92fccc] //////////////////////////////////////////////////////////////////////////////// * リスト / list [#i21d889d] //============================================================================== ** リストの定義 [#l529ee3c] - リスト a を定義する a = [ 1, 3, 5, 7, 9, 11 ] # リストの定義 print a # リストの中身をプリント - リストの値を取り出す i = a[3] # 変数 i にリスト a の3番目の要素を代入 //============================================================================== ** スライス [#f30bf252] - スライスを使って、リストの複数の要素を、別のリストとして取り出す。 - 書式: src_list[<start-idx>, <end-idx>] # list src_list から、<start-idx> から<send-idx> の要素を取り出す src_list[<start-idx>:] # list_src から <start-idx> から終端までの要素を取り出す src_list[:<end-idx>] # list_src から 始端から <end-idx> までの要素を取り出す - 例 a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] b = a[2:5] # list a から index 2-5 番目の要素を list b に代入 print b 実行結果 ----------------------- [2, 3, 4] //============================================================================== ** リストの演算 [#k43a5b50] a = [ 0, 1, 2 ] b = [ 5, 6, 7 ] c = a + b print c 実行結果 ----------------------- [0, 1, 2, 5, 6, 7] - リストの終端にリストを追加する関数 a.extend( [4, 5, 6] ) //------------------------------------------------------------------------------ *** 要素の追加 [#o5573db7] - 要素を追加するときは、1個の要素でもリストとして演算する a = [0,1,2] b = a + [3] # ただの数値(3)ではエラーになるので、 [] で括る - 終端に要素を追加する関数 a.append( <追加する要素> ) //------------------------------------------------------------------------------ *** リストの掛け算 [#i088cc96] - リストに掛け算を行うと、掛けた数だけ元のリストの要素が繰り返されたリストが出来上がる a = [0,1,2] a *= 3 print a 実行結果 ----------------------- [0, 1, 2, 0, 1, 2, 0, 1, 2] //------------------------------------------------------------------------------ *** リスト要素の書き換え [#w99b76de] - 書式 list_src[index] = new_val - 例 a = [0,1,2,3,4] a[3] = 100 print a 実行結果 ----------------------- [0, 1, 2, 100, 4] //------------------------------------------------------------------------------ *** 要素の削除 [#pffcbcd9] - 書式 del list_src[index] //============================================================================== ** リスト要素の検索 [#e38123c4] //------------------------------------------------------------------------------ *** リストに存在するかどうかを調べる [#hfe81988] - 書式 <search-key> in src_list - 例 names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "František", "Antonín" ] if "Tomáš" in names: print "True" else: print "False" 実行結果 ----------------------- True //------------------------------------------------------------------------------ *** リストの何番目の index にあるかを調べる [#rba74598] - 書式 src_list.index(<search-key>) - 例 names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "František", "Antonín" ] i = names.index( "Antonín" ) print "Index of \"Antonín\" is:", i j = names.index( "Bohuslav" ) print "Index of \"Bohuslav\" is:", j 実行結果 ----------------------- Index of "Antonín" is: 5 Traceback (most recent call last): File "./list.py", line 65, in <module> i = names.index( "Bohuslav" ) ValueError: 'Bohuslav' is not in list -- "Antonín" はリスト中に存在するので index 値が返ってくるが、存在しない "Bohuslav" を検索するとこのようにエラーが返ってくる //------------------------------------------------------------------------------ *** min / max [#i721878d] - リスト要素内における最小・最大をそれぞれ検索する a = [1, 2, 3, 4, 5] amin = min( a ) amax = max( a ) print "min:", amin print "max:", amax 実行結果 ----------------------- min: 1 max: 5 - リストの要素が数値だけなら問題ないが、文字列が含まれると想定外の結果が返ることがある a = ['1', '2', '3', '4', '5', '10'] amax = max( a ) print "min:", amax 実行結果 ----------------------- max: 4 //============================================================================== ** sort [#abf2cda7] - 昇順: list_val.sort() - 降順: list_val.reverse() //////////////////////////////////////////////////////////////////////////////// * set 型 [#z7479698] //////////////////////////////////////////////////////////////////////////////// * dictionary [#eee8b4db] //////////////////////////////////////////////////////////////////////////////// * フロー制御 [#u6667b19] //============================================================================== ** if [#y6b6888c] s = "snowsdutyrytrctyrhandwerwre"; if "hand" in s: # 文字列の要素を検索 print( "hand is found!" ); - シーケンスを要求する場所にディクショナリを記述すると、ディクショナリのキーを対象に処理を行う。 if "title" in rssdic : # ディクショナリのキーとして "title" があるかどうか # 処理を記述... - ディクショナリの値に大して完全一致するものがあるかどうかを検索する if "hogehoge" in rssdic.values() # 検出時の処理を記述... //============================================================================== ** for [#x9d8bc5b] //------------------------------------------------------------------------------ *** 書式 [#r9c25e7b] for i in range(10, 21); # 処理... //------------------------------------------------------------------------------ *** range() [#e01ba2d5] - 書式 range( [開始する数値,] 終了する数値 [,ステップ] ); - 例 range( 10, 21, 2 ); # 10から20まで、2づつ増える - 条件の記述に使用出来る。 # 10 から 20 まで、2づつ増える for i in range( 10, 20, 2 ): //------------------------------------------------------------------------------ *** break [#break] - c などの break 文と同様、ループをそこで抜ける //------------------------------------------------------------------------------ *** continue [#continue] - c などの continue 文と同様、ループ処理をそこで中断し、ループ先頭から処理を行う //============================================================================== ** while [#while] - 書式 while <条件文>: ループ処理 - 例 i = 0 while i < 10: print( "[i:", i, "]" ); i += 1 - 無限ループを書くには、条件文に True と書く while True: //////////////////////////////////////////////////////////////////////////////// * class [#class] - → [[Lang/Python/Class]] //////////////////////////////////////////////////////////////////////////////// * Link [#j0dd967c] //============================================================================== ** all [#o20d94a8] - [[Python Japan User's Group>http://www.python.jp/]] - [[Python-izm>http://www.python-izm.com/]] //============================================================================== ** on MacOSX [#lc12d23d] - [[Pythonスクリプトからバイナリを作成(追記)>http://yamaqblog.tokyo/?p=13182]] //============================================================================== ** on Windows [#o564cd7a] - [[[Python] pyInstallerの遅さにがっかりしてpy2exeにしたら爆速で驚いた件>http://april.fool.jp/blogs/2014/10/python-pyinstaller%E3%81%AE%E9%81%85%E3%81%95%E3%81%AB%E3%81%8C%E3%81%A3%E3%81%8B%E3%82%8A%E3%81%97%E3%81%A6py2exe%E3%81%AB%E3%81%97%E3%81%9F%E3%82%89%E7%88%86%E9%80%9F%E3%81%A7%E9%A9%9A%E3%81%84/]]
#topicpath //////////////////////////////////////////////////////////////////////////////// * 目次 [#j87cd01d] #contents(); #ls2(Lang/Python/); //////////////////////////////////////////////////////////////////////////////// * スクリプトの先頭 [#m94fa6c5] - 1行目にインタプリタ行と、2行目にエンコード行(マルチバイト文字列を扱う場合)を書く。 -- デフォルトのバージョンの python を使う場合: #!/usr/bin/python # -*- coding: utf-8 -*- -- バージョン3固定の python を使う場合: #!/usr/bin/python3 # -*- coding: utf-8 -*- //////////////////////////////////////////////////////////////////////////////// * 関数 [#z19c1d78] - 接頭辞として def を記述する def func_hoge(): print( "aaaa\n" ); - デフォルト引数の指定 def func_hoge( name, msg = "こんにちは" ): print( name, "さん、", msg ); - 返り値 def func_hoge( name, msg = "こんにちは" ): result = 12; return result; //============================================================================== ** λ式 [#waec3d9e] - ラムダ式を定義することが出来る。書式は以下 def lambda 引数リスト: 処理 -- ラムダ式では、 ":" の後ろに改行を入れずに処理を記述することが出来る //////////////////////////////////////////////////////////////////////////////// * 値の扱い [#t13f1c2b] - 16進数 -- 数値の先頭には 0x を付ける - 8進数 -- 数値の先頭には 0o を付ける - 2進数 -- 数値の先頭には 0b を付ける //////////////////////////////////////////////////////////////////////////////// * 配列 [#uab8ec47] //============================================================================== ** 負の配列 index [#v25f6b3d] - 配列の index が負の値の場合、その index 値は先頭からではなく末尾の要素から数えたものを表す。 - 例 -- val[10] があるとき、 val[-1] は val[9] を表す。 val[-2] は val[8] を表す。 //============================================================================== ** スライス [#a9ba2546] - 変数配列 val[100] があるとき |~ 表記 |~意味 | |val[1:10] |配列 val の1番目以上10番目未満までの index の全ての要素 | |val[:10] |配列 val の先頭(0番目)以上10番目未満までの index の全ての要素 | |val[10:] |配列 val の10番目以降の全ての要素 | -- よって、val[:20] + val[20:] は val 全体に等しい。 //////////////////////////////////////////////////////////////////////////////// * 組み込み型 [#o0d2fbef] //============================================================================== ** bool 型 [#nce0b646] True / False //////////////////////////////////////////////////////////////////////////////// * 文字列 [#n1a95785] //============================================================================== ** 文字列への代入 [#c18d7c57] - python では文字列は不変体である為、index 指定での変更は出来ない。 -- 以下はエラーとなる: word = 'python' word[3] = 'H' # エラーになる - 文字列変数 str_val に対して、以下の関数が使用出来る: //============================================================================== ** find() / rfind() [#z02bb454] str_val.find(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - 指定した文字列の先頭を、0-origin なインデックス値として返す。 - 指定した文字列が見つからなかった場合は -1 が返る - find() が先頭から検索するのに対し、 rfind() は終端から検索する //============================================================================== ** index() / rindex() [#p5ee4afc] str_val.index(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - find() / rfind() と同じように動作する - 指定した文字列が見つからなかった場合、find() / rfind とは違い、 ValueError という例外を送出する。 //============================================================================== ** endwith() [#x0d3d539] str_val.endwith(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - str_val の終端が <検索したい文字列> であれば True (真)を返す。 //============================================================================== ** startwidth() [#eed091cb] str_val.startwidth(<検索したい文字列>, [開始インデックス], [終了インデックス] ); - str_val の始端が <検索したい文字列> であれば True (真)を返す。 //============================================================================== ** split() / rsplit() [#y5197c75] str_val.split( [区切り文字], [分割数] ); - 区切り文字で区切って分割した文字列にする。その際、区切り文字は除去される。 - [分割数] を指定しなかった場合、始端から終端まで分割を行う。 - 分割数に関しては、 split() は先頭から、 rsplit() は終端から数える //============================================================================== ** join() [#z75da8de] //============================================================================== ** strip() [#b7486d15] //============================================================================== ** upper() [#s6b0e533] //============================================================================== ** lower() [#kec9cdc5] //============================================================================== ** ljust() [#f19bba8b] //============================================================================== ** 文字のフォーマット [#aaba3dfb] //============================================================================== ** 置換 [#x093d1a5] //////////////////////////////////////////////////////////////////////////////// * ソート [#s3c7ec0a] //============================================================================== ** sort() [#s0a18be2] //============================================================================== ** revers() [#c5eb15cc] //============================================================================== ** remove() [#y294051b] //============================================================================== ** append() [#teff97a4] //============================================================================== ** extend() [#nd216956] //============================================================================== ** pop() [#pb273c4f] //============================================================================== ** index() [#rc92fccc] //////////////////////////////////////////////////////////////////////////////// * リスト / list [#i21d889d] //============================================================================== ** リストの定義 [#l529ee3c] - リスト a を定義する a = [ 1, 3, 5, 7, 9, 11 ] # リストの定義 print a # リストの中身をプリント - リストの値を取り出す i = a[3] # 変数 i にリスト a の3番目の要素を代入 //============================================================================== ** スライス [#f30bf252] - スライスを使って、リストの複数の要素を、別のリストとして取り出す。 - 書式: src_list[<start-idx>, <end-idx>] # list src_list から、<start-idx> から<send-idx> の要素を取り出す src_list[<start-idx>:] # list_src から <start-idx> から終端までの要素を取り出す src_list[:<end-idx>] # list_src から 始端から <end-idx> までの要素を取り出す - 例 a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] b = a[2:5] # list a から index 2-5 番目の要素を list b に代入 print b 実行結果 ----------------------- [2, 3, 4] //============================================================================== ** リストの演算 [#k43a5b50] a = [ 0, 1, 2 ] b = [ 5, 6, 7 ] c = a + b print c 実行結果 ----------------------- [0, 1, 2, 5, 6, 7] - リストの終端にリストを追加する関数 a.extend( [4, 5, 6] ) //------------------------------------------------------------------------------ *** 要素の追加 [#o5573db7] - 要素を追加するときは、1個の要素でもリストとして演算する a = [0,1,2] b = a + [3] # ただの数値(3)ではエラーになるので、 [] で括る - 終端に要素を追加する関数 a.append( <追加する要素> ) //------------------------------------------------------------------------------ *** リストの掛け算 [#i088cc96] - リストに掛け算を行うと、掛けた数だけ元のリストの要素が繰り返されたリストが出来上がる a = [0,1,2] a *= 3 print a 実行結果 ----------------------- [0, 1, 2, 0, 1, 2, 0, 1, 2] //------------------------------------------------------------------------------ *** リスト要素の書き換え [#w99b76de] - 書式 list_src[index] = new_val - 例 a = [0,1,2,3,4] a[3] = 100 print a 実行結果 ----------------------- [0, 1, 2, 100, 4] //------------------------------------------------------------------------------ *** 要素の削除 [#pffcbcd9] - 書式 del list_src[index] //============================================================================== ** リスト要素の検索 [#e38123c4] //------------------------------------------------------------------------------ *** リストに存在するかどうかを調べる [#hfe81988] - 書式 <search-key> in src_list - 例 names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "František", "Antonín" ] if "Tomáš" in names: print "True" else: print "False" 実行結果 ----------------------- True //------------------------------------------------------------------------------ *** リストの何番目の index にあるかを調べる [#rba74598] - 書式 src_list.index(<search-key>) - 例 names = ["Jan", "Zdeněk", "Víězslav", "Tomáš", "František", "Antonín" ] i = names.index( "Antonín" ) print "Index of \"Antonín\" is:", i j = names.index( "Bohuslav" ) print "Index of \"Bohuslav\" is:", j 実行結果 ----------------------- Index of "Antonín" is: 5 Traceback (most recent call last): File "./list.py", line 65, in <module> i = names.index( "Bohuslav" ) ValueError: 'Bohuslav' is not in list -- "Antonín" はリスト中に存在するので index 値が返ってくるが、存在しない "Bohuslav" を検索するとこのようにエラーが返ってくる //------------------------------------------------------------------------------ *** min / max [#i721878d] - リスト要素内における最小・最大をそれぞれ検索する a = [1, 2, 3, 4, 5] amin = min( a ) amax = max( a ) print "min:", amin print "max:", amax 実行結果 ----------------------- min: 1 max: 5 - リストの要素が数値だけなら問題ないが、文字列が含まれると想定外の結果が返ることがある a = ['1', '2', '3', '4', '5', '10'] amax = max( a ) print "min:", amax 実行結果 ----------------------- max: 4 //============================================================================== ** sort [#abf2cda7] - 昇順: list_val.sort() - 降順: list_val.reverse() //////////////////////////////////////////////////////////////////////////////// * set 型 [#z7479698] //////////////////////////////////////////////////////////////////////////////// * dictionary [#eee8b4db] //////////////////////////////////////////////////////////////////////////////// * フロー制御 [#u6667b19] //============================================================================== ** if [#y6b6888c] s = "snowsdutyrytrctyrhandwerwre"; if "hand" in s: # 文字列の要素を検索 print( "hand is found!" ); - シーケンスを要求する場所にディクショナリを記述すると、ディクショナリのキーを対象に処理を行う。 if "title" in rssdic : # ディクショナリのキーとして "title" があるかどうか # 処理を記述... - ディクショナリの値に大して完全一致するものがあるかどうかを検索する if "hogehoge" in rssdic.values() # 検出時の処理を記述... //============================================================================== ** for [#x9d8bc5b] //------------------------------------------------------------------------------ *** 書式 [#r9c25e7b] for i in range(10, 21); # 処理... //------------------------------------------------------------------------------ *** range() [#e01ba2d5] - 書式 range( [開始する数値,] 終了する数値 [,ステップ] ); - 例 range( 10, 21, 2 ); # 10から20まで、2づつ増える - 条件の記述に使用出来る。 # 10 から 20 まで、2づつ増える for i in range( 10, 20, 2 ): //------------------------------------------------------------------------------ *** break [#break] - c などの break 文と同様、ループをそこで抜ける //------------------------------------------------------------------------------ *** continue [#continue] - c などの continue 文と同様、ループ処理をそこで中断し、ループ先頭から処理を行う //============================================================================== ** while [#while] - 書式 while <条件文>: ループ処理 - 例 i = 0 while i < 10: print( "[i:", i, "]" ); i += 1 - 無限ループを書くには、条件文に True と書く while True: //////////////////////////////////////////////////////////////////////////////// * class [#class] - → [[Lang/Python/Class]] //////////////////////////////////////////////////////////////////////////////// * Link [#j0dd967c] //============================================================================== ** all [#o20d94a8] - [[Python Japan User's Group>http://www.python.jp/]] - [[Python-izm>http://www.python-izm.com/]] //============================================================================== ** on MacOSX [#lc12d23d] - [[Pythonスクリプトからバイナリを作成(追記)>http://yamaqblog.tokyo/?p=13182]] //============================================================================== ** on Windows [#o564cd7a] - [[[Python] pyInstallerの遅さにがっかりしてpy2exeにしたら爆速で驚いた件>http://april.fool.jp/blogs/2014/10/python-pyinstaller%E3%81%AE%E9%81%85%E3%81%95%E3%81%AB%E3%81%8C%E3%81%A3%E3%81%8B%E3%82%8A%E3%81%97%E3%81%A6py2exe%E3%81%AB%E3%81%97%E3%81%9F%E3%82%89%E7%88%86%E9%80%9F%E3%81%A7%E9%A9%9A%E3%81%84/]]
テキスト整形のルールを表示する