#author("2018-10-17T12:01:13+00:00","","")
* Python - オブジェクト指向スクリプト言語 [#ibc1c66a]
* Python [#rd7d27b1]
#setlinebreak(on);

#contents
-- 関連
--- [[Pythonメモ]]
--- [[Pythonのインストール]]
--- [[Python のパッケージング]]
--- [[PythonでAWS DynamoDBのCRUDを書いてみる]]
--- [[Pythonのstrptimeが遅い]]
--- [[Pythonのチューニング]]
--- [[Pythonのパフォーマンス確認]]
--- [[FizzBuzzで頭の体操]]
--- [[pytest入門]]
#html(<div style="padding-left: 20px;">)
[[Python覚え書き]] に統合
#html(</div>)


** 文字の利用 [#g5d33724]
#mycode2(){{
# 文字変数の宣言
strval="string"
strval='string'

# 文字列の連結
strval = 'str' + 'ring'   # string
strval = 'str' 'ring'     # string

# 文字列の反復
strval  = "string"
strval2 = strval*2     # stringstring

# 文字列の添字表記
strval1[0]      #'T'
strval1[0:2]    #'TE'
}}

** 数値の利用 [#i1f8efe6]
#mycode2(){{

# 数値変数の宣言
intval=100

# 整数の除算は floor (実数の解を越えない最大の整数) を返す:
intval = 7/3    ※2
}}


** リストの利用 [#x4c8a947]
#mycode2(){{
# リスト変数の定義
a = ['str1', "str2", 100, 1234]
a[0]   #str1
a[1]   #str2

# リスト内容の置換
a = ['str1', "str2", 100, 1234]
a[0:2] = [111, 222]  # a = [111,222,100,123]

# リスト数の取得
a = ['str1', "str2", 100, 1234]
len(a)   #4
}}

** if文 [#h42edcb6]
#mycode2(){{
if x < 0:
    x = 0
    print 'Negative changed to zero'
elif x == 0:
    print 'Zero'
elif x == 1:
    print 'Single'
else:
    print 'More'
}}


** for文 [#c69ffd4a]
#mycode2(){{
# いくつかの文字列の長さを測る:
 list1 = ['cat', 'window', 'defenestrate']
 for x in list1:
     print x, len(x)
}}
 
** pass 文 [#q172fff8]
#mycode2(){{
pass  # なにもしない
}}

** 関数の利用 [#v92b2fd1]
#mycode2(){{
# 戻り値のない関数
def hello(x,y):
    print "hello world!"
 
# 戻り値のある関数
def add(x,y):
    return x + y
}}

** モジュールの利用 [#me2895d5]

echotest.py
#mycode2(){{
def echo1():
    print "test1!"

def echo2():
    print "test2!"
}}

&br;

#mycode2(){{
# モジュールのインポート (拡張子を覗いたファイル名を指定)
import echotest

# モジュールで定義されたメソッドの利用
echotest.echo1()

# ローカルな名前に代入して利用
method1 = echotest.echo1
method1()
}}

** パッケージについて [#u26fe08a]
#TODO( __init__.py など)


** モジュール検索について [#i0a22cb3]
・モジュールはカレントディレクトリ、環境変数 PYTHONPATH の順に探される。
・実際には、モジュールは変数 sys.path で指定されたディレクトリのリストから検索される。

** パッケージの利用 [#h133d1e1]
パッケージ (package) は、Python のモジュール名前空間を 
``ドット付きモジュール名 (dotted module names)'' を使って構造化する手段。

** モジュール検索PATHの追加 [#w1b02748]

#mycode2(){{
import sys,os
sys.path.append('ディレクトリ')
}}

** ファイル一覧 [#q322dc9e]
#mycode2(){{
# coding: utf-8

import sys,os
import glob
import re

path = os.path.abspath(os.path.dirname(__file__))

# globで検索
files = glob.glob(path + "/*.md")
for file in files:
    print(file)

# os.listdirで検索
pattern = r".*\.md$"
files = os.listdir(path)
for file in files:
    match = re.match(pattern , file)
    if match:
        print file
}}


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS