-
s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
查看全部 -
class Person(object): def __init__(self, name, gender, birth, **kw): # 使用 **kwargs 输入dict,然后用setattr(self,k,v)设置任意属性; self.name = name self.gender = gender self.birth = birth for k, v in kw.items(): setattr(self, k, v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') xiaohong = Person('Xiao Hong', 'Female', '1992-11-12') # 实例化xiaohong是没有职业,看看是否出错,以及可否打印出job print("输出对象的信息:") print("姓名:"+xiaoming.name, "性别:"+xiaoming.gender, "出生日期:"+xiaoming.birth, "职业:"+xiaoming.job) # xiaohong在实例化是没有job属性,这里不能输出job; print("姓名:"+xiaohong.name, "性别:"+xiaohong.gender, "出生日期:"+xiaohong.birth) # , "职业:"+xiaohong.job) """ File "F:/python学习/gj_03_面向对象编程基础/gj_03_Python中初始化实例属性.py", line 57, in <module> print("姓名:"+xiaohong.name, "性别:"+xiaohong.gender, "出生日期:"+xiaohong.birth, "职业:"+xiaohong.job) AttributeError: 'Person' object has no attribute 'job' """ #python的对象可以添加任意的成员,但是在其他对象上不会有,添加的成员仅限具体的对象,与类没有关系了。
查看全部 -
class Person(object):
pass
p1 = Person()
p1.name = 'Bart'
p2 = Person()
p2.name = 'Adam'
p3 = Person()
p3.name = 'Lisa'
L1 = [p1, p2, p3]
L2 = sorted(L1, key = lambda x: x.name)
print L2[0].name
print L2[1].name
print L2[2].name
# Python类的属性尽然可以在后期任意添加,真是动态语言的特点啊,在其他面向对象的编程语言里,好像是不敢想象的。
查看全部 -
迷糊,用到的时候再回来看查看全部
-
默认参数也正代表一种情况,其他情况就代表不了了,但是偏函数可以根据用户需要,定义任意多个。
查看全部 -
动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。
查看全部 -
a, b
=
b, a
+
b
# 这种赋值,先计算等值 右边 那么 b=1 a+b=1
# 再赋值给a和b,那么 a=1, b=1
a
=
b
# 此时 b=1, 那么a=1
b
=
a
+
b
# 那么 b=2
查看全部 -
关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数
查看全部 -
返回函数不要引用任何循环变量,或者后续会发生变化的变量。
查看全部 -
类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的
查看全部 -
通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。
查看全部 -
当实例属性和类属性重名时,实例属性优先级高,
查看全部 -
iteritems()用于遍历字典kw
setattr(object, name, value)
相当于self.k=v
查看全部 -
__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
相应地,创建实例时,就必须要提供除 self 以外的参数:
xiaoming = Person('Xiao Ming', 'Male', '1991-1-1') xiaohong = Person('Xiao Hong', 'Female', '1992-2-2')
查看全部 -
super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。
查看全部
举报