トップ  > Python  > 文法・基本  > 記事

No.5366 python 関数

* 先頭を大文字: str.capitalize()
* 三項演算子: x = "OK" if n == 10 else "NG"

## PHP関数との対応 ##
* sprintf: '{} {}'.format('hoge', 'fuga') #"hoge fuga"
*  in_array: if item in array:
* trim('/'): str.strip('/')
* explode(','): str.split(',')
* implode(','): ','.join(['aaa', 'bbb', 'ccc'])
* array_shift: myList.pop(0)
* str_replace: str.replace(search, replaced)
* 改行削除:
re.sub('[\r\n]+$', '', line)

### isset()
### list の index
try:
    var = hoge[2]
except IndexError:
    var = 'default'

### dict の key
var = hoge.get('fuga', 'default')


### ユニークな文字列
````
import uuid
secure_unique_id = uuid.uuid4().hex
````
### ver_dump
````
#!!!!!!!!!!!!!!!!
from pprint import pprint
pprint()
#!!!!!!!!!!!!!!!!
````

## 文字列 ##
### ヒアドキュメント
string = '''
This is a pen.
I'm from Tokyo.
'''.strip()

## 配列操作 ##
### 配列結合
list = ["A", "B", "C"]
list.extend(["D", "E"])
print list      # ["A", "B", "C", "D", "E"]

### dict 配列で特定のキーの値の要素を探す
```
>>> dicts = [
     { "name": "Tom", "age": 10 },
     { "name": "Mark", "age": 5 },
     { "name": "Pam", "age": 7 },
     { "name": "Dick", "age": 12 }
 ]
>>> next(item for item in dicts if item["name"] == "Pam")
{'age': 7, 'name': 'Pam'}
```

## ファイル ##
### 読み取り(全部)
with open(file_path) as f:
    s = f.read()

### 1行ずつ読み取り
with open(path) as f:
    for s_line in f:
        print(s_line)

### 確認
- あるかどうか?: os.path.exists(path)
- 最終更新日時: os.stat(file_path).st_mtime

## json ##
* 文字列->dict
    + json.loads(json_str)
* dict->文字列
    + json.dumps(ver_dict)

## デコレータ ##
### 基本形
~~~
# デコレータ定義
# 関数の実行前後に出力
def test(func):
    def new_func(*args, **kwargs):
        print('start')
        result = func(*args, **kwargs)
        print('end')
        return result
    return new_func

# 関数定義
@test
def square(a):
    print(a * a)

# 実行
square(3)

## loop ##
### 配列を index 付きで
for index, item in enumerate(list):

### dict
for k, v in d.items():
    print(k, v)


## datetime ##
- 文字列からdt
-- dt = datetime.strptime('20190318', '%Y%m%d')
- timestamp から datetime
-- localtime: datetime.fromtimestamp(timestamp)

### あと何日
```
dt_str = '20190318'
dt = datetime.strptime(dt_str, '%Y%m%d')
today = datetime.now()
days = (dt-today).days
```

### 時間比較
````
base_dt = datetime.fromtimestamp(timestamp)
expire = timedelta(minutes=30)
expire_dt = base_dt + expire
now_dt = datetime.now()
if expire_dt > now_dt:
````

## コマンドライン ##
### 引数
$ python3 sys_argv_test.py a 100
sys.argv         :  ['sys_argv_test.py', 'a', '100']
type(sys.argv)   :  <class 'list'>
len(sys.argv)    :  3

sys.argv[0]      :  sys_argv_test.py
sys.argv[1]      :  a
sys.argv[2]      :  100 
更新:2019/03/22 22:18 カテゴリ: Python  > 文法・基本 ▲トップ

Python

フロントエンド開発

Linux

web開発

svn・git

ソース・開発

プロマネ

HTML・CSS

JavaScript

Alexa

Docker

webサービス運用

webサービス

Mac

サーバ管理

MySQL

PHP

FuelPHP

ツール, ライブラリ

ビジネス

テンプレート

プレゼン

マネタイズ

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0