在Python3种,有六种标准数据类型:

  数字(Number)

  字符串(String)

  列表(List)

  元组(Tuple)

  集合(Set)

  字典(Dictionary)

这六种数据类型中,数字类型和字符串类型是基础,以下介绍数字类型及相关操作。

全文结构如下:

在Python中,数字有整数、浮点数和负数三种。

整数

整数与数学中整数一致,可正可负,没有取值范围限制,这一点和许多计算机语言(如C语言)不一样。

整数默认为常见的有十进制、二进制、八进制、十六进制表示:

进制 规则 举例 进制翻译
十进制 数字默认为十进制 100,-98 Decimal
二进制 以 0b 或 0B 开头 0b101,-0B11 Binary
八进制 以 0o 或 0O 开头 0o123,-0O77 Octal
十六进制 以 0x 或 0X 开头 0x9d, -0X3F Hexadecimal

浮点数

浮点数即数学中的小数。与整数不同的是,浮点数的取值范围有限,这与浮点数需要使用计算机浮点运算单元有关。浮点数的取值范围大约是 -10E307(负10的307次方)至10E308(10的308次方),精度为10E-16(10的负16次方)。可见,这样大的数字,这样高的精度,足以满足常规使用。

对浮点数的某一位进行四舍五入使用函数 round(x, d):对 x 四舍五入,d是效数截取位数。如 a = round(1.23456, 3),则返回 a = 1.235。

对浮点数还可以采用科学计数法,使用字母 e 或 E 作为幂,表示以 10 为基数,格式如下:

<a>e<b> ,表示 a×10b

例如:5.20e2,结果为 520;1314 E-2,结果为 13.14。

复数

Python中,虚数单位用 j 表示。

例如 z = 11 + 22j,r = -3e5 + 4e-2j

获取复数的实部与虚部分别使用函数 z.real 和 z.imag 获取。例如对于 z = 11 + 22j,x = z.real, y = z.imag,则可以得到 x = 11.0,z=22.0(会转化为浮点数)。

数值运算操作符

Python支持常见的加减乘除、取模取余、乘方开方等运算,具体如下:

值得注意的是,x op= y 这种形式,可以使代码看起来更简单。例如 count1 = count1 + 1 与 count1 += 1 意义相同,但后者更简洁,更受程序员青睐。

除此之外,两种除法 / 与 // 也应注意区分,前者是与数学上除法一致,而后者是模运算的除法

数值运算函数

数值运算函数可以直接调用,让程序开发更加容易。例如我们可以直接调用求最大值函数 max(),而不用自己编写此函数。常见的数值运算函数如下:

实例

学之道,贵与恒而非速。一年 365 天,每天在前一天的基础上进步 1% ,最终有多大的进步呢?而如果周一至周五每天学习,有进步;周末休息,退步与进步速率一致,那么每天要进步多少才能与每天进步 1% 取得的成果相当呢?
请先思考,试着编程实现,想想会用到刚才的什么知识吧~~

参考Code如下:

 #test1.py
present = 1; #当前状况
factor = 0.01; #进步率1%
result = 1; #最终结果
for i in range(1,365):
result *= (1+factor)
print('每天进步 1%,一年后能力是现在的 {0:.2f} 倍'.format(result/present));

运行结果:每天进步 1%,一年后能力是现在的 37.41 倍

 hardpresent = 1;         #更加努力的当前状况
hardfactor = 0.01; #进步率至少要为 1%
while(1):
hardresult = 1; #注意每次都要初始化为 1
for i in range(1,365):
if i % 7 in [6,0]:
hardresult *= (1 - hardfactor)
else:
hardresult *= (1 + hardfactor)
if hardresult / hardpresent >= 37.41: #进步率足够了,跳出循环
break
else:
hardfactor +=0.0001 #依次增加进步率
print('五天打鱼,两天晒网,每天要努力 {0:.2f} 倍'.format(hardfactor / 0.01))

运行结果:五天打鱼,两天晒网,每天要努力 2.39 倍

可见,每天进步 1% ,一年将会有巨大的突破,能将自己的实力提升 37 倍。而如果学习五天,休息两天,则要努力 2.4 倍,即每天进步 2.4%。十年磨剑,滴水穿石。

最后再看看第一张图吧,回忆一下,都记住了吗?

------- 以上内容为 中国大学MOOC(慕课)/Python语言程序设计/北京理工大学/嵩天 黄天羽 礼欣   课程笔记 -------

