Python

下位ページ

Content


PyCharmの scanning files to index が異常に長い問題

Anacondaで環境を作って読み込ませると早いらしい
https://domestic-us-investor.com/2018/09/07/scanning-kaiketu/
  1. Anacondaで環境をつくる
    • 作った環境に切り替える際、下に Loading ... でパスが表示されるので、確認する
  2. PyCharmで、環境を指定する
    • Setting -> Project Interpreter で Interpreter を選択
      • 選択する中になければ、歯車マークを触って Add する
      • Existing Enviroment で加える。

Jupyter / IPython

Markdownのセルに数式を書く

行丸々なら $$で囲む。部分なら $ で囲む。中にTexで書く。
https://qiita.com/namoshika/items/63db972bfd1030f8264a

Lecture -29 データタイプ


Lecture 30 コメント

"""
コメント
"""
# コメント
変数の上にコメントを書くのが暗黙のルール

制御フローとコード構造


Lecture 67 import 文と as

モジュールを作る
__int__.py
import ディレクトリ.ファイル名
from ディレクトリ import ファイル名
別のモジュールから関数を呼び出す場合は モジュール名.関数 のほうがわかりやすい
from ディレクトリ import ファイル名 as ニックネーム

Lecture 68 絶対パスと相対パスのimport


Lecture 69 アスタリスクでのインポート、__init__.py

まとめてインポートする場合には、__init__.py 内に定義にしておく

Lecture 70 ImportError の使い所

import に try, except を使う。バージョン違いで使い分けとか。

Lecture 71 setup.pyでパッケージ化


Lecture 72 組み込み関数

import builtins を自動でやっている
例:sorted

map関数

特にiterable系の処理につかう
入力でよく出てくる
x,y,z = map(int, input().split())

input().split()
で取得・要素分解したリストの各要素 x を、int(x)に通している。
https://www.lifewithpython.com/2013/12/python-higher-order-functions-in-standard-library.html

標準ライブラリ


基本機能を使う場合は os
python 関連のシステムをいじる(参照する)場合は sys

算術関連なら math

math : 算術関連

定数


Lecture 74 サードパーティのライブラリ

pypi.python.org
pip install termcolor
# termcolor は出力の文字色を変えたりできる。

pip と conda の衝突

管理方法が違うため、モジュールの導入に pip と conda を両方用いると衝突することがあるらしい。
htmlリスエストを出すところで、dll を衝突させて動かなくなったのは、この影響なのか?

状況

conda で環境を切っていたが、conda に無いモジュールを使いたかったので、pip で入れた。
→ 外部アクセスができなくなった(request が失敗。) request モジュール自体は標準なので、モジュール自体がなにか、というわけではないとおもうが・・・

インストールをしたが、パスが通らない

確認方法

import sys
print(sys.path)
 
で、見に行っているパスが表示される

>$ pip show (package)
 
で、pip でインストール情報が表示されるので、インストール先を調べる

PyCharmでは実行できるが、単独ではパスが通っていない

  1. Setting> > で設定(歯車)をクリック
  2. フォルダツリーのマークをクリックして、確認する


パスを通す

その場でパスを追加する
sys.path にパスが格納されているので、これに追加してやる。(その後にimportをするなら、これでできる)
sys.path.append(path)

すでに通っているパスから、リンクを張っておく
すでに通っているフォルダに、(適当な名前).pth というファイルを作成し、この中にパスを書く



Lecture 75 importする際の記述の仕方(マナー)


Lecture 76 __name__ と __main__
if __name__ = "__main__" の意味がわかる


Lecture 90-100 ファイル操作


Lecture 101 subprocessでコマンドを扱う

import subprocess
subprocess.run(['dir'])

Lecture 102 datetime

from datetime import datetime
日付と時間を両方扱うなら datetime.datetime

from datetime import datetime
 
print(datetime.now())
 
出力
2018-08-13 22:49:53.990395


フォーマッティング

datetime.isoformat(sep='T', timespec='auto')
日付と時刻を ISO 8601 形式(YYYY-MM-DDTHH:MM:SS.mmmmmm) か、 microsecond が 0 の場合には YYYY-MM-DDTHH:MM:SS で表した文字列を返します。
https://docs.python.jp/3/library/datetime.html#datetime.datetime.isoformat

datetime.strftime(format)
    • %Y:西暦4桁
    • %y:西暦下2桁
    • %m:0パディングして10進数で表記
    • %B:月名(January)
    • %d:月中の日にちを、0パディングして10進数で表記
    • %j:年中の日にちを、0パディングして10進数で表記
    • %H:0埋めした10進数で表記した時 (24時間表記)
    • %I:0埋めした10進数で表記した時 (12時間表記)
    • %M:0埋めした10進数で表記した分
    • %S:0埋めした10進数で表記した秒

from datetime import datetime
 
now = datetime.now()
print(now.strftime("%Y/%m/%d %H:%M:%S"))
 


Lecture 112 スタイルルール

変数

  • (1文字のような)短い変数名は、長いコーディングの最中には使わない
    • その変数が何を表しているのか、わからなくなる

改行

  • セミコロンでの改行は使わない
    • 他の言語のような書き方はしない
    • そもそも、なくても改行できるのがpython
  • 長過ぎる1行は見づらい
    • 長い場合は バックスラッシュ で改行することができる。

ソート

リストのソート

list.sort
keyは関数オブジェクト

辞書型を要素に持つ、リストのソート


関数

引数は値渡しか、参照渡しか → 参照渡し


引数にアスタリスクをつける

可変長の引数。はじめからタプルで渡すのとは違うらしい。
def func(*arg)
  print(arg)
 
def funcB(arg_list)
   print(arg_list)
 

システムコマンドを実行する

os.system('cls') # コンソールのクリア

JSONデータを扱う

import json
 
obj = json.loads(json_data)  # JSONデータをデコードする
new_json = json.damps(obj)  # JSONデータにエンコードする

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2020年05月24日 12:26