13.0 序 这一章我们就来看看python中类是怎么实现的,我们知道C不是一个面向对象语言,而python却是一个面向对象的语言,那么在python的底层,是如何使用C来支持python实现面向对象的功能呢?带着这些疑问,我们下面开始剖析python中类的实现机制.另外,在python2中存在着经典类(classic class)和新式类(new style class),但是到Python3中,经典类已经消失了.并且python2官网都快不维护了,因此我们这一章只会介绍新式类. 13.1 p…
#!/usr/bin/env python # -*- coding:utf-8 -*- # Python整型int.浮点float # abs(x) # 返回数字的绝对值,如abs(-10) 返回 10 print(abs(-10)) # ceil(x) # 返回数字的上入整数,如math.ceil(4.1) 返回 5 import math print(math.ceil(4.1)) # floor(x) # 返回数字的下舍整数,如math.floor(4.9)返回 4 import mat…
1. 整型和布尔值 1.1 整型——数字(int) 用于比较和运算.  整型32位:-2**31 ~ -2**31-1 整型64位:-2**63 ~ -2**63-1 python2 :整型 int -- long(长整型) / 获取的是整数 python3 :整型 int   / 获取的是浮点数(小数) 二进制(0101).八进制.十进制.十六进制 二进制与十进制的转换:  ① print(bin(15))     #将十进制15转换成二进制        15 1        7 1   …
1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整型. int代表有符号整数,也就是说,用int声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数.标准规定int的最小取值范围是-32767到32767.int的取值范围因机器而异,但是一定要大于或者等于-32767到32767.一般来说,int占用一个字的内存空间.因此,字长为16位(B…
1.整型 int() p2 long 长整型 p3 全部都是整型 2.布尔值 bool() True --- int() int(True) int() --- True bool(int) 注意点:只有0是False 3.字符串详解 name = 'alex wuSIR' s = name.title() 所有首字母大写 s = name.capitalize() 第一个首字母大写 s = name.upper() 全部字母大写 s = name.lower() 全部字母小写 s = name…
在C#编程过程中,将字符串string转换为整型int过程中,时常使用的转换方法为int.Parse方法,但int.Parse在无法转换的时候,会抛出程序异常,其实还有个int.TryParse方法可解决此问题,当字符串服务器无法转换为整型int的情况下,int.TryParse方法不会抛出异常,而是返回false.int.TryParse方法的签名为static bool TryParse(string s, out Int32 result),s代表要转换的字符串,result表示转换后的i…
在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为Int类型就是一个常见的类型转换操作,int.Parse方法是C#中专门用来将字符串转换为整型int的,int.Parse方法的常见的签名形式为static Int32 Parse(string s),s代表被转换的字符串,如果字符串无法转换为整型int,则int.Parse方法会抛出异常. 例如有个字符串str的值为“333”,将之转换为int类型可使用下列语句: string str = "333";   …
<Python源码剖析>笔记 第七章:编译结果 1.大概过程 运行一个Python程序会经历以下几个步骤: 由解释器对源文件(.py)进行编译,得到字节码(.pyc文件) 然后由虚拟机按照字节码一条一条执行对应的指令 2.PyCodeObject 程序运行时,Python会将编译结果都存放在内存中的PyCodeObject对象中.每一个名字空间都对应着一个PyCodeObject对象. typedef struct { PyObject_HEAD int co_argcount; /* #ar…
12.0 序 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作.当然在调用函数时,会干什么来着.对,要在运行时栈中创建栈帧,用于函数的执行. 在python中,PyFrameObject对象就是一个对栈帧的模拟,所以我们即将也会看到,python虚拟机在执行函数调用时会动态地创建新的PyFrameObject对象.随着函数调用链的增长,这些PyFrameObject对象之间也会形成一条PyFrameObject对象链,这条链就是对象x86平台上运行时栈…
9.0 序 下面我们就来剖析python运行字节码的原理,我们知道python虚拟机是python的核心,在源代码被编译成字节码序列之后,就将有python的虚拟机接手整个工作.python虚拟机会从编译得到的PyCodeObject对象中一次读取每一条字节码指令,并在当前的上下文中去执行,最终执行完所有的字节码. 9.1 python虚拟机的执行环境 python的虚拟机实际上是在模拟操作系统运行可执行文件的过程,我们先来看看在一台普通的x86的机器上,可执行文件是以什么方式运行的.在这里主要…