------- 仅用于学习交流  禁止任何商业用途     欢迎转载  转载请注明出处     不妥或错误之处  欢迎指出             -------

Python学习笔记(一):基本数据类型的更多相关文章

  1. Python学习笔记:02数据类型

    Python 数据类型 python中标准的数据类型有 基础类型 整型(长整型) 浮点型 复数型 布尔型 序列类型 字符串 列表 元组 字典 整型 整型和长整型并不严格区分,整型int的表达范围和计算 ...

  2. Python学习笔记——几种数据类型

    1. 列表list: Python内置的一种数据类型是列表:list,用中括号[]表示.list是一种有序的集合,可以随时添加和删除其中的元素,而且元素的类型不必相同.list可以通过下标来访问,范围 ...

  3. Python学习笔记4基本数据类型

    start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数    . 2. ...

  4. Python学习笔记三:数据类型

    数据类型 整数int 32位机器,-2**31~2**31-1,即-2147483648~2147483647(4亿多) 64位机器,-2**63~2**63-1,非常大了. 长整型long 没有位数 ...

  5. python学习笔记02 --------------基础数据类型

    python的基本数据类型: 1.基本数据 1.1. 数字类型 1.1.1 整数 int int()           #将括号内内容转化为整数类型. 1.1.2 浮点数 float 1.1.3 复 ...

  6. python学习笔记一:数据类型

    一.Python文件类型 1.源代码 hello.py: 1 #!/usr/bin/python 2 print "hello world" 2.字节代码:python源文件经编译 ...

  7. Python学习笔记(2)--基本数据类型

    在介绍基本数据类型之前,先说一个系统方法type():返回对象的数据类型,可以帮助我们查看系统的类型定义 python不同的版本,类型名称稍有不同,这里使用的是3.5.2版本 一.基本数据类型: 1. ...

  8. Python学习笔记4基本数据类型续

    start  16:36 时间格式化 程序计时:指测量起止动作所经历的时间的过程 实例四文本进度条 #a表示星号被复制的的次数 文本进度条的动态刷新 实现刷新功能的简单代码,但你会发现并没有实现在同一 ...

  9. Python学习笔记 (2.1)标准数据类型之Number(数字)

    Python3中,数字分为四种——int,float,bool,complex int(整型) 和数学上的整数表示没啥区别,没有大小限制(多棒啊,不用写整数高精了),可正可负.还可表示16进制,以 0 ...

  10. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

随机推荐

  1. select Option(增加,删除,清空)

    jQuery获取Select选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添加事件, ...

  2. Django入门--模型系统(一):模型基础

    1.Django的ORM介绍 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不 ...

  3. Jenkins持续构建打包后端服务流程详解

    背景运用场景及思路 1.为响应后端开发人员需求,提升项目开发过程效率,选择Jenkins持续构建,进行导包启动一键持续集成 思路: 使用jenkins自带,立即构建->SVN拉取代码,通过Jen ...

  4. Android获取图片实际大小兼容平板电脑

    项目中有个图片在平板电脑中显示特别小的原因.一直苦于没找到原因,也没有平板电脑測试,今天找了个改动分辨率的,编写相关方法最终处理了,记录下比較: 好让以后不造轮子. 主要是获取文章相关图片显示问题.直 ...

  5. 字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5

    字节(Byte):通常将可表示经常使用英文字符8位二进制称为一字节. 一个英文字母(不分大写和小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. ...

  6. Linux体验之旅(一)——制作U启,安装rhel-server-6.3

    U启制作: 双击UltraISO: 点击文件→打开: 选择rhel-server6.3 点击启动→选择写入硬盘映像 最后选择格式化优盘→写入→完毕 注意:启动盘制作完毕后一定记得将rhel-serve ...

  7. Oracle 单表选择率

    听了猫大师的课,对Oracle CBO又加深了一步理解: 单表选择率: selectivity=1/ndv*a4nulls ocard来自dba_tables.num_rows ndv 来自dba_t ...

  8. Extjs 可重用组件开始写 2014 8 23日

    今天开始自己去写组件. 这次写组件重点在于参考cfWeb来写出自己的组件. 首先先把结构做出来. 对于这次的自定义组件,现在所做的事情关键在于上面四个文件.于是将上面四个文件贴出来. MyApp.js ...

  9. SQL语句之WITH AS

    一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到. 其实就是把一大堆 ...

  10. POJ 3020 Hungary

    一道建图题-- // by SiriusRen #include <cstdio> #include <cstring> using namespace std; #defin ...