注意:本书已经停止印刷,请学习者转到:《Python完全自学教程》中学习,这是一本开源免费的在线读物,地址:https://github.com/qiwsir/PythonBook
本项目为《跟老齐学Python:轻松入门》一书的相关代码。此书是为初学Python的朋友而作,在各大网店有售。
Learning Python: from Beginner to Master. https://lqlab.readthedocs.io
本项目为《跟老齐学Python:轻松入门》一书的相关代码。此书是为初学Python的朋友而作,在各大网店有售。
can you give us learning sequence?
请问老师,为什么集合在第一次创建时,会将字符串元素拆分,比如
>>>a = set("123")
>>>a
>>>{'1','2','3'}
但是之后通过add方法添加进去的元素,不会再进行拆分呢?
>>>a.add("456")
>>>a
>>>{'1','2','3','456'}
可以麻烦老师解释下 if name == 'main': 这个是什么意思嘛 .
对了 为什么 用python的的 while 循环到 100000000 大约需要 17s ,
而 PHP 只要 3s ..
问
在109-113.md中大量出现了如下的情况,是笔误还是有意为之,望解答
>>> all_users
['python', 'http://', 'qiwsir', 'github', 'io', 'algorithm']
为什么不是
>>> all_users =
['python', 'http://', 'qiwsir', 'github', 'io', 'algorithm']
除了 单行的 a if b else c以外, 也有其它的操作方式. 例如 and.. or 语句.
[expression] and [on_true] or [on_false]
参考:
http://www.pythoncentral.io/one-line-if-statement-in-python-ternary-conditional-operator/
http://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator
在字符编码里法国海军的那段
“所有人注意,这是我们在永远沉寂之前最后的一声呐喊!”
的摩斯电码难道不是?
-.-. .- .-.. .-.. .. -. --./.- .-.. .-../- .... .. .../.. .../--- ..- .-. / .-.. .- ... - /-.-. .-. -.--/ -... . ..-. --- .-. ./ --- ..- .-. /. - . .-. -. .- .-../ ... .. .-.. . -. -.-. .
所以也不能全信wikipedia
这个例子说明,在实例化之后,实例变量girl传给个self。但是,提醒读者,千万不要用上面的修改了的那个方式。因为那样写使类没有独立性,这是大忌。
这个例子说明,在实例化之后,实例变量girl传给个self。但是,提醒读者,千万不要用上面的修改了的那个方式。因为那样写使类没有独立性,那个类就只能被实例化成名为girl的变量,若是想要实例化为boy就会报错,这是大忌。
这样是更直白点呀还是啰嗦呀,齐老师。
齐老师,谢谢您的这本《零基础学Python》,对于初学者很有帮助。
本人不是程序员,在日常工作中需要处理一些Excel表格数据。在“电子表格”章节中,讲述了读取单个.xlsx文件的数据方法。
困扰我的一点是,如何(批量)读取大量的.xlsx数据文件,比如读取365天每日的格式化数据中某个单元格数据至同一张表格中。我在Al Sweigart 写的《Automate the Boring Stuff with Python》 [https://automatetheboringstuff.com/chapter12/] 中也没找到。
盼回复!
应该是 Grady Booch , 而不是Grandy Booch
所谓语句,就是告诉程序要做什么事情。程序就是有各种各样的语句组成的。这条语句,又有一个名字,叫做**复制语句**。19+2*4-8/2是一个表达式,最后要计算出一个结果,这个结果就是一个对象(又遇到了对象这个术语。在某些地方的方言中,把配偶、男女朋友也称之为对象,“对象”是一个应用很广泛的术语)。=不要理解为数学中的等号,它的作用不是等于,而是完成赋值语句中“赋值”的功能。a就是变量。这样就完成了一个赋值过程。
应该是“赋值语句”而不是复制语句吧
If you translate english,that's really good for everybody.
如题
“这个其实是指向了类属性中的Spring.season,至此,我们其实还没有建立任何类属性呢。下面就建立一个类属性:“
应该是:
”这个其实是指向了类属性中的Spring.season,至此,我们其实还没有建立任何实例属性呢。下面就建立一个实例属性:“
format("python", "canglaoshi")是字符串格式化输出的方法,传入了两个字符串,它们分别对应这"I like {0} and {1}"里的那两个占位符,而且使按照顺序对应的,即第一个参数传入的"pytohn",对应着{0},第二参数传入的"canglaoshi"对应着{1}。
如题,在228.md中使用的网页上两幅图片无法正常显示,建议download到本地之后重写相关链接。但是曾经gitbook上编译出来的书籍文件显示正常,不知原因。
齐老师好:
113.md里对于
仔细观察,变量的名字lst,不是list,不能用list作为变量名字。因为list是Python的保留字。
// 在我import keyword后 'list' in keyword.kwlist 得到的是False 。而且也并没有在keyword.kwlist里看到list。所以list并不是Python的关键字。
祝好!
您好,您的教程写得很好,自己正在一步一步学习python,目前学习到使用tornado开发网站这里碰到一个问题,希望得到您的解答,谢谢。
自己对前端的东西不是很懂,下载了jQuery库后不知道如何使用,在官网下载1.11.4版本,解压后其中有很多js脚本和css文件,js脚本有jquery-ui.js
, jquery-ui.min.js
,按照您的教程中所讲,我将第二个脚本复制到我的tornado项目的statics/js/
目录下,其余部分也都是按照您的教程来做的,运行server.py
之后,使用chrome浏览器访问127.0.0.1:8000
后,发现无法交互,服务器那边提示无法打开js文件。
我核对了js脚本的目录和权限,都没有问题。
学的时候我发现我的环境中没有nested方法, 查了一下, 发现这个方法已经被移除了, 原因是nested方法存在一个问题 https://docs.python.org/2/library/contextlib.html#contextlib.nested
既然这样的话, nested方法的那一小节是否还有存在必要.
python 2中存在命名空间泄露,python 3没有,那么有没有什么办法在我使用python 2 的前提下解决命名空间泄露的问题呢
然后在那些空位天上字符串。
这里应该是"填上"
谢谢你写的这么详细,排布得这么简洁整齐。我很想打赏你!可我在国外已经没有支付宝了,所以paypal可以嘛。 :D
应该是 export PYTHONPATH = /home/qw/python:$PYTHONPATH ,然后执行 source /etc/profile 。
最后的代码段中,cd python 后使用 python 命令进入交互模式,然后引用 mypm 模块一定会成功,因为 sys.path 返回的列表中第 0 项 '' 空字符串就是指当前文件夹 (/python) 。
encoding的操作是比较简单的,请注意观察data和data_json的不同——lang的值从元组编程了列表,还有不同:
Hola! @V-KING has created a ZenHub account for the qiwsir organization. ZenHub is the leading team collaboration and project management solution built for GitHub.
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.
ZenHub adds a series of enhancements directly inside the GitHub UI:
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @V-KING.
如题,现在的大学都是教授C语入门,搞得跟很多中职一样,很难入门,入门了也很难深入学习,不像python这么浅显易懂容易入门
你好!
感谢您的入门教程。
在109.md里
`>>> a = "qiwsir,python"
a.upper() #将小写字母完全变成大写字母
'QIWSIR,PYTHON'
a #原数据对象并没有改变
'qiwsir,python'
b = a.upper()
b
'QIWSIR,PYTHON'
c = b.lower() #将所有的小写字母变成大写字母 //这一行是不是写反了。应该是大写字母变成小写字母。新学者。
c
'qiwsir,python'a
'qiwsir,python'
a.capitalize() #把字符串的第一个字母变成大写
'Qiwsir,python'
a #原数据对象没有改变
'qiwsir,python'
b = a.capitalize() #新建立了一个
b
'Qiwsir,python'`
再次感谢。
第二种定义方法,在类的前面写上这么一句:__metaclass__ == type,然后定义类的时候,就不需要在名字后面写(object)了。
这句好像不太对劲,试了下在类定义前加__metaclass__ = type
也没有效果,放在类定义里就好用了。
如果你没有修改.py文件,那么每次执行这个程序的时候,就直接运行前面已经生成的.pyc文件,这样让执行速度就大大提升了,不是每次都要从新编译。
-->句尾缺少一个“的”字
有一些不了解或者不愿意了解Python的人,总认为Python使解释型语言,每次执行程序都要从头到位一行一行解释执行,这是对Python的无知表现。如果你修改了.py文件,下次执行程序的时候,会自动从新编译。
-->此段中有几处需要修改: 1. "使"字 -->应改成“是”字;2. 从头到“位” --> 从头到“尾”;3. 对Python的无知表现 -->改成“对Python无知的表现”; 4. 会自动从新编译 --> “编译器”会自动“重新”编译
你根本不用关心.pyc文件,Python总是自动完成编译过程的。而且,它的代码因为使给机器看的,你也看不懂。不过要注意的是,不要删除它,也不用重命名。
--> 它的代码”因为使“给机器看的 -->改成 “它的代码是给机器看的”
>>> id(3)
140396202092696
>>> id(3.0)
140396281118032
>>> id(3.00)
140396281118032
>>> id(3.000)
140396281118032
>>> id(3.01)
140396281118032
>>> id(3.001)
140396281118032
>>> id(3.011)
140396281118032
为什么 3.01 3.001 3.011会是一样的值呢
python -V
Python 2.7.10
*args
参数类型为 tuple
; **kwargs
参数类型为 dict
e.g.
"Name: {0}".format('Python') => Name: Python
"Name: {uName}".format(uName = 'Python') => Name: Python
还记得这个lambda函数吗?如果忘记了,请复习函数(4)中对此的解释。
但是函数(4) 204.md 中好像没有关于lambda的内容。
class Girl(Person):
def __init__(self, name):
#Person.__init__(self, name)
super(Girl, self).__init__(name)
self.real_name = "Aoi sola"
def get_name(self):
return self.name
仅仅修改一处,将Person.__init__(self, name)
去掉,修改为super(Girl, self).__init__(name)
。实行程序后,显示的结果与以前一样。
仅仅修改一处,将Person.__init__(self, name)
修改为super(Girl, self).__init__(name)
。实行程序后,显示的结果与以前一样。
改成类似如上表述,是否更好一点呢?
有新手打开项目主页以为全是英文的便萌生三分退意!
同样图片类的文件夹也可以合进一个目录,StarterLearningPython/ 目录占的页面幅度小了,这样新手一打开项目主页就能看到项目的中文介绍了,相对来说更容易继续学下去。
由上述两个实例,已经清楚看到了继承的特点,即将父类的方法和属性全部承接到子类中;如果子类重写了父类的方法,就使用子类的该方法,父类的被遮盖。
这句 即将父类的方法和属性全部承接到子类中
, 承接是否可以用更恰当的词来替换掉呢? 承接应该是子类对父类的承接。
是否可以改成 即子类承接父类的全部方法和属性
102.md中,在《数》这一小节中,第四行:
如果输入一个比较打的数.
应该是比较大
a
[9, 7, 5, 3, 1]
b
[9, 7, 5, 3, 1]
a.reverse()
a
[1, 3, 5, 7, 9]
b
[1, 3, 5, 7, 9] #为什么这里b也会变?
Hola! @shishen10 has created a ZenHub account for the qiwsir organization. ZenHub is the leading team collaboration and project management solution built for GitHub.
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.
ZenHub adds a series of enhancements directly inside the GitHub UI:
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @shishen10.
最后使用 cairo 生成二叉树的例子中,函数 tree 定义中的 if angle > 0.72: 应该改成 if angle > 0.12: ,老师错把 0.72 看成 0.12 了。
你好~
我按照post上写的在Mac和Ubuntu上各安装了tornado,但在运行hello.py的时候,Ubuntu系统表示没有tornado这个model,Mac运行成功。我想请问一下原因…谷歌过没有结果…怎么样可以确认我的Ubuntu上确实安装好了tornado呢?我用的pip下载的。
谢谢。
敬畏耶和华是只是的开端
如果变成语言是女人
请问,怎么都打开,显示404 page could not found?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.