#抽象 #判断函数是否可调用 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入门笔记”旨在帮助初学者快速掌握Python的基础知识,通过实践操作来加深理解。 首先,Python的语法特点是它的一大亮点。Python代码强调可读性,遵循“缩进决定代码块”的原则,避免了大括号带来的视觉...
"Python入门笔记(强烈推荐).7z" 提供的是一份详细的Python学习资源,特别适合初学者。Jupyter版意味着这份笔记是用Jupyter Notebook编写的,这是一种交互式计算环境,允许用户结合代码、文本、数学公式和可视化来...
本资源“python入门笔记”是针对初学者精心编写的教程,旨在帮助你快速掌握Python3的基础知识和核心概念。 1. **Python3基础知识**: Python3是Python的最新版本,它引入了许多改进,例如统一的 print 函数、新的...
这份“python入门笔记(强烈推荐).zip”压缩包显然包含了帮助初学者掌握Python编程的基础资料。下面,我们将深入探讨Python编程的一些核心概念和重要知识点。 1. **变量与数据类型**:Python支持多种数据类型,...
【第三章 Python基础】和【第四章 Python对象】详细阐述了Python的基础语法,包括变量、数据类型、操作符、控制结构等。Python中的基础数据类型如数字(【第五章】)、序列(如字符串、列表和元组,【第六章】)、...
python入门笔记,简单好用
【Python入门笔记】这篇资源是针对初学者设计的,旨在帮助你快速掌握Python的基础知识,特别是使用turtle库进行图形绘制。Python是一种高级编程语言,它与Perl、C和Java等语言有共通之处,但也有自己的特点。让我们...
### Python入门笔记知识点详解 #### 一、热身 - 为什么选择Python? Python是一种流行的、通用的编程语言,因其简洁的语法和强大的功能而受到广大程序员的喜爱。在选择Python作为学习对象时,以下几点特性非常突出...
Python是一种高级编程语言,以其简洁明了的语法和强大...这个"python入门笔记(强烈推荐)"涵盖了Python的基础到进阶知识,结合实际例子和练习,将帮助你扎实地掌握Python编程技能,为后续深入学习和开发打下坚实基础。
**Python入门笔记——李金详解** 本篇笔记是基于作者李金的《python入门笔记-李金(强烈推荐)》的解析,旨在为初学者提供一份详尽的Python语言学习指南。这份笔记采用Jupyter Notebook的形式,使得学习过程更加...
中文 Python 笔记 笔记内容使用 `ipython notebook` 来展示。 目录: - [01. **Python 工具**](01-python-tools) - [02. **Python 基础**](02-python-essentials) - [03. **Numpy**](03-numpy) - [04. **Scipy**](04...
这份笔记为Python初学者提供了全面而详细的入门教程,涵盖了从安装环境到编写简单程序,再到掌握核心语法的整个过程。通过学习这些内容,读者可以快速建立起对Python编程的理解,并为进一步深入学习和实践打下坚实...
【Python入门笔记】这篇笔记是基于B站上的一套Python全栈开发教程的前133页内容编写的,旨在帮助初学者系统地学习Python编程。笔记内容包括实操代码、重点知识截图以及详细的注释,确保学习者能够清晰理解和实践每一...
在"Python入门笔记.docx"中,我们看到了关于Python基础知识的详细介绍,包括程序语法元素、数据类型、字符串和列表的使用、输入输出以及函数的应用。 首先,我们要了解Python中的基本语法。在Python中,单一等号 (=...
《黑马Python机器学习入门笔记》是一份针对初学者编写的指南,旨在帮助读者掌握Python语言在机器学习领域的基本应用。这份笔记将带你踏入这个充满无限可能的领域,通过Python这门易学且强大的编程语言,开启你的数据...
Python3萌新入门笔记,萌新入门笔记是一系列真实的自学笔记。当然,它也是比较全面的入门教程,共包括 54 篇笔记。仍第一篇笔记开始,大半年的时间我都是在自学和组织教程内容。我觉得有必要,把我自己把我自己的学习...
根据提供的文件信息,以下知识点涵盖了《Python3萌新入门笔记》中提到的各个学习阶段和内容的详细描述。 一、Python入门准备 入门Python之前,学习者需要准备一些基础资源和工具。文档中提到的参考资料包括了经典的...