Python变量变异最佳实践

2024-09-29 23:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我将一个变量传递到一个函数中,我希望确保它的格式适合我的最终用途,同时考虑到几种可能不需要的格式。你知道吗

例如,我只想存储url地址的小写表示,而不存储http://orhttps://。你知道吗

def standardize(url):
    # Lowercase
    temp_url = url
    url = temp_url.lower()

    # Remove 'http://'
    if 'http://' in url:
        temp_url = url
        url = temp_url.replace('http://', '')

    if 'https://' in url:
        temp_url = url
        url = temp_url.replace('https://', '')

    return url

我只是在侵犯新手的头衔,想知道是否有更多的python方法来实现这种类型的过程?你知道吗

最终目标是url的转换,例如https://myurl.com/RANDoM-->;myurl.com/random

url字符串格式化的应用并不特别重要。你知道吗


Tags: 函数inhttpscomhttpurlif地址
2条回答

一个简单的re.sub就能做到:

import re
def standardize(url):
     return re.sub("^https?://",'',url.lower())

# with 'https'
print(standardize('https://myurl.com/RANDoM')) # prints 'myurl.com/random'
# with 'http'
print(standardize('http://myurl.com/RANDoM')) # prints 'myurl.com/random'
# both works
def standardize(url):
    return url.lower().replace("https://","").replace("http://","")

这很简单,但链子有点难看。你知道吗

如果要导入regex,还可以执行以下操作:

import re

def standardize(url):
    return re.sub("^https?://", "", url.lower()) 

相关问题 更多 >

    热门问题