python学习中级,纯代码学习版
来源:互联网 发布:linux创建属性目录命令 编辑:程序博客网 时间:2024/06/06 01:24
参考自
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431928972981094a382e5584413fa040b46d46cce48e000
#map(fun,list)print (list(map(str,list(range(10)))))print (map(str,range(10)))#将字符串数字转化为intfrom functools import reducedef str2int(s): def fn(x, y): return x * 10 + y def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] return reduce(fn, list(map(char2num, s)))print (str2int('123')) #map(fun,l1) 对list中所有数执行函数fundef change(s):return s[0].upper()+s[1:].lower()l=['lias','DDVd','FAs']l2=map(change,l)print (list(l2))#reduce(fun,l2) 对list中所有数累计执行fun,fun(x,y)def prod(l):def pro(x,y):return x*yreturn reduce(pro,l)print (prod([1,2,3])) #累乘 6#filter(fun,list) fun函数返回true则保留,否则舍弃def is_odd(n):return n%2==0print (list(filter(is_odd,[1,2,3,4,5,6]))) #2,4,6print (sorted(['A','c','B','d'],key=str.lower))print (sorted(['A','c','B','d'],key=str.lower,reverse=True))L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]def cmp(x):return x[0]print (sorted(L,key=cmp))#匿名函数 lambda x :x*x == def x: return x*xprint (list(map(lambda x:x*x,[1,2,3])))#类,,在函数或变量前加__就是定义为内部变量class Stu(object):def __init__(self,name,score):self.name=name#self.__name=name 内部变量外部不能通过stu.__name访问self.score=scoredef print_sco(self):print ('%s: %d'% (self.name,self.score))def get_grade(self):if (self.score>=90):return 'a'else:return 'not a'stu = Stu('baiy',90)stu.print_sco()stu.__name='xxx' #可以通过此方式为类添加成员变量,但是不是内部的print (stu.__name)class Animal(object):def run(self):print ('ani is run')class Dog(Animal):passclass Cat(Animal):def run(self):print ('cat is run')dog=Dog()dog.run() #ani is runcat=Cat()cat.run() #cat is run 覆盖type(123)==type(456) #Truetype(123)==int #Truetype('abc')==type('123') #Truetype('abc')==str #Truetype('abc')==type(123) #Falsedir('ABC') #获取对象的所有属性和方法len('ABC') == 'ABC'.__len__() #所有想调用len(),只需要在类中实现__len__()函数#类属性和实例属性class Student(object):name = 'Student's = Student() # 创建实例sprint(s.name) # 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性#Studentprint(Student.name) # 打印类的name属性Students.name = 'Michael' # 给实例绑定name属性print(s.name) # 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性#Michaelprint(Student.name) # 但是类属性并未消失,用Student.name仍然可以访问#Studentdel s.name # 如果删除实例的name属性print(s.name) # 再次调用s.name,由于实例的name属性没有找到,类的name属性就显示出来了#Student#给实例绑定一个方法 只对此实例有效s = Student()def set_age(self,age):self.age=agefrom types import MethodTypes.set_age=MethodType(set_age,s)s.set_age(25)print (s.age)#给类绑定一个方法,对所有实例有效def set_sex(self,sex):self.sex=sexStudent.set_sex=set_sexs.set_sex('man')print(s.sex)#__slots__现在成员变量class People(object):__slots__=('name','age')peop=People() #peop.x=100 错误#property用法class Student(object): @property def birth(self): return self._birth @birth.setter def birth(self, value): self._birth = value @property def age(self): return 2015 - self._birth#多重继承class Runnable(object):passclass Dog(Animal,Runnable):passf=open('text.txt','r')ss=f.readline()s=f.readlines()print(ss)print (s)print (s[3]=='\n')f.close()f = open('test.txt', 'w')f.write('Hello, world!')f.close()#stringiofrom io import StringIOf = StringIO()f.write('hello')f.write(' ')f.write('world!')print(f.getvalue())#hello world!
0 0
- python学习中级,纯代码学习版
- python学习初级,纯代码学习版
- jquery 中级学习
- JAVA学习:异常中级
- Python学习 代码
- Python学习 代码 二
- Python学习 代码 三
- Python学习 代码 四
- 通过代码学习Python
- python学习笔记--代码
- java学习阶段小结(中级)
- ACM算法学习状态-中级
- Docker中级学习-Docker Registry
- Swift中级学习 数组Array
- 【IOS学习】视图切换,纯代码实现 UITabBarController,NavigationController
- IOS开发使用纯代码开发界面_学习笔记
- iOS学习3_UI开发之纯代码/storyboard/xib
- 纯代码自动布局添加约束学习(-)
- POJ 3678 Katu Puzzle (2-SAT)
- UiAutomator笔记之UiDevice API(二)
- js/jq引入函数等
- 0-1 knapsack problem
- include的使用
- python学习中级,纯代码学习版
- 个性化配置putty并保存配置
- Linux总结(三):归档、压缩
- BeanNameAware接口和BeanFactoryAware接口
- Objective-C中的属性特性
- 输入输出
- EditText 的光标选择
- 119. Pascal's Triangle II
- python多线程