由于也是初学python,所以在这里简要介绍一下python基础的数据类型,好在宏观上有个把握。

整数类型

python里面的整数类型可正可负,不像其他的语言,python的整数并没有取值范围的限制。如:pow(x,y)函数用来计算x的y次方。
整数类型的4种表示形式:
+++++十进制:1010,99,-217
+++++二进制:0b或0B开头,如 0b101,-0B110
+++++八进制:0o或0O开头,如 0o123,-0O345
+++++十六进制:以0x或0X开头,如 0x9a,-0x89

浮点数类型

浮点数的取值范围和小数精度都存在限制,但常规计算中可忽略这种限制。
取值范围数量级约-10^308到 10^308,精度数量级10^-16。

不确定尾数

浮点数间的运算存在不确定尾数,这不是bug,不确定尾数在很多编程语言都存在。
也就是当某个浮点数并不能被2进制精确表示的时候,就会出现不确定尾数。什么叫精确表示呢?
因为十进制数和二进制数之间不存在一一映射的关系,所以某些十进制数是不能被二进制精确表示的,而只能近似表示,这样就造成了计算的二进制结果是十进制结果的一个近似数。如0.1表示为二进制的数时,是无限的,可以无限接近0.1但不等于0.1。不确定尾数出现在10^(-16)

0.1+0.2
0.30000000000000004

那语句 0.1+0.2 ==0.3呢? 判断为False
此时可以使用round(x[,d])对x四舍五入,d是小数保留的位数。默认取整,[,d]表示可有可无。

>>> (0.1+0.2)==0.3
False
>>> round(0.2+0.1,1)==0.3
True

浮点数与科学计数法

浮点数可以使用科学计数法表示。
aeb 表示a*10^b

>>> 1.234e2
123.4

复数类型

表示为a+bj
z.real,获得实部
z.imag,获得虚部
3种数据类型的可以看成逐渐扩展的关系。
整数 —》浮点数—》复数,提到这个的主要原因是,不同类型的数据进行运算时,遵循向上提升的规则。这样不会造成数据的丢失。
一个小例子来直观的感受一下:

>>> z = 3+4j
>>> z.imag
4.0
>>> z.real
3.0
>>>

运算操作符

+,-,,/,//表示整除,%取模,*幂运算。3^2 在python中表示为3**2或者用pow(3,2)。

字符串

字符串的表示

字符串既可以(1)使用2个”符号括起来表示,形式上就是:”<你要表达的字符串>”,也可以(2)使用2个’符号括起来表示,形式上就是:
‘<你要表达的字符串>’,前面2中表示方法是用来表示单行字符串的;还可以(3)使用2个”’符号括起来表示,形式上就是:”’<你要表达的字符串>”’,值得注意的该表示可以用来表达多行字符串。而表示形式(1)(2)只能表示单行字符串。
之所以有(1)(2)这2种表达单行字符串的,是因为在字符串中包含另一种引号时会比较方便。

>>> str ="woyou ge ' "
>>> print(str)
woyou ge '

索引和切片

索引可以用来访问字符串的某一个元素:如 str[2]即代表访问str的第3个元素;python中数组的下标都是从0开始的。
切片用来截取字符串的某一段元素:如 str_name[1:4],访问str的第2个到第4个元素,即str[1],str[2],str[3]3个元素,但并不包括下标4对应的元素。这是需要注意的。

>>> str='123456'
>>> type(str)
<type 'str'>
>>> str[1:4]
'234'
>>>

字符串切片的高级用法

[M:N:K]根据步长对字符串切片,
M,N分别表示切片的起点和终点(不包括终点所对应的元素),M缺失表示至开头,N缺失表示至结尾,K表示步长,即隔几个元素取一个元素。
str_name[::-1]逆序字符串str_name
当然如果我想取字符串从第3个元素到最后的片段,那么可以使用str_name[2:],就行了。

字符串处理函数1


