今日からプログラミングの学習内容を記録していきます
学習内容を記録しようと思った理由は以下の3つです。
1. アウトプットを意識することによって日々のプログラミング学習を効率よくするため
2. 過去に学習した内容を自分で見返せるようにするため
3. 日毎に記録することによって学習を継続的に行うため
学習内容
- Qittaの記事の書き方
- Pythonの基礎
- Pythonによる簡単なスクレイピング
Qittaの記事の書き方
GitHubである程度経験のあるMarkdown記法だったので復習程度に記法を確認しました。
今回は最初の記事なので、できるだけ多くの記法を活用して記述しました。
Pythonの基礎
Pythonの初心者でありながら、いきなりスクレイピングを始めるのはどうかと思いました。が、大学で二年間プログラミングを学んでいて変数がどうの、関数がどうの、分岐が・・・などと一から勉強すると煩わしくて続かなかったので、スクレイピングと機械学習をおかずにPythonの文法も同時に学習していくことにしました。以下、非常に基礎的な内容ですが今日学習したことをまとめます。
コメントアウト
経験のあるC,Java、Swiftとは異なるコメントアウトの記述法でした。
- 一行のコメントアウト
#
から始まる一行はコメントアウトされる。(#
の後はスペースを一つ空けてからコメントを記述する)
記述例
# 一行のコメントアウト
- 複数行のコメントアウト
"""
(ダブルクォーテーション3つ)または'''
(シングルクォーテーション3つ)で囲まれた部分は全てコメントアウトされる。
記述例
"""
ダブルクォーテーションによる
複数行のコメントアウト
"""
'''
シングルクォーテーションによる
複数行のコメントアウト
'''
ループ処理
Javaの拡張for文と似た記述法
記述例
num = [0, 1, 2, 3]
# ループ文
for a in num:
print(a)
実行結果
0
1
2
3
lambda式
Pythonにおいて、関数名は変数名と同様に扱われることを利用している。小さな関数を定義する際に便利。
記述例
bai_print = lambda x: print(x*2)
bai(2)
bai(10)
実行結果
4
20
Pythonによるスクレイピング
urllib
を用いたスクレイピングを学習しました。
本日学んだurllibライブラリーにある関数とその使用例を以下にまとめました。
import urllib.request as req
import urllib.parse as par
url = "https://uta.pw/shodou/img/28/214.png"
savename = "test.png"
# urlretrive(ファイルのURL,保存先のファイル名)
# Web上のファイルをダウンロードする関数
# https://uta.pw/shodou/img/28/214.pngにあるpngファイルがtest.pngという名前で保存される
req.urlretrive(url, savename)
# urlopen(ファイルのURL)
# URLリソースを開く関数、read()によってデータを読み込む
# Web上のファイルがPythonメモリ上に保存される
mem = req.urlopen(url).read()
# urlencode(URLへと変換するパラメータ)
# パラメータからクエリを作成してリクエスト用のURLを作成する
# https://api.aoikujira.com/zip/xml/get.php?fmt=xml&zn=1500042というURLが生成される
API = "https://api.aoikujira.com/zip/xml/get.php"
values = {
'fmt' = 'xml'
'zn' = '1500042'
}
params = par.urlencode(values)
url = API + "?" + params
まとめ
今回は初めて記事を書くということで様々な記法を活用して記述したが、そこそこ時間がかかってしまい時間がもったいないので明日以降は学習記録にとどまる範囲で簡潔に書いていこうと思う。