如何在多行中编写Python条件?

问题描述

下面我有一个Python条件,我需要用不同的行来编写它该怎么办?

if image_finder[0].find_all('img')[0]['src'].replace('//','https://') == 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png' or image_finder[0].find_all('img')[0]['src'].replace('//','https://') =='https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/30px-Wiktionary-logo.svg.png':
    print(x)

解决方法

我们将创建一些变量以使所有内容井然有序。

fixedLink = image_finder[0].find_all('img')[0]['src'].replace('//','https://')
option1 = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png'
option2 = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/30px-Wiktionary-logo.svg.png'

第一个选项(我的建议)

if fixedLink in (option1,option2):
    print(x)

第二个选项

if fixedLink == option1 or fixedLink == option2:
    print(x)
,

如果您这样修改代码怎么办?

img_src_list = [
    'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png','https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/30px-Wiktionary-logo.svg.png']
image_link = image_finder[0].find_all('img')[0]['src'].replace('//','https://')
if image_link in img_src_list:
    print(x)
,

可以,this StackOverflow answer向您展示所有(多种)分割线的方式。

但是在这种情况下,我会这样做:

found_image = image_finder[0].find_all('img')[0]['src'].replace('//','https://')
link_one = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png'
link_two = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/30px-Wiktionary-logo.svg.png'

if found_image == link_one or found_image == link_two:
    print(x)
,
url_one = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png'
url_two = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Wiktionary-logo.svg/30px-Wiktionary-logo.svg.png'
imagefinder = image_finder[0].find_all('img')[0]['src'].replace('//','https://')
if imagefinder == url_one or imagefinder == url_two:

 print(x)