Pythonのお勉強~入門編1~
Pythonのお勉強~入門編1~:
これは私のPython学習の備忘録や整理などのためのものです。いわゆるゴミ記事。
興味のない人はブラウザバックかそっとタブを閉じましょう。
暇な人は間違いや勘違い等あればご指摘いただけると嬉しいです。
私は30代に突入した真面目にプログラムの勉強してこなかったしょうもないクソSEっぽい何かです。
少しの間お勉強に時間が割ける環境になったので、せっかくだから以前Udemyで購入したものを使ってちゃんとお勉強しようと思い、やってもすぐ忘れそうなので備忘録と整理も兼ねてこういうの書こうと思いました。
メモ感覚なので動画の内容を事細かに書くつもりはなく、また無駄な感想をつらつらと並べていきます。
初めてこういったことを書くので内容のクソさ加減はお察しください。
Udemyのこちら↓
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
「セクション2:Python環境の設定のやり方」を元に構築
・anaconda 5.3
・PyCharm Community edition 2018
num = 1 #int型
name = 'hogesan' #string型
is_ok = True #boolean型
等々と型の宣言しなくていい。
JavaとかC#を主に触っていたので新鮮。
基本的に型の宣言はしないらしい。
type(変数)で変数の型を確認できる。
intの変数にstringの変数を代入すると、代入された変数が代入した変数の型に変わってしまう。
気が付かずにやってしまいそうで怖い。
型変換は下のように。Javaとかとなんとなく同じ感じ。
変数定義するときに先頭の文字が数字等だとSyntaxErrorになってしまうので注意すること。
・1num、666name 等
カンマ区切りで文字列を連結させる、区切り文字と終末文字の設定なんかもできる。
^^で煽っていくスタイル。
見覚えがないのだけメモ。
mathっていう数学関数ライブラリがある。log2とか出せるらしい。懐かしいけど数学のお勉強はサボりすぎて覚えていない。
エスケープとかも大体一緒。
\nとか改行の出力の仕方が何か独特な感じがする。
「"""\
{改行して文字列入れる}\
"""」
みたいなのとか。\で最初と終わりを指定してあげないと"""の行が空白行として出力される。
word[0]とかで変数内の文字列の位置を指定できる。
word[0:2]といった形で範囲の指定もできる。
範囲外を指定したら当然エラー。
word[0] = s というようにインデックスを指定して直接書き換えることはできない。
startswithは指定した引数の値が文字列の開始位置か判定する。
findは指定した引数の値が文字列に含まれている場合、文字列内の開始位置が返ってくる。rfindというfindの末尾からバージョンもあるみたい。
他にも置換とか色々あるけど使い始めれば嫌でも覚えるだろうから全部は書かない。
C#とかと同じようにformatを使う。
似てるようでちょっと違うから楽しい。
続きは近いうちに。
これは私のPython学習の備忘録や整理などのためのものです。いわゆるゴミ記事。
興味のない人はブラウザバックかそっとタブを閉じましょう。
暇な人は間違いや勘違い等あればご指摘いただけると嬉しいです。
はじめに
私は30代に突入した真面目にプログラムの勉強してこなかったしょうもないクソSEっぽい何かです。少しの間お勉強に時間が割ける環境になったので、せっかくだから以前Udemyで購入したものを使ってちゃんとお勉強しようと思い、やってもすぐ忘れそうなので備忘録と整理も兼ねてこういうの書こうと思いました。
メモ感覚なので動画の内容を事細かに書くつもりはなく、また無駄な感想をつらつらと並べていきます。
学習資料
Udemyのこちら↓Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
環境構築
「セクション2:Python環境の設定のやり方」を元に構築・anaconda 5.3
・PyCharm Community edition 2018
Pythonの基本
変数宣言
num = 1 #int型name = 'hogesan' #string型
is_ok = True #boolean型
等々と型の宣言しなくていい。
JavaとかC#を主に触っていたので新鮮。
基本的に型の宣言はしないらしい。
type(変数)で変数の型を確認できる。
実行
num = 1 # int型 name = 'hogesan' # string型 is_ok = True # boolean型 print(num, type(num)) print(name, type(name)) print(is_ok, type(is_ok))
結果
1 <class 'int'> hogesan <class 'str'> True <class 'bool'>
intの変数にstringの変数を代入すると、代入された変数が代入した変数の型に変わってしまう。
気が付かずにやってしまいそうで怖い。
実行
num = 1 #int型 name = 'hogesan' #string型 print(num, type(num)) print(name, type(name)) num = name # stringにかわっちゃう print(num, type(num)) print(name, type(name))
結果
1 <class 'int'> hogesan <class 'str'> hogesan <class 'str'> hogesan <class 'str'>
型変換は下のように。Javaとかとなんとなく同じ感じ。
実行
num = 1 #int型 name = '100000' #string型 print(num, type(num)) print(name, type(name)) new_num = int(name) # intに変換 print(new_num, type(new_num))
結果
1 <class 'int'> 100000 <class 'str'> 100000 <class 'int'>
・1num、666name 等
printの出力
カンマ区切りで文字列を連結させる、区切り文字と終末文字の設定なんかもできる。実行
print('Hello','World!!!!!', end='^^\n') print('Hello','World', sep='!!!!', end='^^\n')
結果
Hello World!!!!!^^ Hello!!!!World^^
数値(計算系)
見覚えがないのだけメモ。mathっていう数学関数ライブラリがある。log2とか出せるらしい。懐かしいけど数学のお勉強はサボりすぎて覚えていない。
ターミナルで実行
>>> 17 / 3 5.666666666666667 >>> 17 // 3 # 小数点以下切り捨て 5 >>> 2 ** 10 # べき乗 1024 >>> pie = 3.141592 >>> round(pie, 2) # 小数点以下切り捨てる桁を指定できる 3.14
文字列
エスケープとかも大体一緒。\nとか改行の出力の仕方が何か独特な感じがする。
「"""\
{改行して文字列入れる}\
"""」
みたいなのとか。\で最初と終わりを指定してあげないと"""の行が空白行として出力される。
実行
print('C:\noge\noge2\nogeman') # \nで改行される print(r'C:\noge\noge2\nogeman') # rを付けるとそのまま出力される print('#######') print("""\ hoge1 hoge2 hoge3\ """) print('#######')
結果
C: oge oge2 ogeman C:\noge\noge2\nogeman ####### hoge1 hoge2 hoge3 #######
文字のインデックス、スライス
word[0]とかで変数内の文字列の位置を指定できる。word[0:2]といった形で範囲の指定もできる。
範囲外を指定したら当然エラー。
word[0] = s というようにインデックスを指定して直接書き換えることはできない。
実行
word = 'hogedojo' print(word[0]) print(word[3]) print(word[-1]) print(word[0:2]) print(word[:3]) print(word[4:]) word = word[0] + 'a' + word[2:] print(word[:])
結果
h e o ho hog dojo hagedojo
文字列のメソッド
startswithは指定した引数の値が文字列の開始位置か判定する。findは指定した引数の値が文字列に含まれている場合、文字列内の開始位置が返ってくる。rfindというfindの末尾からバージョンもあるみたい。
他にも置換とか色々あるけど使い始めれば嫌でも覚えるだろうから全部は書かない。
実行
s = 'My name is Shining Hage' is_start = s.startswith('My') print(is_start) print(s.find('is')) print(s.rfind('Shining'))
結果
True 8 11
文字の代入
C#とかと同じようにformatを使う。似てるようでちょっと違うから楽しい。
ターミナルで実行
>>> 'a is {}'.format('hoge') 'a is hoge' >>> 'a is {} {} {}'.format('hoge','hage','hige') 'a is hoge hage hige' >>> 'a is {0} {1} {2}'.format('hoge','hage','hige') 'a is hoge hage hige' >>> 'a is {2} {0} {1}'.format('hoge','hage','hige') 'a is hige hoge hage' >>> 'a is {name} {head} {face}'.format(name='hoge', head='hage', face='hige') 'a is hoge hage hige' >>> 'a is {face} {name} {head}'.format(name='hoge', head='hage', face='hige') 'a is hige hoge hage'
コメント
コメントを投稿