Python学习3-数据类型
来源:互联网 发布:mac装了双系统怎么切换 编辑:程序博客网 时间:2024/05/16 10:11
Python定义变量时并不需要指定数据类型,但实际使用还是区分不同类型的。比如接口调用的参数,最好在正式业务逻辑前都做数据类型的判断。
基本的数据类型
整数
Python支持任意长度的正负整数,写法和数学中的写法一样且运算永远是精确的,如下40位的整数加法。
>>> 12345678901234567890123456789012345671234567890123456789012345678901234567891
浮点数
浮点数也就是小数,可以用数学中的写法,或者用科学计数法。浮点数运算则可能会有四舍五入的误差,如下0.0000099记为9.9e-6,0.95625845/3=0.31875281666666666666666666666667但是在python中丢失了精度。
>>> 9.9e-6+100100.0000099>>> 0.95625845/30.31875281666666666
布尔值
布尔值只能为True或者Flase(注意:python是区分大小写的),也可以通过运算获取布尔值,常用于条件判断。
>>> trueTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'true' is not defined>>> TrueTrue>>> falseTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'false' is not defined>>> FalseFalse>>> 1>2False>>> 1>0True
布尔值可以用and、or、not运算。
- and
与运算,需要所有值都为True才返回True。 - or
或运算,其中一个值为True则返回True。 - not
非运算,True变为False,False变为True。
>>> True and False and TrueFalse>>> True and True and TrueTrue>>> True or False or FalseTrue>>> False or False or FalseFalse>>> not TrueFalse>>> not FalseTrue
字符串
字符串是以单引号’或双引号”括起来的任意文本。
>>> "hello s"'hello s'>>> 'hello s''hello s'
字符串中有特殊字符时,可以使用转义字符“\”来标识,如果不想转义字符串中的“\”,使用r”表示”内部的字符串默认不转义。\n为换行标识,也可以使用”’ ”’括起来换行。
>>> print(" I'm zhangsan") I'm zhangsan>>> print(' I'm zhangsan') File "<stdin>", line 1 print(' I'm zhangsan') ^SyntaxError: invalid syntax>>> print(' I\'m zhangsan') I'm zhangsan>>> print(' I\'m zhangsan\nWath\'s your name?') I'm zhangsanWath's your name?>>> print(r"hello \n")hello \n>>> print('''hello... tom''')hellotom
空值
空值用None表示。None不能认为是0或者”,而是一个特殊的值。(类似于Java中的null)
列表
列表分为有序的动态列表list、和初始化后不可修改的元组tuple。
- list
list是一种有序的集合,可以动态添加和删除其中的元素。用中括号[]定义。
>>> mylist = []>>> mylist[]>>> mylist = ['a','b','c','d','e']>>> mylist['a', 'b', 'c', 'd', 'e']
list用索引访问每一个位置的元素,索引是从0开始,-1表示最后一个位置。
>>> mylist = ['a','b','c','d','e']>>> mylist[0]'a'>>> mylist[1]'b'>>> mylist[-1]'e'
可使用函数len()获取list元素个数。
>>> mylist = ['a','b','c','d','e']>>> len(mylist)5
使用list自带的函数append、insert和extend添加元素。append是添加到末尾,insert可以添加到指定位置,extend将一个list添加到另一个list末尾。
>>> mylist = ['a','b','c','d','e']>>> mylist.append('f')>>>mylist ['a', 'b', 'c', 'd', 'e', 'f']>>> mylist.insert(1,'1')>>>mylist ['a','1', 'b', 'c', 'd', 'e', 'f']
删除list中元素有三种方式:pop、remove、del
pop()为list自带函数,返回值为删除的元素,不加参数默认为删除最后一个。
remove()也为list自带参数,删除某一个值,如果list中有多个,都会删除。
公共函数del(),可以删除list中指定位置的值。
>>> mylist = ['a','b','c','d','e']>>> mylist.pop()'e'>>> mylist['a', 'b', 'c', 'd']>>> mylist.pop(1)'b'>>> mylist['a', 'c', 'd']>>> mylist.remove('a')>>> mylist['c', 'd']>>> mylist.remove(0)Traceback (most recent call last): File "<stdin>", line 1, in <module>ValueError: list.remove(x): x not in list>>> del(mylist[1])>>> mylist['c']
list中的元素可以为不同类型,也可以为另一个list作为元素。
>>> mylist = [1,'a',2]>>> mylist[1, 'a', 2]>>> mylist.append(['3',4])>>> mylist[1, 'a', 2, ['3', 4]]>>> mylist[3][1]4
- tuple
元组tuple是另外一种有序的集合,和list相似,不过初始化后就不能修改。用括号()定义。
一个元素的元组定义需要在后面加“,”以消除和数字(1)=1的歧义。
>>> t = ()>>> t()>>> t = (1)>>> t1>>> t = (1,)>>> t(1,)>>> t = (1,2,3)>>> t(1, 2, 3)
元组中元素也是用索引访问,并且当中的元素是不可变的。
>>> t = (1,2,3)>>> t[0]1>>> t[0]=4Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
字典
dict
dict(dictionary),类似java中的map,使用键-值(key-value)对的方式存储。使用大括号{}定义。
>>> d = {}>>> d{}>>> d = {"a":None,"b":0,"c":"abc"}>>> d{'a': None, 'b': 0, 'c': 'abc'}{}
dict使用[key值]访问元素,如果key不存在会报错,可以使用in判断key是否在dict中存在,如果存在再去取。
>>> d = {"a":None,"b":0,"c":"abc"}>>> d["a"]>>> d["b"]0>>> d["d"]Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 'd'>>> 'a' in dTrue>>> 'd' in dFalse>>>
也可以使用get()函数获取元素,如果key不存在会返回None
>>> d = {"a":None,"b":0,"c":"abc"}>>> d.get("b")0>>> d.get("d")>>>
dict添加元素,可以直接赋值。
>>> d{}>>> d['a']='abc'>>> d{'a': 'abc'}
dict删除元素有三种方法
- pop
pop函数,必须带key值,删除指定的键值对。 - del
del函数,删除dict中某个值。 - clear
clear函数,清空dict。
>>> d.pop('a')>>> d{'b': 0, 'c': 'abc'}>>> del(d['b'])>>> d{'c': 'abc'}>>> d.clear()>>> d{}
dict与list比较,查询和插入速度快,但是占用内存比较大。
Set
set和dict类似,也是一组key的集合,值不能重复。使用set()定义,传入一个list参数。
插入重复值时只会覆盖,使用add函数添加元素,remove函数删除元素。
>>> s = set(['a','a','b'])>>> s{'a', 'b'}>>> s.add(3)>>> s{3, 'a', 'b'}>>> s.remove('a')>>> s{3, 'b'}
- Python学习3-数据类型
- python学习(3)--数据类型
- Python学习-Python数据类型
- python学习笔记(3):数据类型
- Python学习--数据类型
- 学习Python 之 数据类型
- Python学习-数据类型
- Python学习二:数据类型
- python学习之数据类型
- python基础学习-数据类型
- Python入门学习-数据类型
- python数据类型学习笔记
- Python学习笔记----数据类型
- [Python源码学习]之数据类型
- python学习数据类型之datetime
- python学习—-基本数据类型
- 菜鸟学习Python之数据类型
- Python学习笔记之数据类型
- 集群机器时间同步
- 关于js与PHP时间戳
- Linux下安装Node.js环境
- 折线分割平面
- Android中自定义RatingBar,自定义星星间距,自定义样式,自定义显示效果
- Python学习3-数据类型
- RTMP直播点播-基于开源crtmpserver
- 文章标题
- iOS内购(IAP,In App Purchases-在APP内部支付),设置及使用
- 仿新浪微博,qq,微信等的"长图"预览
- javax.net.ssl.SSLProtocolException: handshake alert:unrecognized_name
- Swagger集成Springboot生成Restful api
- POJ 2781 The mysterious X network 笔记
- python 的日志logging模块学习