【要約】現役シリコンバレーエンジニアが教えるPython3 環境設定〜Pythonの基本
terminalでpython
と打つと対話モードになる。
pycharmのインタープリターの指定で/Users/at/opt/anaconda3/bin/python
を指定する。
おそらくexport -p | grep CONDA_PYTHON_EXE
で表示されるpathを指定すればよい。
文字列操作とかprintの使い方。
# typeを入れてやると変数の型を表示できてデバッグしやすい str = "aaa" print(str, type(str)) aaa <class 'str'> # endは最後に挿入する文字(デフォルトだとなにもない) # sepは文字列の間に挿入する文字(デフォルトだとスペース) print("aaa", "iiiii", end="\n", sep=",,,,") print("aaa", "iiiii") aaa,,,,iiiii aaa iiiii
# シングルクォートを文字と認識させる。 print('私は\'神\'だ') print("私は'神'だ") # 文字列で改行, print('I am God.\nI don\'t God') # 改行コードを認識させない。 # パスを書くのに便利 print(r'I am God.\nI don\'t God') # 1行数の文字列を複数行で書く a = 'aaaaaaaaaaaaaaaa' \ 'bbbbbbbbbbbbb' print(a) t = ('cccccccccccc' 'ddddddddddd') print(t) 私は'神'だ 私は'神'だ I am God. I don't God I am God.\nI don\'t God aaaaaaaaaaaaaaaabbbbbbbbbbbbb ccccccccccccddddddddddd
int型の変数に文字列を入れることができる。 型もintからstrに変わる。
一応型を明記することはできる
hatena: str = "aaaa"
5 ** 5
で5の5乗を計算できる。
import math
で便利な数学の関数が使える。
help(math)
でmathの使い方を表示できる。
対話で実行すると良さげ
スライス 範囲指定で文字を抽出 他の言語と同じだけど、たまに範囲指定間違えそう
# スライス # 一文字目のインデックス:最後のインデックス+1 word = "javascript" # 一文字から文字抽出 print(word[0:2]) print(word[:2]) # 二番目の文字から3文字抽出 print(word[1:2]) # はじめの一文字以外を取得 print(word[1:]) ja ja a avascript
stringにはメソッドがあり、find
,'rfind'で文字の検索ができ、インデックスを返す。
また、文字の一部を大文字にしたりする便利なメソッドがある。
文字の代入
word = 'a {} {} {} {}'.format('i', 'u', 'e', 'o') print(word) a i u e o # 代入する文字に対して、インデックスの最大値が大きいときにエラーが出る word = 'a {4} {3} {2} {1}'.format('i', 'u', 'e', 'o') print(word) Traceback (most recent call last): File "/Users/at/PycharmProjects/python_udemy/lesson.py", line 4, in <module> word = 'a {4} {3} {2} {1}'.format('i', 'u', 'e', 'o') IndexError: tuple index out of range # 代入する順番を指定できる。あんまり使わなそう。 word = 'a {3} {3} {2} {1}'.format('i', 'u', 'e', 'o') print(word) a o o e u word = 'a {one} {two}'.format(one='i', two='u') print(word) a i u
新しい文字代入(f-strings) なんかformatより処理が速いらしい。 文字の代入がしやすいのでこっちを使っていきたい。
x = '閣' y = '寺' print(f'金 {x} {y}') 金 閣 寺