#抽象 #判断函数是否可调用 callable(x) #python2 hasattr(func.__call__) #python3 #文档字符串 def square(x): '这是......' return x*x print square.__doc__ help(square) n=['a','b','c'] def change(n): n[0]='v' print n #['v','b','c'] #列表会被改变,此类情况需要在函数内创建新的变量并赋值 #将值放在列表中,可被改变 def inc(x):x[0]=x[0]+1 a=[10] inc(a) print a #11 #以上为未知参数,以下为关键字参数 def hello(greeting='a',name='b'): #可以提供默认值 print '%s,%s!'%(greeting,name) hello(greeting='hello',name='world') #这样就不影响传参顺序了 #位置参数和关键字参数可以混用 def hello(name,greeting='Hello',punctuatuin='!'): #需要将位置参数放前边 print '%s,%s%s'%(greeting,name,punctuatuin) #收集参数 def print_params(title,*params): #*的意思是收集其他位置参数,只能收集位置参数 print title print params #元组 def print_params(**params): #**只收集关键字参数 print params #字典 #星号只在定义不定数目的参数或分割字典或序列时才有用 #变量 #变量存储在不可见字典中,vars()函数可以返回这个字典 x=1 scope=vars() scope['x'] #1 scope['x']+=1 x #2 #此类不可见字典叫做命名空间或作用域 globals() #返回全局变量的字典 locals() #获取局部变量的字典 #函数内声明全局变量 x=10 def change_global(): global x x+=x change_global() x #11 #python函数可以嵌套 def foo(): def bar(): print 'Hello' bar() #map map(str,range(10)) #将序列中的值全部传给函数,等价于[str[i] for i in range(10)] #filter def func(x): return x.isalnum() seq=["foo","x41","?!","***"] filter(func,seq) #可以基于一个返回值为Boolean的函数过滤 ['foo','x41'] #等价于 [x for x in seq if x.isalnum()] #等价于 filter(lambda x:x.isalnum(),seq) #lambda表达式 #reduce:处理序列中前两个值,其结果与第三个值再进行处理,依次,直到整个序列处理完 numbers=[1,2,3,4,5,6,7,8,9] reduce(lambda x,y:x+y,numbers) #返回序列中所有值的和 45 #等价于 sum(numbers) #求和函数 apply(func[,args[,kwqrgs]]) #调用函数,可提供参数 #更加抽象 #创建类 __metaclass__=type #确定使用新式类,3.0以后不存在旧式类 class persion: def setName(self,name): #self用于访问本身,必须作为第一个参数 self.name=name def getName(self): return self.name def greet(self): print "Hello,World!I`m %s."%self.name #私有变量或方法 #在构造类时,变量或方法的名字前加上双下划线,即可成为私有方法或变量,实际上名字加上双下划线后,名字会被转换成(_类名__名字)的形式,通过此名字可以访问 #python没有真正的私有化支持 class a: def __aa(): print "a" def b(self): self.__a() a.__aa() #报错 a._a__aa #依然可以访问,不建议这么做 #带有单下划线的名字,不会被import *引入 #继承,a继承b class a(b): def init(): pass #调查继承 issubclass(a,b) #检查a是否b的子类 a.__bases__ #检查a的父类 o.__class__ #检查对象是哪个类的实例 isinstance(o,a) #查看一个对象是否一个类的实例 types(s) #查看对象是哪个类的实例,限新式类 #多重继承 class c(a,b): #注意顺序,前边类中的方法会覆盖后边的,例如:若a中有k(),b中有k(),则c中的k()为a中的k() pass random.choice(seq) #从非空序列随机选择元素 hasattr(object,name) getattr(object,name[,default]) setattr(object,name,value) #异常 #自定义异常 class someException(Exception):pass raise Exception try: ... except someException: if ...: ... else: raise except (otherException,bException,cException): ... except (dException,eException),e: #python 3.0为except (dException,eException) as e print e except: print 'some wrong!' else: print 'well' finally: print 'finally' #引入自己的模块 import sys sys.path.append('c:/python') import hello #在模块中定义测试代码 #hello.py def hello(): ... def test(): ... if __name__=='___main__': #当作为模块时,__name__为hello test() """ 引入自己的模块方法 1、将模块文件放在python库目录,推荐C:\\python\\lib\\site-package(pprint.pprint(sys.path)) 2、告诉编译器去哪里找,bashshell如下: 环境变量:.bashrc中加入 export PYTHONPATH=$PYTHONPATH:~python """ #包(__init__.py文件用于定义包) #ds/__init__.py PI=3.14 #将模块文件放入ds目录即可 import ds print ds.PI #引入 import drawing #仅可以使用__init__.py中的内容,不可以使用模块 import drawing.colors #可以通过全名drawing.colors使用模块 from drawing import shapes #可以通过短名shapes使用模块 """ 探究模块(以copy为例) 1、>>>>import copy >>>>[n for n in dir(copy) if not n.startswith('_')] #说明copy模块一共有这些变量 2、>>>>copy.__all__ ["a","b","c","d"] #说明copy模块定义的公有接口是这些 #from copy import * 只能导入copy.__all__中的变量 #若要使用其他变量,需要显性实现。如导入copy模块m后,使用m.a(),或者from m import a #__all__指定需要的变量、函数、类,如果不设置__all__,import * 会把所有变量导入进去 3、>>>>help(copy.copy) #若有__doc__变量 >>>>print copy.copy.doc 4、http://python.org/doc 5、源码(文件位置) >>>>print copy.__file__ """ #模块 #sys
相关推荐
python刚刚开始学习还没入门的,可以试一下这些例题,掌握快速
python入门笔记(强烈推荐) Jupyter版
python 基础笔记,适合初学者,可以跟着笔记操作一下,基础就可以理解了
python入门笔记 (python,numpy,scipy,matplotlib,pandas等)
python入门笔记(强烈推荐)
python入门笔记,简单好用
很不多的python入门教程
turtle库函数使用,python基本语法介绍 Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。 在本资源中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。
中文 Python 笔记 笔记内容使用 `ipython notebook` 来展示。 目录: - [01. **Python 工具**](01-python-tools) - [02. **Python 基础**](02-python-essentials) - [03. **Numpy**](03-numpy) - [04. **Scipy**](04...
本文将介绍Python入门的一些基础知识和技巧。 我们需要安装Python。Python有两个主要版本:Python 2和Python 3。目前,Python 3是主流版本,因此我们建议使用Python 3。Python可以在官方网站上下载并安装。 接下来,...
疯狂Python讲义笔记 Python基础入门到进阶知识手册 对照原文的笔记 由浅入深 循序渐进的笔记
1、Python环境搭建 1.1 Python简介 1.2 Python语言的发展历程 1.3 Python语言的主要特点 1.4 Python应用场景 1.5 Python环境搭建 1.6 第一个Python程序 1.7 集成开发工具 2、Python语法基础 2.1 Python中的...
自己学python入门时的比较,有点多,所以以图片的形式记录,方便日后快速回忆 主要是一些基础的python入门,各个库,函数的功能用法,还有一些实例代码
Python3萌新入门笔记,萌新入门笔记是一系列真实的自学笔记。当然,它也是比较全面的入门教程,共包括 54 篇笔记。仍第一篇笔记开始,大半年的时间我都是在自学和组织教程内容。我觉得有必要,把我自己把我自己的学习...
此笔记是基于blibli上的《花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)》p1-p133的内容总结,详细总结了各p知识点,还有实操代码,可以边看课,边实操,都是正确代码格式,便于...
挺不错的挺不错的
Python入门教程完整版(懂中文就能学会)资料、笔记。这个是和Python入门教程完整版(懂中文就能学会)视频配套的资料。