L*******e 发帖数: 114 | 1 Here is the code snippet from C++ programing language book. What confused me
is the statement "px = py2", the book says an error "we do not know that
py2 is a Z2 or how Y2::x is used in an non-Z2 object", but g++ did not
complain.
Did I misread something?
class X{
public:
int a;
};
class Y1 : public X {};
class Y2 : protected X {};
class Y3 : private X {};
class Z2 : public Y2 {
void f(Y1* py1, Y2* py2, Y3* py3)
{
X *px = py1; // X is a public base of Y1
py1->a = 7 |
|
j***i 发帖数: 1278 | 2 I think px=py2 should be fine, py2 is the argument Y2 obj's ptr
do not related to Z2 , and px->a=7 is also fine, since the access check is
static, px is X* so a is accessible
me |
|
l********a 发帖数: 1154 | 3 py3k和py2.x的文档来看就一个差别:
py3k:
"...If csvfile is a file object, it should be opened with newline=''.[1]"
[1] If newline='' is not specified, newlines embedded inside quoted fields
will not be interpreted correctly, and on platforms that use \r\n linendings
on write an extra \r will be added. It should always be safe to specify
newline='', since the csv module does its own (universal) newline handling.
py2.x:
"...If csvfile is a file object, it must be opened with the ‘b’ flag on
platforms where tha... 阅读全帖 |
|
t***o 发帖数: 1353 | 4 我安装的时候, 出了这连个错误, 不知道咋弄
ERROR: 'xslt-config' is not recognized as an internal or external command,
operable program or batch file.
error: Setup script exited with error: Unable to find vcvarsall.bat
我是先装了
setuptools-0.6c11.win32-py2.6.exe
然后装了这个。 可是还是不行。。。
libxml2-python-2.7.4.win32-py2.6.exe
哪位帮个忙? 谢谢了。 |
|
s*******e 发帖数: 664 | 5 ☆─────────────────────────────────────☆
zlike (最终幻想) 于 (Fri Sep 11 05:30:54 2009, 美东) 提到:
The C++ Programming language, 3rd edition, pp.851那个例子,没搞明白。
网上的errata有这个部分,但是跟我书上是一样的
http://www.research.att.com/~bs/3rd_printing15.html
大致是这样子:
class X
{
public:
int a;
};
class Y1:public X{};
class Y2:protected X {};
class Y3:private X {};
class Z2:public Y2{void f(Y1*, Y2*, Y3*);};
void Z2::f(Y1* py1, Y2* py2, Y3* py3)
{
X* px = py1;
py1->a = 7;
px=this;
a=7;
px=py2; //这两行 |
|
V*********r 发帖数: 666 | 6
原先有2to3的转化程序,但py3进一步进化后,现在已经被证明那个程序不可行了
现在唯一可靠的方法是只维持一套同时兼容2/3的codebase
不过这是对于library writer的要求
普通用户不用太担心,一直用py2.7就行了
前几天官方已经宣布把py2的“死亡日期”推迟到2020年,到时候说不定还可能继续后推 |
|
x*****z 发帖数: 787 | 7 为什么我认为 Python 3 没有前途?
py2 发展了很多年,现在是一个非常成熟的状态。基本上所有的特性都已经被开拓得差
不多了。所以现在 PyPI 上提供的各种库和及命令行工具,IPython、Requests、
gevent、django 等等……基本可以认为是现有 python 语法和虚拟机下能做到的巅峰
水准。
换句话说,在不引入新的语法工具的情况下,python universe 的战斗力不会再有实质
性的提升了。(语法工具的例子比如jit、goroutine、static analysis 等等)
py3 并没有引入新的生产工具,反而人为地破坏了现有生态圈的兼容性,导致了长达数
年的时间 python universe 没有任何的进步。而在 python 停滞的这段时间,很多其
他编程语言也在进化,都没有闲着。
作为胶水语言,python 或许曾经拥有了地球上最强的生产力,但这个地位能维持多久
呢?Ruby 或者 Scala 甚至 CoffeeScript 都具备和 Python 实现一样编程接口的能力
,同时又有自己独到的工具可以实现 Python 做... 阅读全帖 |
|
c********1 发帖数: 5269 | 8 再来一次
python2.7 get-pip.py
这样py3 py2.7都有了
这个,我业余的py coder,也知道 |
|
z****e 发帖数: 54598 | 9
随着时间的演变,不会越来越成熟,只会让烂坑越来越大
最后无法收拾,要么干脆直接壮士断腕,比如py2->3
但是这样搞的结果就是客户直接流失掉
要么不这么搞,那些烂features就会发酵,发臭,最后变成屎坑
维护的猴子躲之不及,后台java比较多,不是因为同期没有人用其他语言
是其他语言都挂了,就java的还能活下来,所以很多大系统都是java
同期很多语言的产品都被时间淘汰了,做后端,最重要的是稳
经得起时间检验的产品才是好产品,这就跟酒一样 |
|
z****e 发帖数: 54598 | 10
随着时间的演变,不会越来越成熟,只会让烂坑越来越大
最后无法收拾,要么干脆直接壮士断腕,比如py2->3
但是这样搞的结果就是客户直接流失掉
要么不这么搞,那些烂features就会发酵,发臭,最后变成屎坑
维护的猴子躲之不及,后台java比较多,不是因为同期没有人用其他语言
是其他语言都挂了,就java的还能活下来,所以很多大系统都是java
同期很多语言的产品都被时间淘汰了,做后端,最重要的是稳
经得起时间检验的产品才是好产品,这就跟酒一样 |
|
m********5 发帖数: 17667 | 11 py3 solved this problem. U can use automated tool for py2=>py3 converting. U
can also import from "future". Honestly, the mess of encoding is caused by
windows encoding protocols, you will never have this mess in Linux and Mac.
C/C++ will have the similar nightmare in Win unless u handle all the unicode
carefully as u did in python. |
|
c*****m 发帖数: 1160 | 12
用 python3,程序修改成:
import os
import sys
import urllib
import http.cookiejar
import codecs
url= 'http://www.mitbbs.com/article/Programming/31238113_0.html'
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
# add a fake UA
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (compatible; MSIE 9.0;
Windows NT 6.1; Trident/5.0)')]
urllib.request.install_opener(opener)
request = urllib.request.Request(url)
response = opener.open(request).read()
... 阅读全帖 |
|
G**Y 发帖数: 33224 | 13 我不理解的是,难道没用工具能自动把py2转成py3吗?这也太奇葩了。 |
|
m********5 发帖数: 17667 | 14 哪年的老皇历了
2转3基本没问题
麻烦的是3转2,但是谁JB蛋痛去3转2啊,个别脑子有屎的公司确有人这么干
搞不定,然后嘛python3是屎,说真的,我没搞懂这里面的逻辑
现在主要是没有动力进行转换,2.7会支持到2020年... 到时候还有没有人用python都
成问题...
新轮子如果主要用python3,那么就会慢慢转,主要看py3有没有什么关键的feature必须
要用。我们dev反正已经转Py3了,产品还在用py2。 |
|
P**H 发帖数: 1897 | 15 不是说2不好啊。但是alpha的东西没法商用。今年能不能稳定都不好说。还得其他的库
都要配套上。要多久还很难说。
py3不是也号称革命性。结果一般都还在用py2. |
|
x****u 发帖数: 44466 | 16 py3队友太坑没办法
比如mxnex网站说本库在py3上有很多坑,建议用py2,你怎么办?
opencv官网根本不支持py3,得找第三方 |
|
d********g 发帖数: 10550 | 17 py2/py3还分包的类型。比如Supervisor到现在是没搞定py3,但是不影响,因为大多数
人就是把它当一个工具使用,和systemd、launchd一个性质,很独立。需要搞定py3的
一般是dev用的,现在基本都没有坑了 |
|
|
q**j 发帖数: 10612 | 19 I tried to install rpy-1.0.3-R-2.7.0-win32-py2.5.exe
but after i do: from rpy import *
i got the following error message. I have searched online w/o luck. Anybody
here can help me? Thanks a lot.
in control panel, I have already set the path to R2.7.0. do i have to do
this somehow in python? thanks alot.
p.s. I have also tried:
import sys
sys.path.append('C:/Program Files/R/R-2.7.0/bin') and
sys.path.append("C:\\Program Files\\R\\R-2.7.0\\bin")
still got the same error message.
>>> from rpy impor |
|
g**d 发帖数: 723 | 20 没用过啊, 怎么用法? 我装了py25-simplejson的. 不过我的机器上有两个版本的
python,
opkg 找不到simplejson, 用ipkg装了python和py2[56]-simplejson. |
|