原标题:Sargent的量化经济学(8):Python工作原理

许文立 武汉大学经济与管理学院 xuweny87@163.com

许坤 安徽大学经济学院 kunxu2014@126.com

Python的工作原理:数据、变量和名称

概览

本讲的目标是更深入理解Python的执行模块

理解这些细节有助于我们将来编写更大规模的程序

你也可以跳过这些内容,进入应用部分

我们提供这些内容主要是为了提供一份参考资料,让你们能偶尔返回来看看这些内容,进而提升你们的Python技术

载体

在前面几讲,我们简要地讨论过载体

载体通常被认为是类的定义,且与数据和方法(函数)想结合

例如

创建了一个list,拥有不同的方法(append,pop,等)

Python里储存的每一项都是一个载体

这不仅包括list,字符等,还包含一些隐含的东西,例如

函数(只要它们读入内存)

模块(ditto)

为读写而打开的文件

整数,等

在Python中,载体就是由计算机内存中的数据和指令所组成的集合,它们是由下列事项构成:

一种类型

一些内容

唯一的识别符

零或一些方法

这些概念将会在下面的内容中呈现

类别

Python理解和支持不同类别的载体,以适应不同类型的数据

一种载体类型是通过type(object_name)来定义

例如

载体的类别对许多表达式有重要影响

例如,两个字符之间的加号表示串联

另一方面,两个数值之间的加号表示正常的加法

试试看下面的表达式

这是一种混合表达式,但是Python并不理解用户想要做什么

把'300'转换整数,然后与400相加,或者

把400转换成字符,然后与'300'串联

其他一些语言可能会猜用户的意图,但Python则强烈依赖于类别

类别很重要,隐性类别转换很罕见

Python会出现TypeError作为回应

为避免这种错误,你需要清晰声明类别

例如

内容

载体的内容似乎是一种很明确的概念

例如,如果我们设立x=42,然后x的内容就是数值42

但是,事实上,它的含义要丰富得多,正如下面的例子所示

当Python创建整数载体时,它会储存额外信息——例如,虚部——和类别

正如前面讨论的,下面所有带圆点的名称都被称为载体的属性

例如,imag和__class__是x的属性

识别符

在Python中,每一个载体都有唯一的识别符,这会帮助Python(和我们)追踪载体

载体的识别符通过id()函数赋予

在该例中,y和z有相同的值(例如,2.5),但是它们并没有相同的载体

载体的识别符事实上就是内存中载体的地址

方法

正如前面论述过,方法是捆绑在载体上的函数

正式来说,方法是载体的属性

方法对包含在载体中的数据起作用

大量的Python函数都是以方法调用的形式出现

例如,考虑下列代码

事实上,Python中称为__setitem__方法,如下

更多内容,可参见https://lectures.quantecon.org/py/python_foundations.html返回搜狐,查看更多

责任编辑:

python经济学函数_Sargent的量化经济学(8):Python工作原理相关推荐

  1. python经济学函数_Sargent的量化经济学(6):Python基础

    原标题:Sargent的量化经济学(6):Python基础 许文立 武汉大学经济与管理学院 xuweny87@163.com 许坤 安徽大学经济学院 kunxu2014@126.com 本讲呈现了阅读 ...

  2. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  3. python事件处理函数_事件驱动的简明讲解(python实现)

    关键词:编程范式,事件驱动,回调函数,观察者模式 作者:码匠信龙 举个简单的例子: 有些人喜欢的某个公众号,然后去关注这个公众号,哪天这个公众号发布了篇新的文章,没多久订阅者就会在微信里收到这个公众号 ...

  4. python islower函数_python字符串是否是小写-python 字符串小写-python islower函数-python islower函数未定义-嗨客网...

    Python字符串是否是小写教程 在开发过程中,有时候我们需要判断一个 Python islower()函数详解 语法 str.islower() -> bool 参数 参数 描述 str 表示 ...

  5. python fact函数_第5天:Python 函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础. 函数能提高应用的模块性,和代码的重复利用率.在程序设计中,常将一些常用的功能模块编写成函数 ...

  6. python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解

    导读:本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 作者:罗攀 蒋仟 如需转载请联系华章科技 本文涉及的主要知识点如下: P ...

  7. python用户手册是什么_Wind量化平台-用户手册(Python).pdf

    Wind量化平台-用户手册(Python) --中国金融数据及工具首席服务商 9311509 Wind Python 数据及交易接口 Version 1.1 修订时间:2014.02.12 上海万得信 ...

  8. python除法函数一般如何命名_关于python:当用于除法时,’/’和’//’之间有什么区别?...

    使用一个对另一个有好处吗?在Python2中,它们似乎都返回相同的结果: >>> 6/3 2 >>> 6//3 2 请参考整数除法的问题,因为引入了//运算符进行整 ...

  9. python sum函数numpy_如何用numba加速python?

    我把写好的markdown导入进来,但是没想到知乎的排版如此感人.如果对知乎排版不满想要看高清清爽版,请移步微信公众号原文 如何用numba加速python?同时欢迎关注 前言 说道现在最流行的语言, ...

最新文章

  1. Go gin静态文件的使用、自定义模板渲染器
  2. [.NET源码] EF的增删改查
  3. 经过 Webpack 处理过的 SAP Spartacus main.js
  4. weex 在 iOS 上如何实现常见的网络缓存
  5. mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决
  6. linux sar监控脚本,linux-利用sar进行性能监控
  7. python简笔画程序_使用python turtle绘制简笔画大白
  8. 安全测试需要考虑的测试点
  9. nullnullc++ 精简版 fps限制
  10. SAP License:PS的进度管理流程
  11. MySQL主从复制故障1595报错【原创】
  12. Android天天数钱游戏源码
  13. Linux安装及破解密码
  14. C#如何调用阿里云短信接口
  15. java设置一个内部类child_java的内部类及匿名内部类
  16. pandas学习之df.sample
  17. Java Vs. C♯
  18. Java工具集-身份证(IDCardUtil)
  19. 小城里的“明星”产业,有微信云托管保驾护航
  20. B1019 数字黑洞

热门文章

  1. matlab求非线性函数的解,MATLAB求解非线性方程(转)
  2. confluencejira集成_Atlassian系列之jira,confluence,fisheye集成
  3. js--鼠标点击移动松开事件、滚轮事件、键盘事件
  4. 阿里云 修改服务器密码 如何修改root密码?如何修改普通用户的密码?
  5. 针对ARM Linux内核swapper_pg_dir简单分析
  6. 微信小程序学习(2)-云开发
  7. YOLOV8做实例分割(环境配置+搭建模型+数据集制作+训练+预测全套)
  8. 企业AD、DNS、WINS服务器的配置
  9. python‘导入fitz模块不成功’的解决办法
  10. ssoj 3693: 跳蚤(flea)