7-ELEVEn中的“n”为啥要小写?答案匪夷所思...

简介: 7-ELEVEn中的“n”为啥要小写?答案匪夷所思...





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

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 pil
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    import pil
ModuleNotFoundError: No module named 'pil'
>>> import pyqt5
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    import pyqt5
ModuleNotFoundError: No module named 'pyqt5'
>>> import cprofile
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    import cprofile
ModuleNotFoundError: No module named 'cprofile'
>>>
>>> import os, sys, math
>>> import OS
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    import OS
ModuleNotFoundError: No module named 'OS'
>>> import Sys
Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    import Sys
ModuleNotFoundError: No module named 'Sys'
>>> import Math
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    import Math
ModuleNotFoundError: 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
<Weekday.SUNDAY: 6>
>>> 


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

比如:

>>> import re
>>> re.IGNORECASE
re.IGNORECASE
>>> re.ASCII
re.ASCII
>>> re.UNICODE
re.UNICODE
>>> re.MULTILINE
re.MULTILINE
>>> 



6.大小写

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标志


目录
相关文章
|
8月前
面试题 08.08:有重复字符串的排列组合
面试题 08.08:有重复字符串的排列组合
60 0
|
数据采集 Java 机器人
根据正则表达式截取字串符,这个办法打败99%程序员
作为一名程序员,常常会在以下情况下使用函数功能根据正则表达式截取字符串:
|
8月前
leetcode代码记录(第一个出现两次的字母
leetcode代码记录(第一个出现两次的字母
43 2
|
存储 Cloud Native Go
【刷题日记】1455. 检查单词是否为句中其他单词的前缀
【刷题日记】1455. 检查单词是否为句中其他单词的前缀
117 1
|
Cloud Native
【刷题日记】316. 去除重复字母
本次刷题日记的第 42 篇,力扣题为:316. 去除重复字母 ,中等
|
8月前
面试题 08.07:无重复字符串的排列组合
面试题 08.07:无重复字符串的排列组合
62 0
|
8月前
|
缓存
牛客网刷题总结(如何清除缓存区,字母大小写替换的两种方法,一元二次方程解的输出)
牛客网刷题总结(如何清除缓存区,字母大小写替换的两种方法,一元二次方程解的输出)
57 0
|
算法 索引
代码随想录算法训练营第九天 | LeetCode 8. 找出字符串中第一个匹配项的下标、LeetCode 459. 重复的子字符串
代码随想录算法训练营第九天 | LeetCode 8. 找出字符串中第一个匹配项的下标、LeetCode 459. 重复的子字符串
44 0
|
机器人
【Day14】LeetCode力扣(解题思路+详细注释)[面试题 01.02.判定是否互为字符重排] [62. 不同路径 ] [205. 同构字符串 ]
学习[面试题 01.02.判定是否互为字符重排] [62. 不同路径 ] [205. 同构字符串 ]。
151 0
【Day14】LeetCode力扣(解题思路+详细注释)[面试题 01.02.判定是否互为字符重排] [62. 不同路径 ] [205. 同构字符串 ]