为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
老是说格式有问题
def __sub__(self, r):
return Rational(self.p * r.q - self.q * r.p, self.q * r.q)
def __mul__(self, r):
return Rational(self.p*r.p,self.q*r.q)
def __div__(self, r):
return Rational(self.p*r.q,self.q*r.p)

已采纳回答 / lymo
这是实现字符(串)切片/截取的,a[x:y:z]表示截取a中x至y-1个字符(串),步长为z,可以只存在任何一个上面的例子是s的第一个字符大写,第二个到最后小写
Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。
如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。
以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。
当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:
class Person(object):
def __init__(self, name, gender, birth):
self.name = name
self.gender = gender
self.birth = birth
__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
如何让每个实例拥有各自不同的属性?由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值,
sorted() 是高阶函数,接受一个比较函数。
sorted(L1, lambda p1, p2: cmp(p1.name, p2.name))
__str__ 这不是PHP的__toString()嘛 。呵呵

已采纳回答 / DanDanHang
s1.lower()s2.lower()并没有改变s1和s2自身的值,因为s1.lower()的结果是产生了一个新的字符串,所以必须要用另个一变量u来记录lower后的结果。

最赞回答 / DanDanHang
s[1:]输入的是还是一个list,但list确不具有lower()这个方法。
在cmd中直接输入
pip install web.py即可安装第三方模块
python模块管理工具
推荐pip,内置到python2.7.9
另外时easy_install
from __future__ import unicode_literals

s = 'am I an unicode?'
print isinstance(s, unicode)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消