python基本数据类型——整型,浮点型,复数,字符串
由于也是初学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基本数据类型——整型,浮点型,复数,字符串相关推荐
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法、数据类型(整型、布尔型、浮点型、字符串型)
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第22讲:PHP语法.数据类型(整型.布尔型.浮点型.字符串型) PHP语法是什么样的,有哪些数据类型,有些什么变量.本文对PHP语法.数据类型(整型.布尔型 ...
- go语言基础-数据类型- 整型,浮点型,布尔型
基本数据类型 整型和浮点型 字符串 布尔类型 所有的语言都包含这三部分,我们之前学过的shell脚本也一样: 1. 整型和浮点型 package mainimport ("fmt" ...
- c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习
C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...
- 数据之基本数据类型——整型
在c语言中,仅有四种基本数据类型--整型.浮点型.指针和聚合类型(如数组和结构等). 所有其他类型都是从这四种基本类型的某种组合派生而来的. 此篇博客仅涉及到整型 1. 整型家族 整型家族包括字符.短 ...
- C++整型int转字符串string
C++整型int转字符串string 问题描述 转换方法 问题描述 在C++中进行文件读取操作的时候,想要读取某个文件夹下的所有文件,这些文件名按数字递增: 最直观的感受是用一个for ...
- C语言的数据类型--整型数据
知识点一:整型数据类型 整型数据类型 缺省型 名称 [signed]int int 整型 unsigned int unsigned int 无符号整型 [signed]short[int] shor ...
- 26.【C语言】字符串转无符号整型unsignedint、字符串转有符号整型int、无符号整型unsignedint转字符串、有符号整型转字符串(5_task)
算法思想: 1. 字符串转无符号整型unsignedint 初始化一个字符串str:num用于存放当前转换的整型数,初始化为0.对字符串str中的每个字符进行判断,一旦扫描到当前字符在数字字符的范围之 ...
- python2的默认数字类型_伪·从零开始学Python - 2.2.1 基本数据类型 - 整型与浮点型...
又是好久不见. 数据类型简介 尽管都是0和1的序列,但数据在计算机里的存储方式千差万别.我们考虑存储空间.字节大小.效率.容错性等因素,根据数据的不同,也会让计算机以不同的方式存储数据.这些方式的不同 ...
- 数据类型-整型、浮点型、复数
数据类型 数据类型:整型int,浮点型float,字符串str,列表list,字典dict,布尔值bool 什么是数据类型:衡量/记录事物的状态/特征 什么是类型:不同的数据应该有不同的类型来保存.比 ...
- Python数据类型——整型、布尔型、列表、元祖、字典
Python解释器可以自动识别用户输入的数据类型.创建对象的数据类型,可以通过type查看.需要注意的是:用户通过input输入的数据,其类型均为字符串 num1 = input("plea ...
最新文章
- windows自启动项位置
- js函数中参数的传递
- oracle的sql优化
- 多个ajaxFileUpload上传图片与ajax合用,解决同步问题,用户随意上传多少图片都可以;
- spring scheduled定时任务
- dell 2u服务器型号,IBM、HP、Dell比拼主流2U双路服务器
- 计算机技术硬件基础.pdf,网络工程师辅导教程--计算机硬件基础知识部分.pdf
- 分治法——最大子列和问题
- CSS Bulma 框架
- 论文笔记A Liver Segmentation Method Based on the Fusion of VNet and WGAN
- 程序员增加收入的实用之道
- FPGA niosII 视频笔记
- 有五万块钱,在农村养牛怎么样?能养多少头牛?
- alibaba的druid连接池的监控的两种方法
- 3月9日——3月13日一年级课程表
- html网页加减乘除代码,html+js实现简单的计算器代码(加减乘除)
- fig翻译_Fig. 2. (a) Loading equipment; (b) Distributi简体中文怎么写 - 什么意思? - 怎么翻译?...
- 杰理之开发板底板【篇】
- 磊科(NetCore)全系列路由器中的“疑似后门”程序
- 乐享集团控股股东分道扬镳:朱子南独掌大权,张之的退出董事会
热门文章
- sql server计算日期到当前日期天数_Excel必学的7个计算日期间隔差的技巧
- python 自动抢红包_用二十行代码实现微信自动抢红包
- numpy常用函数总结 | 菜鸟教程
- java同步锁实例_Java同步锁全息详解
- appium启动app失败_Python学下教程:另辟蹊径,appium抓取app应用数据了解一下
- openresty连接mysql_在CentOS 6上使用openresty访问mysql
- 苹果M1芯片兼容mysql吗_苹果m1芯片相当于什么水平
- JavaScript:工具库MyTools.js(自用不断填充····)
- 鸿蒙的下一个时期叫什么,华为鸿蒙,一个本属于2025年的产品
- Guava学习笔记(六):Immutable(不可变)集合