len(str_name):返回字符串的长度
str(x): 将任何数据类型的x都转换为字符串
hex(x): 整数x转为十六进制
oct(x): 整数x转为八进制
chr(u): u为unicode编码,返回其对应的字符
ord(x):返回x对应的Unicode编码


小例子:显示12个星座对应的字符

这里介绍一个小例子来体会一下,其中通过在print函数中指定end属性值为end=”“可以使得for循环的输出都在同一行显示。

for i in range(12):print(chr(9800+i),end="")

字符串处理方法

这些都是以方法形式提供的字符串处理功能。


字符串格式化

str_name.format()
槽用‘{}’来表示,表示为format中的参数占位。
如果没有在槽中明确指定该槽放置哪个序号的参数,就按照序号顺序依次填充。换句话说,就是第一个槽对应显示第一个参数,第二个槽对应显示第二个参数,以此类推。用图表示为如下:

但是如果明确指出了槽内对应的参数编号,那么就按照指定的序号来格式化显示字符串。

槽内部对字符串格式化


如上面所展示的,如果要对某个槽进行格式化,那么可以在“:”后面添加格式控制标记。“:”前面若不指定参数序号则按默认的来对应参数。
那“:”后面究竟能够指定哪些格式化参数呢?

需要注意的是,这些格式化参数如果有是需要按照上图的顺序依次填写的,否则就会报错。

>>> "{:=^20}".format("python")
'=======python======='
>>> "{:=20^}".format("python")
ValueError: Unknown format code '^' for object of type 'str'

这里再贴出几个例子,以便深刻地理解。

python练习程序

练习1

有一个问题:如下描述,
A 每天都进步1%。
B 工作5天,周末休息,休息时会退步1%,那么工作日需要进步多少才能和达到和A一样的进步?

#daydayup.py
# 计算工作5天休息2天总的进步
def dayUp(df):dayup = 1for i in range(365):if i % 7 in [0,6]:dayup = dayup *(1-0.01)else:dayup = dayup *(1+df)return dayup
#计算连续工作365天的进步
dayup_a = 1.0
dayup_a = (dayup_a+0.01)**365
# 37.78
print("dayup_a is :",dayup_a)dayfactor = 0.01
while dayUp(dayfactor) < dayup_a:dayfactor += 0.001
print("工作日应该达到的目标为: ".format(dayfactor))

练习2

这里显示一个如图所示的字符串,要求每隔1s显示一行。

import timeprint("start".center(20,'-'))
scale = 10
for i in range(scale+1):m = '*' * in = '.' * (scale-i)ratio = (i/scale)*100print("{:^3.0f}%[{}->{}]".format(ratio,m,n))time.sleep(1)
print("end".center(20,'-'))
~                              

练习3

针对练习2的改进,使得字符串刷新以后还能在同一行显示,看起来就像是覆盖了之前在屏幕该行的内容。

import timeprint("start".center(20,'-'))
scale = 10
for i in range(scale+1):m = '*' * in = '.' * (scale-i)ratio = (i/scale)*100print("\r{:^3.0f}%[{}->{}]".format(ratio,m,n) , end="")time.sleep(1)
print('\n')
print("end".center(20,'-'))

