为什么会有不同的数据类型?
计算机是用来做数学计算的机器,因此它可以处理各种数值,但是计算机能够处理的远远不止是数值,它还可以处理文本、图形、音频、视频等各种各样的数据,不同的数据要定义不同的数据类型。
python的基本数据类型分为几种?
python有8种数据类型
a.整数 【int】:python可以处理任意大小的整数,当然包括负整数,在程序的表示方法和数学上的写法是一模一样的,例如:1, 100, -10等
b.浮点数【float】:浮点数又称小数,之所以称之为浮点数,是因为按照科学计数法表示的的时候,一个浮点数的位置是可变的,比如1.23x10^5 与 12.3x10^4是相等的。[在python中浮点数的表示会有一定的误差,这个误差的原因是实数的无限精度跟计算机的有限内存之间的矛盾]
注意:整数与浮点数在计算机内存的存储方式不同,整数运输是精确的,而浮点数运算则可能会有四舍五入的误差。
c.复数:复数由实数部分和虚数部分组成,可以用a+bj或者complex(a,b)的形式表示,复数的实部a和虚部b都是浮点型。
字符串是以单引号或双引号括起来的任意文本,比如“abc”,‘xy’等等,请注意‘’或者“”本身只是一种表示方式,并不是字符串的一部分。
a.若字符串内部包含单引号又包含双引号怎么办?
print('I\'m \"ok\"')表示的字符串内容是:
I'm "ok"注意:转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也需要转义,所以\\表示的字符就是\等等
>>>print('I\'m ok.') I'm ok. >>>print('I\'m learning\n python.') I'm leanring Python.但是,如果字符串里面很多字符串需要转义,就需要添加很多,为了简化,python还允许用r’’“表示内部的字符串默认不转义。
>>> print('\\\n\\') \ \ >>> print('\\\t\\') \ \ >>>print(r'\\\t\\') \\\t\\如果字符串内部很多换行,用\n写在一行里不好阅读,为了简化,python允许用’’’…’’'的格式表示多行内容:
>>> print('''line1 line2 line3''') line1 line2 line3布尔值只有True、False两种值,在python中可以直接用True、False表示布尔值【注意大小写】,也可以通过布尔运算计算出来:
>>> True True >>> 3 > 2 True空值是python里一个特殊的值,用None表示,None与0表示的意思并不相同,而None是一个特殊的空值。
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素
>>> list1 = ["张三", "王二", "李四"] >>> type(list1) <class 'list'>另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
当元组中只有一个元素时,应在元素后加一个逗号,消除歧义
>>> tuple1 = ("张三", "王二", "李四") >>> type(tuple1) <class 'tuple'>Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
>>> dict1 = {'lisi': 89, 'lili':90} >>> type(dict1) <class 'dict'>set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>> set1 = {"lisi", "wanger"} >>> type(set1) <class 'set'> set2 = {} dict2 = {} print(type(set2)) print(type(dict2)) <class 'dict'> <class 'dict'> # 都为字典类型1.字符串和数值类型可以直接输出
>>>print(1) 1 >>>print("hello world") hello world2.变量,无论是什么类型,数值,布尔,列表。字典都可以直接输出
>>> x=12 >>>print(x) 12 >>> list1 = [1, 2, 3] >>> print(list1) [1, 2, 3]3.格式化输出
>>> s = 'hello' >>> s 'hello' >>> x = len(s) >>> print("the length of %s is %d"%(s,x)) the length of hello is 5注意,格式化输出的时候,
1.%字符:标记转换说明符的开始;
2.如果只有一个参数可以加括号也可以不加
3.根据类型不同使用的格式化符号也不同,
%d 整数 %f浮点型 %s 字符串
