资讯专栏INFORMATION COLUMN

7-ELEVEn中的“n”为啥要小写?❤️答案匪夷所思!最后却引出一个...

wangshijun / 3311人阅读

【引言】Seven-Eleven(logo:7-ELEVEn),已成为便利商店的国际共通语言,商店遍布美国、日本、中国大陆、新加坡、台湾、马来西亚、菲律宾、瑞典、墨西哥、巴拿马、挪威、加拿大、澳大利亚、印尼等国家和地区。目前全球店面数目逾三万家,为全球最大连锁店体系。

那么,问题来了:你有没有关注到这样一个问题: 

7-ELEVEn 中的“n” 到底为什么要小写?

网上有很多版本的解说,以下两个版本较为“靠谱”:

1. 来自老板妻子的意见

该公司的logo更换过几次,1969年以后才是小写n。因为创始人汤普森(Joe C. Thompson)的妻子觉得全部大写有点过于生硬、呆板,于是建议把 N 换成小写会柔和、友善一些。这个说法目前是全网最令人信服的,看来“成功男人背后都有伟大女人”的叙事方式永不过时。女性视角往往是大直男所想不到的,后来证明这一调整确实比原来的顺眼多了!

2.出于“风水”的原因

这个原因听着挺扯,不过,似乎更得东方人的心。大写的 N 的最后一笔向上,意味着“(财富)出去”,即“散财”;而小写 n 的最后一笔向下,形成一个包围,意味着“聚财”。这套风水说辞,应该不是美国人想出来的,可能是某个东亚网友 YY 的吧,后来普遍得到整个东亚地区人们的认同。

答案有点匪夷所思吧!至于究竟为什么?反正我不确定,我只是想借此小故事引出一个大家都熟知的重要结论:

python是字母大小写敏感的编程语言! 

具体有哪些需要关注的大小写问题:

1. 变量名

比如,Number 和 number 就是两个不同的变量:

>>> Number = 1>>> number = 2>>> Number, number(1, 2)>>> # 变量名可以包括字母、数字、下划线,不能以数字开头,且最好也不能用关键字。

2. 导入模块名

导入模块时,名称大部分是“全小写”的,但也有好多异类,比如PIL, PyQt5, cProfile等:

>>> import PIL, PyQt5, cProfile>>> import pilTraceback (most recent call last):  File "", line 1, in     import pilModuleNotFoundError: No module named "pil">>> import pyqt5Traceback (most recent call last):  File "", line 1, in     import pyqt5ModuleNotFoundError: No module named "pyqt5">>> import cprofileTraceback (most recent call last):  File "", line 1, in     import cprofileModuleNotFoundError: No module named "cprofile">>>>>> import os, sys, math>>> import OSTraceback (most recent call last):  File "", line 1, in     import OSModuleNotFoundError: No module named "OS">>> import SysTraceback (most recent call last):  File "", line 1, in     import SysModuleNotFoundError: No module named "Sys">>> import MathTraceback (most recent call last):  File "", line 1, in     import MathModuleNotFoundError: No module named "Math">>> 

3. 关键字大部分全小写

大部分关键字都是“全小写”的,"False", "None", "True" 除外:

>>> import keyword>>> keyword.kwlist["False", "None", "True", "and", "as", "assert", "async", "await", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield"]

4. 枚举类变量一般全大写

比如:

>>> from enum import Enum>>> class Weekday(Enum):    MONDAY = 0    TUESDAY = 1    WEDNESDAY = 2    THURSDAY = 3    FRIDAY = 4    SATURDAY = 5    SUNDAY = 6    >>> Weekday.SUNDAY>>> 

5.模块中定义的常量多数为全大写

比如:

>>> import re>>> re.IGNORECASEre.IGNORECASE>>> re.ASCIIre.ASCII>>> re.UNICODEre.UNICODE>>> re.MULTILINEre.MULTILINE>>> 

6. 爬虫实例中的大小写

在分析爬取出的网页中,“变量名以及变量读取出的变量值”,还有“网址中的参数”等等都要考虑到字母大小写问题,以下是我在练习做爬虫中碰到的实例,一不小心出过好多bug:

content = ("Java","JavaScript","Python")
website = "http://*****.com/xxxx?xx="
userName = ["Abc","HannYang",......]

for c in content:
    rank,ids = [],[]
    url = website + c.lower()
    res = requests.get(url,headers={"User-Agent":agent}).json()
    if res["code"] == 200: 
        data = res["data"]["RankListItem"]
        rank += [r for r in data]
    count = 0
    for i,r in enumerate(rank):
        if r["userName"].lower() in userName:
            ......

【解决方法】

1. 在字串比较时双方都用upper()或lower()
2. 或者用正则表达式时使用IGNORECASE标志

Python中还有哪些大小写问题需要特别关注的?有想到的请留言补充—— 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122022.html

相关文章

  • 仅剩20分钟挑战一道Pandas面试题⚠生死竞速⚠简直刺激⚡

    ?作者主页:小小明-代码实体 ?简介:Python领域优质创作者?、数据处理专家✌ ?欢迎点赞 ? 收藏 ⭐留言 ? 昨晚有位童鞋一道Pandas面试题完全没有思路不会做,通过黄同学找到我时,这道题目离提交答案仅剩20分钟,不过我最终还是在15分钟之内解决了问题,这整个过程简直是刺激~??? 原题题目如下: 最终要求输出: 要在20分钟内解决这个问题,对于我来说最困难的第一步就是理解...

    objc94 评论0 收藏0
  • 学懂C语言文件操作读这篇就够了(万字总结,附习题)❤

    目录 ​​​ 一,写在前面 二,为什么使用文件 1,原因 2,数据流 3,缓冲区(Buffer) 4,C语言中带缓冲区的文件处理 5,文件类型 6,文件存取方式 三,什么是文件 1,程序文件  2,数据文件 3,文件名 四,文件的打开和关闭  1,文件指针  2,文件的打开和关闭 五,文件的顺序读写 1,功能 2,代码实现 六,文件的随机读写 1,fseek 2,ftell 3,rewind 七,...

    Genng 评论0 收藏0
  • 阿里 Java 手册系列教程:为啥强制子类、父类变量名不同?

    摘要:所以看出和两个的对应指针数一样,一个为一个为这就引出了变量的知识点,如手工画的图二为啥强制子类父类变量名不同阿里巴巴手册是这样写的强制避免在子父类的成员变量之间或者不同代码块的局部变量之间采用完全相同的命名方式,那会导致代码可读性降低。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 目录 父子...

    XGBCCC 评论0 收藏0

发表评论

0条评论

wangshijun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<