python基本数据类型——整型,浮点型,复数,字符串相关推荐

  1. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法、数据类型(整型、布尔型、浮点型、字符串型)

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法.数据类型(整型.布尔型.浮点型.字符串型) PHP语法是什么样的,有哪些数据类型,有些什么变量.本文对PHP语法.数据类型(整型.布尔型 ...

  2. go语言基础-数据类型- 整型,浮点型,布尔型

    基本数据类型 整型和浮点型 字符串 布尔类型 所有的语言都包含这三部分,我们之前学过的shell脚本也一样: 1. 整型和浮点型 package mainimport ("fmt" ...

  3. c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习

    C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...

  4. 数据之基本数据类型——整型

    在c语言中,仅有四种基本数据类型--整型.浮点型.指针和聚合类型(如数组和结构等). 所有其他类型都是从这四种基本类型的某种组合派生而来的. 此篇博客仅涉及到整型 1. 整型家族 整型家族包括字符.短 ...

  5. C++整型int转字符串string

    C++整型int转字符串string 问题描述 转换方法 问题描述     在C++中进行文件读取操作的时候,想要读取某个文件夹下的所有文件,这些文件名按数字递增:     最直观的感受是用一个for ...

  6. C语言的数据类型--整型数据

    知识点一:整型数据类型 整型数据类型 缺省型 名称 [signed]int int 整型 unsigned int unsigned int 无符号整型 [signed]short[int] shor ...

  7. 26.【C语言】字符串转无符号整型unsignedint、字符串转有符号整型int、无符号整型unsignedint转字符串、有符号整型转字符串(5_task)

    算法思想: 1. 字符串转无符号整型unsignedint 初始化一个字符串str:num用于存放当前转换的整型数,初始化为0.对字符串str中的每个字符进行判断,一旦扫描到当前字符在数字字符的范围之 ...

  8. python2的默认数字类型_伪·从零开始学Python - 2.2.1 基本数据类型 - 整型与浮点型...

    又是好久不见. 数据类型简介 尽管都是0和1的序列,但数据在计算机里的存储方式千差万别.我们考虑存储空间.字节大小.效率.容错性等因素,根据数据的不同,也会让计算机以不同的方式存储数据.这些方式的不同 ...

  9. 数据类型-整型、浮点型、复数

    数据类型 数据类型:整型int,浮点型float,字符串str,列表list,字典dict,布尔值bool 什么是数据类型:衡量/记录事物的状态/特征 什么是类型:不同的数据应该有不同的类型来保存.比 ...

  10. Python数据类型——整型、布尔型、列表、元祖、字典

    Python解释器可以自动识别用户输入的数据类型.创建对象的数据类型,可以通过type查看.需要注意的是:用户通过input输入的数据,其类型均为字符串 num1 = input("plea ...

最新文章

  1. windows自启动项位置
  2. js函数中参数的传递
  3. oracle的sql优化
  4. 多个ajaxFileUpload上传图片与ajax合用,解决同步问题,用户随意上传多少图片都可以;
  5. spring scheduled定时任务
  6. dell 2u服务器型号,IBM、HP、Dell比拼主流2U双路服务器
  7. 计算机技术硬件基础.pdf,网络工程师辅导教程--计算机硬件基础知识部分.pdf
  8. 分治法——最大子列和问题
  9. CSS Bulma 框架
  10. 论文笔记A Liver Segmentation Method Based on the Fusion of VNet and WGAN
  11. 程序员增加收入的实用之道
  12. FPGA niosII 视频笔记
  13. 有五万块钱,在农村养牛怎么样?能养多少头牛?
  14. alibaba的druid连接池的监控的两种方法
  15. 3月9日——3月13日一年级课程表
  16. html网页加减乘除代码,html+js实现简单的计算器代码(加减乘除)
  17. fig翻译_Fig. 2. (a) Loading equipment; (b) Distributi简体中文怎么写 - 什么意思? - 怎么翻译?...
  18. 杰理之开发板底板【篇】
  19. 磊科(NetCore)全系列路由器中的“疑似后门”程序
  20. 乐享集团控股股东分道扬镳:朱子南独掌大权,张之的退出董事会

热门文章

  1. sql server计算日期到当前日期天数_Excel必学的7个计算日期间隔差的技巧
  2. python 自动抢红包_用二十行代码实现微信自动抢红包
  3. numpy常用函数总结 | 菜鸟教程
  4. java同步锁实例_Java同步锁全息详解
  5. appium启动app失败_Python学下教程:另辟蹊径,appium抓取app应用数据了解一下
  6. openresty连接mysql_在CentOS 6上使用openresty访问mysql
  7. 苹果M1芯片兼容mysql吗_苹果m1芯片相当于什么水平
  8. JavaScript:工具库MyTools.js(自用不断填充····)
  9. 鸿蒙的下一个时期叫什么,华为鸿蒙,一个本属于2025年的产品
  10. Guava学习笔记(六):Immutable(不可变)集合