V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Pzdmultiverse
V2EX  ›  问与答

新手学 python 3.5,遇到个逗号的问题,想知道为啥,求解啊

  •  
  •   Pzdmultiverse · 2016-03-04 21:47:24 +08:00 · 1556 次点击
    这是一个创建于 3184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    print("please enter your name",end = "")
    somename = input()
    print("hi",somename)

    这个显示结果为: hi tom

    print("please enter your name",end = "")
    somename = input(),
    print("hi",somename)

    这个显示结果为: hi ('tom',)

    这是为啥,就多了一个逗号

    7 条回复    2016-03-04 22:30:03 +08:00
    Cynic222
        1
    Cynic222  
       2016-03-04 21:59:45 +08:00
    somename = input(),
    的执行过程是:
    _tmp=input()
    someone= _tmp,
    所以 someone 是个 tuple, tuple 可以这样赋值不带括号
    Pzdmultiverse
        2
    Pzdmultiverse  
    OP
       2016-03-04 22:13:06 +08:00
    @Cynic222 好吧,为什么多出了 一个_tmp,元组的东西还有了解到。。看来是要用后面的东西才能解释的么
    Ge4Los
        3
    Ge4Los  
       2016-03-04 22:20:42 +08:00
    somename = input(),
    在这里实际就是 somename = (input(),) ,是个有一个元素的 tuple
    类似的 x= 2, # 实际上就是 x= (2,)
    msg7086
        4
    msg7086  
       2016-03-04 22:21:09 +08:00
    somename = input()
    -> somename = 'tom'
    print -> tom

    somename = input(),
    -> somename = ('tom', )
    print -> ('tom',)
    Cynic222
        5
    Cynic222  
       2016-03-04 22:27:13 +08:00
    @Pzdmultiverse 给你解释用的 标准写法就是 3L 写的
    Pzdmultiverse
        6
    Pzdmultiverse  
    OP
       2016-03-04 22:29:33 +08:00
    @Ge4Los 看来是元组的知识,多谢了
    @msg7086 多谢了
    Pzdmultiverse
        7
    Pzdmultiverse  
    OP
       2016-03-04 22:30:03 +08:00
    @Cynic222 多谢,明白
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4196 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:10 · PVG 18:10 · LAX 02:10 · JFK 05:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.