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'
切片,取多个元素
>>> list1[1:4] 取下标1到4的值,不包含4
[1, '', 'qwe']
>>> list1[1:-1] 取下标1到最后一个值,不包含最后一个。
[1, '']
>>> list1[0:3] 取下标0到3的值,不包含下标3的值
['a', 1, '']
>>> list1[:3] 取开头到3的值
['a', 1, '']
>>> list1[2:] 取2到结尾的值
['', 'qwe']
>>> list1[0::2] 取0到结尾的值, 2表示间隔一个值,取一个
['a', '']
追加 append
>>> list1.append("xin")
>>> list1
['a', 1, '', 'qwe', 'xin']
插入insert
>>> list1.insert(2,'charu') 从下标2后面插入
>>> list1
['a', 1, 'charu', '', '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基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
- python 数据类型---布尔型& 字符串
python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- 1 Python数据类型--
常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...
- Python数据类型和数据操作
python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...
- Python数据类型(python3)
Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...
随机推荐
- 全排列问题(c语言实现)
问题描述: 假设有数组里面存放26个字母,取出n个,以m个排列,计算排列的总数! 注意: (1) m<n (2) 里面的元素不能重复排列 (3)"遇零则止" 核心代码如下: ...
- 算法笔记--FFT
推荐阅读资料:算法导论第30章 本文不做证明,详细证明请看如上资料. FFT在算法竞赛中主要用来加速多项式的乘法 普通是多项式乘法时间复杂度的是O(n2),而用FFT求多项式的乘法可以使时间复杂度达到 ...
- Unity中利用光线投射实现摄像机拉近追踪对象
项目中要求实现摄像机跟踪人物移动,并且可以水平360°,上下接近180°的自由旋转.这些操作网上已近有很多版本的实现,在此不再赘述.我在此想说的是,当摄像机移动到场景边界,或者触碰到场景中的障碍物的时 ...
- 推送消息 web push notification
参考 : https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/ ( step b ...
- 通过 rufus 创建启动U盘,安装 VMWare Esxi
现在谁还用光盘安装系统啊. 做出启动盘后,U盘启动进行安装才是王道. https://www.starwindsoftware.com/blog/create-an-esxi-6-5-installa ...
- 开机出现grub界面(待尝试)
开机出现grub界面 试一下这个命令: grub> rootnoverify (hd0,0) grub> chainloader +1 grub> boot 这样就可以进入到wind ...
- English Voice of <<All Of Me>>
"All Of Me"我的一切 [Verse 1:]What would I do without your smart mouth没有你的蜜语甜言,我该怎办Drawing me ...
- P3911 最小公倍数之和
终于找到了一个只会用[gcd(i,j)==1] = sigema d|gcd(i,j) mu(d) 做不了的题. 考虑枚举gcd后. 此时,ans可以表示为一个 sigema x f(x)的形式. 考 ...
- display:inline-block与float
display:inline-block 既有行级元素的特性,也有块级元素的特性,因此在同一行,能设置宽高,margin,padding inline-block和float的区别 虽然设置float ...
- Single Number leetcode java
问题描述: Given an array of integers, every element appears twice except for one. Find that single one. ...