5
回答
关于python 语法
注册华为云得mate10,2.9折抢先购!>>>   
raw_input("alex:::::") 老师为什么我在pycharm 里面输入raw_会报错呢? 是因为2.7 和3.6版本的差别吗? 我输入input("0.0") 就没有报错
举报
BJ-CHEN
发帖于1年前 5回/263阅
共有5个答案 最后回答: 1年前

这就是不兼容的代价


--- 共有 3 条评论 ---
BJ-CHEN回复 @yak : 刚刚看了DarkAngel朋友的回复,看了官网的介绍。自己没有英文的功底,借助百度翻译慢慢 的拼接 理解大概意思。 现在看到了你的回复,方便很多,等下在继续对比一下官网的。理解再深刻一些。早点休息哦。晚安。谢谢呢 1年前 回复
yak回复 @BJ-CHEN : http://www.zhihu.com/question/19698598 1年前 回复
BJ-CHEN你好,请问下能解释一下嘛? 我刚入门。谢谢你的耐心解答。早点休息哦 1年前 回复
这不是PyCharm的问题,是Python 3和Python2不兼容的体现。简单来说,Python 3不再有raw_input这个内置函数。这种东西看官方文档来得最快,https://docs.python.org/3/whatsnew/3.0.html#builtins,第二条PEP 3111可以看到,raw_input在Python 3中被重命名为了input。
--- 共有 2 条评论 ---
BJ-CHEN那就是说2.7版本的raw_input = 目前3.6的 input? 1年前 回复
BJ-CHEN谢谢分享呢,刚刚我重新安装一个2.7的版本 发现就可以运行了,早点休息哦。我是今天才接触这门语言。谢谢开源社区的朋友耐心的解答。 1年前 回复
1. print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')
2. 在Python 3中,没有旧式类,只有新式类,也就是说不用再像这样 class Foobar(object): pass 显式地子类化object
3. 原来1/2(两个整数相除)结果是0,现在是0.5了
4. 新的字符串格式化方法format取代%
5. raw_input重命名为input
6. xrange重命名为range
7. !=取代 < >
8. long重命名为int
9. except Exception, e变成except (Exception) as e
10. exec变成函数


开源社区朋友说知乎上
我用的最多的就是print
--- 共有 2 条评论 ---
钛元素回复 @BJ-CHEN : 第一行是为了让python在linux下找到python,第二行是编码问题的明确指示,没有也一般不会影响什么,建议有,尤其是编码问题,win下经常遇到 1年前 回复
BJ-CHEN#!/usr/bin/env python # -*- coding:utf-8 -*- 你好这两段在mac上还需要添加吗? 好像我在2.7 和3.6 没有添加都没有报错,她是不是被当成注释了呢? 1年前 回复
顶部