欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习笔记一:基本数据类型

程序员文章站 2022-06-28 13:18:29
在Python3种,有六种标准数据类型: 数字(Number) 字符串(String) 列表(List) 元组(Tuple) 集合(Set) 字典(Dictionary) 这六种数据类型中,数字类型和字符串类型是基础,以下介绍数字类型及相关操作。 全文结构如下: 在Python中,数字有整数、浮点数 ......

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

  数字(number)

  字符串(string)

  列表(list)

  元组(tuple)

  集合(set)

  字典(dictionary)

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

全文结构如下:

 
Python学习笔记一:基本数据类型

 

 

在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支持常见的加减乘除、取模取余、乘方开方等运算,具体如下:

Python学习笔记一:基本数据类型

Python学习笔记一:基本数据类型

Python学习笔记一:基本数据类型

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

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

 

数值运算函数

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

Python学习笔记一:基本数据类型

Python学习笔记一:基本数据类型

Python学习笔记一:基本数据类型

 

实例

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


参考code如下:

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

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

 

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

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

 

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

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


Python学习笔记一:基本数据类型

 

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

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