上一篇因为不会调用类对象里面的函数,所以就把类的构建给删了,直接把里面的函数放出来了,哈哈,今天终于知道了,
调用的时候直接实例化对象即可(啊这不就是以前使用Java对象的思想吗)
特以此记录
self代表类的实例,而非类
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
self只有在类的方法中才会有,独立的函数或方法是不必带有self的。
self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
self指的是类实例对象本身(注意:不是类本身)。
class Person: def _init_(self,name): self.name=name def sayhello(self): print 'My name is:',self.name p=Person('Bill') print p
继承与重写和Java差不多:
例子:
每日一题:
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。
最简单的方法:
c++版——直接排序版
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
vector<int> tmp;
if(k==0||k>input.size())
return tmp;
sort(input.begin(),input.end());
return vector<int>({input.begin(),input.begin()+k});
}
};
vector指声明可变数组,里面还有好多的声明方式,比较方便呐
python版:
# -*- coding:utf-8 -*-
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
# write code here
tinput.sort()
print(tinput[0:k])
if __name__ == "__main__":
t=[8,5,7,4,5,6]
x= Solution()
x.GetLeastNumbers_Solution(t,3)
print(x)