51854


スクレイピングの勉強で以下のようなコードを書きました。

[code]

    from requests_html import HTMLSession
    
    base_url = 'https://www.example.com/xxx/yyy'
    qs = 'sort=desc&page='
    
    for page_num in range(5):
        session = HTMLSession()
        resp = session.get(f'{base_url}?{qs}{page_num}')
    
        elems = resp.html.find('.product_title')
        print([i.text for i in elems])
    
[/code]

こちらの8行目で書かれている `session.get(f’{base_url}?{qs}{page_num}')`
の`'f'`がどのような働きをしているものなのか、また何と呼ばれているものなのでしょうか...？

大変初歩的な質問で恥ずかしい限りなのですが、ご教授いただきましたら幸いです。  
どうぞよろしくお願い申し上げます！


CC BY-SA 4.0
2019-01-09T23:48:14.830
51847
2019-01-10T02:10:28.257
2019-01-10T00:15:01.337
2238
27030
question
python python3 web-scraping
このfはどういう働きをしてるのでしょうか？ → session.get(f’{base_url}?{qs}{page_num}')


文字列中に変数や式を埋め込むためのもので、「フォーマット済み文字列リテラル(f-strings)」と呼ばれるものです。  
Python 3.6 から導入された機能で、`str.format()` を使うよりも短く記述することがきます。

[code]

    # 以下は同じ出力が得られます。
    
    # str.format() を使った場合
    print('{}?{}{}'.format(base_url, qs, page_num))
    # f-string を使った場合
    print(f'{base_url}?{qs}{page_num}')
    
[/code]

詳しくはリファレンスをご確認ください。  
[Python
言語リファレンス](https://docs.python.jp/3/reference/lexical_analysis.html#f-strings)


CC BY-SA 4.0
2019-01-10T02:10:28.257
51854
2019-01-10T02:10:28.257
31716
51847
answer