day5-python数据类型

Posted 箐惜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day5-python数据类型相关的知识,希望对你有一定的参考价值。

数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:

整数

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:​​1​​​,​​100​​​,​​-8080​​​,​​0​​,等等。

计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用​​0x​​​前缀和0-9,a-f表示,例如:​​0xff00​​​,​​0xa5b4c3d2​​,等等。

浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如​​1.23​​​,​​3.14​​​,​​-9.01​​​,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是​​1.23e9​​​,或者​​12.3e8​​​,0.000012可以写成​​1.2e-5​​,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有​​True​​​、​​False​​​两种值,要么是​​True​​​,要么是​​False​​​,在Python中,可以直接用​​True​​​、​​False​​表示布尔值(请注意大小写),也可以通过布尔运算计算出来:


>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False


布尔值可以用​​and​​​、​​or​​​和​​not​​运算。

​and​​​运算是与运算,只有所有都为​​True​​​,​​and​​​运算结果才是​​True​​:


>>> True and True
True
>>> True and False
False
>>> False and False
False



​or​​​运算是或运算,只要其中有一个为​​True​​​,​​or​​​运算结果就是​​True​​:


>>> True or True
True
>>> True or False
True
>>> False or False
False



​not​​​运算是非运算,它是一个单目运算符,把​​True​​​变成​​False​​​,​​False​​​变成​​True​​:


>>> not True
False
>>> not False
True



布尔值经常用在条件判断中,比如:


if age >= 18:
print adult
else:
print teenager



字符串

a)字符串定义

字符串或串(String)是由数字、字母、下划线组成的一串字符。,字符串是我们最常用到的,我们用 , "", ""(三重引号(docstring)除了能定义字符串以外,还可以用作注释),都可以定义字符串,特性不可修改,例子付下:


>>> str1 = "qwewqeqwe"
>>> str2 = qwewqe
>>> str3 = "qweqrqasd"


b)字符串方法


name = caicaidetong
name.capitalize() 首字母大写
name.casefold() 大写全部变小写
name.center(50,"-") 输出 ---------------------caicaidetong----------------------
name.count(cai) 统计 cai出现次数
name.encode() 将字符串编码成bytes格式
name.endswith("ong") 判断字符串是否以ong结尾
name.find(A) 查找A,找到返回其索引, 找不到返回-1

format : 连接字符串方法
>>> msg = "my name is , and age is "
>>> msg.format("caicai",24)
my name is caicai, and age is 22
>>> msg = "my name is 1, and age is 0"
>>> msg.format("caicai",24)
my name is 24, and age is caicai
>>> msg = "my name is name, and age is age"
>>> msg.format(age=24,name="caicai")
my name is caicai, and age is 24



msg.index(c) 返回a所在字符串的索引
msp.split( ) 分割字符串
msg.strip() 删除头部和尾部的空格
msg.swapcase() 大小写互换

>>> b="ddefdsdff_哈哈"
>>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
True


字符串切片
str = 0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾







列表list

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

定义列表


list1 = [a,1,123,qwe]


通过下标访问列表中的元素,下标从0开始计数


>>> list1 = [a,1,123,qwe]
>>> list1[1] 取第二个值
1
>>> list1[0] 取第一个值
a
>>> list1[-1] 取最后一个值,
qwe


 切片,取多个元素



 1 >>> list1[1:4]  取下标1到4的值,不包含4
2 [1, 123, qwe]
3 >>> list1[1:-1] 取下标1到最后一个值,不包含最后一个。
4 [1, 123]
5 >>> list1[0:3] 取下标0到3的值,不包含下标3的值
6 [a, 1, 123]
7 >>> list1[:3] 取开头到3的值
8 [a, 1, 123]
9 >>> list1[2:] 取2到结尾的值
10 [123, qwe]
11 >>> list1[0::2] 取0到结尾的值, 2表示间隔一个值,取一个
12 [a, 123]


追加 append


>>> list1.append("xin")
>>> list1
[a, 1, 123, qwe, xin]


插入insert


>>> list1.insert(2,charu) 从下标2后面插入
>>> list1
[a, 1, charu, 123, qwe, xin]


删除


>>> list1.pop()  删除最后一个值
xin
>>> list1
[a, 1, charu, 123, qwe]
>>> list1.remove(qwe) 删除指定值
>>> list1
[a, 1, charu, 123]



元组tuple

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

注意单个tuple元素的时候,元素后面要加",",否则python解析器不会识别为tuple类型

​tuole1 ​​​​=​​​​(​​​​"we"​​​​,​​​​"as"​​​​,​​​​"ebb"​​​​)​

它只有2个方法,一个是count(统计某个元素的出现的格式),一个是index(返回某个元素的下标),完毕。

字典dict

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:


dic1 = "a":1,
"b":2,
"c":3


字典的特性:


  • dict是无序的
  • key必须是唯一的,so 天生去重

增加


>>> dic1[d] = 4
>>> dic1
a: 1, b: 2, c: 3, d: 4


修改


>>> dic1[b] = 5
>>> dic1
a: 1, b: 5, c: 3, d: 4


 查找


>>> a in dic1 #确认 a是否存在
True
>>> dic1.get(b) #获取
5
>>> dic1[a] #获取
1


 字典还有其他方法

cmp(dict1, dict2):比较两个字典元素

len(dict):计算字典元素个数,即键的总数

str(dict):输出字典可打印的字符串表示

type(variable):返回输入的变量类型,如果变量是字典就返回字典类型

dict.clear() 清除字典中的元素

dict.copy():返回一个字典的浅复制

dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

dict.has_key(key):如果键在字典dict里返回true,否则返回false

dict.items():以列表返回可遍历的(键, 值) 元组数组

dict.keys():以列表返回一个字典所有的键

dict.update(dict2):把字典dict2的键/值对更新到dict里

dict.values():以列表返回字典中的所有值









以上是关于day5-python数据类型的主要内容,如果未能解决你的问题,请参考以下文章

day5-Python学习笔记json数据类型

day5-Python学习笔记常用模块

day5-Python学习笔记内置函数

Python之路,day5-Python基础

day5-python之递归与二分法

day5-python之面向过程编程