Python入门笔记(26):Python执行环境
一、python特定的执行环境
在当前脚本继续进行
创建和管理子进程
执行外部命令或程序
执行需要输入的命令
通过网络来调用命令
执行命令来创建需要处理的输出
动态生成Python语句
导入Python模块
这些都可通过内建或外部模块实现。
二、可调用对象
调用方式:可调用对象后紧跟操作符()
4种可调用对象:函数、方法、类以及一些类的实例
1、函数
分三种不同类型的函数对象
(1)、内建函数(BIF),是Built-in Function缩写,由C/C++编写导入Python编辑器的。
(2)、用户自定义函数(UDF)
(3)、lambda函数
2、方法
有类方法,还有内建方法(BIM),如列表,字典的。
class C(object):
def foo(self):pass #定义类方法,或叫用户自定义方法(UDM)
c=C()
print type(C) #类的类别,输出<type 'type'>
print type(c) #实例的类别,输出<class '__main__.C'>
print type(C.foo) #非绑定方法的类别,输出<type 'instancemethod'>
print type(c.foo) #绑定方法的类别,输出<type 'instancemethod'>
print C.foo #非绑定方法对象,输出<unbound method C.foo>
print c.foo #绑定方法对象,输出<bound method C.foo of <__main__.C object at 0x0130D830>>
3、类
4、类的实例
通过类的__call__()特殊方法,必须在类中定义这个方法才行。
class C(object): def __call__(self,*args): return u'可调用实例' c = C() print callable(c) #True print c() #调用实例输出,"可调用实例"
三、代码对象
代码对象是编译过的Python 源代码片段,它是可执行对象。通过调用内建函数compile()可以得到代码对象。代码对象可以被 exec 命令或 eval_r()内建函数来执行。
参考:http://www.cnblogs.com/btchenguang/archive/2012/08/29/2662571.html
四、可执行对象的声明与内建函数
其他见《Python核心编程2》
Python入门笔记(26):Python执行环境的更多相关文章
- Python入门笔记(22):Python函数(5):变量作用域与闭包
一.全局变量与局部变量 一个模块中,最高级别的变量有全局作用域. 全局变量一个特征就是:除非被删除,否则他们存活到脚本运行结束,且对于所有的函数都可访问. 当搜索一个标识符(也称变量.名字等),Pyt ...
- Python入门笔记(21):Python函数(4):关于函数式编程的内建函数
一.关于函数式编程的内建函数 apply()逐渐被舍弃,这里不讨论 1.filter() #filter(func,seq) """纯Python描述filter函数&q ...
- Python入门笔记(20):Python函数(3):关于lambda
一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数&q ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- Python入门笔记(14):Python的字符编码
一.字符编码中ASCII.Unicode和UTF-8的区别 点击阅读:http://www.cnblogs.com/kingstarspe/p/ASCII.html 再推荐一篇相关博文:http:// ...
- Python入门笔记(19):Python函数(2):函数/方法装饰器
一.装饰器(decorators) 装饰器的语法以@开头,接着是装饰器函数的名字.可选参数. 紧跟装饰器声明的是被装饰的函数和被装饰的函数的可选参数,如下: @decorator(dec_opt_ar ...
- PYTHON 学习笔记1 PYTHON 入门 搭建环境与基本类型
简介 Python,当然大家听到这个名词不再是有关于像JAVA 一样的关于后台,我们学习Python 的目的在于对于以后数据分析和机器学习AI 奠定基础,Python 在数据分析这一块,可谓是有较好的 ...
- python学习笔记一 python入门(基础篇)
简单介绍一下python2.x和3.5的区别 print 在python3.5中print 变为print() Old: print * New: print( * ) 如果想要不换行,之前的 ...
- Python入门(一,Ubuntu环境搭建)
一,Python下载 下载地址:http://www.python.org/download/ 二,安装 在Ubuntu平台上安装Python步骤: 1.解压缩下载的源码压缩包 2.在解压缩的目录下执 ...
随机推荐
- Android Dagger依赖注入框架浅析
今天接触了Dagger这套android的依赖注入框架(DI框架).感觉跟Spring 的IOC差点儿相同吧.这个框架它的优点是它没有採用反射技术(Spring是用反射的),而是用预编译技术.因为基于 ...
- sctp和tcp的区别
作为一个传输层协议,SCTP兼有TCP及UDP两者的特点.SCTP可以称为是TCP的改进协议,但他们之间仍然存在着较大的差别.首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TC ...
- Django 源码小剖: Django 对象关系映射(ORM)
引 从前面已经知道, 一个 request 的到来和一个对应 response 的返回的流程, 数据处理和数据库离不开. 我们也经常在 views.py 的函数定义中与数据库打交道. django O ...
- mysql主从复制原理
复制如何工作 整体上来说,复制有3个步骤: (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events): ...
- jQuery 焦点图 旋转木马
jQuery BxSlider 滑动滚动效果 jQuery Easing 动画效果扩展
- Spring进阶教程之在ApplicationContext初始化完成后重定义Bean
前言 很久没有写博客了,也是两个原因:一是自己觉得一直在班门弄斧,其实自己没什么技术可言:二是很多朋友的问题实际上可以自行解决,我经常觉得不该我来过问,或者是有时候我认为技术还得靠自己钻研,我一两句话 ...
- [转]c++流缓冲---rdbuf()
C++标准库封装了一个缓冲区类streambuf,以供输入输出流对象使用.每个标准C++输出输出流对象都包含一个指向streambuf的指针,用 户可以通过调用rdbuf()成员函数获得该指针,从而直 ...
- 转载 ACM训练计划
leetcode代码 利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode. ...
- 无线路由器WDS 桥接设置方法
假设现在有a b c三台路由器,现在我们把b作为中心路由器,基本的配置之后使其能正常无线上网. 然后: 无线路由器A设置: 1.修改LAN口IP地址.在网络参数-LAN口设置中,修改IP地址和B路由器 ...
- php 碎片笔记
1.修改 php.ini 加载路径 添加环境变量 ,新建系统变量 PHPRC ,配置如下: 检验: 通过phpinfo(),查看系统配置 Loaded Configuration File ,识别系统 ...