Python基础第二章数据类型
2018-08-09 19:02 晓冲。 阅读(236) 评论(0) 收藏 举报一、数据类型
数据类型分为数字(整型,长整型,浮点型,复数),字符串,字节串(字符编码介绍的byte类型),列表,元组,字典,集合。
1、数字
数字分为整型和浮点型。
整型int:
作用:用来表示年纪,年龄,等级,身份证号等。。。
定义: age = 10 #本质 age = int(10)
浮点型float:
作用:用来表示身高,薪资,体重等。。。
定义:salary = 3568.97 #本质 salary = float(3568.9)
2、字符串
字符串为str
作用:用来描述名字,性别,国籍等描述信息
定义:在单引号,双引号,三引号中,由一串字符传组成 name = 'boris' , name = "boris". #本质 name = str('boris')
3、列表
列表为list
作用:多个爱好,多个课程,多个城市等。。。
定义:[ ] 中括号内可以由多个任意类型的键值,逗号分隔, family = ['father','mother','sister','girlfriends'] #本质 family = list(['father','mother','sister','girlfriends'])
4、元组
元组为 () 小括号
作用:存多个值,对比列表来说,元组不可改变(是可以当作字典的key的),主要用来读
定义:与列表相比,只是 [ ]中括号,换成 ( )小括号 # age = (23,24,25,26)#本质 age = tuple((23,24,25,26))
5、字典
字典为 { } 大括号
作用:存多个值,key-value存取,取值速度快
定义:key必须是不可变的类型,value可以是任意类型。 # info = { 'name' : 'boris' , 'age' : '23', 'sex' : 'male' } #本质 info = dict({ 'name' : 'boris' , 'age' : '23', 'sex' : 'male' }) 或者 info = dict ( name = 'boris' , age = '23' , sex = 'male')
6、集合
集合为可以用多个元素,用逗号分隔
作用:去重,关系运算
定义:1.每个元素必须是不可变的类型(可hash,可作为字典的key)2.没有重复的元素 3.无序
注意:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
7、数据类型总结
1.按存储空间的占用分(从低到高)
数字---->字符串----->集合(无序,即无需存索引相关信息)-----> 元组(有序,即需要存索引相关信息,不可变)------> 列表 (有序,即需要存索引的相关信息,可变,需要处理数据的增删改)-------> 字典(无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改)
2.按存取值个数分区
标量,原子类型=======>数字,字符串。容器类型=========> 列表,元组,字典
3.按可变与不可变区分
可变的 =========> 列表,字典。不可变的 =============> 数字,字符串,元组
4.按访问顺序区分
直接访问========> 数字。顺序访问(序列类型)===========>字符串,列表,元组。key值访问(映射类型)===========> 字典。
二、字符编码
1、什么是字符编码?
我们在使用计算机是,用的是人类能读懂的字符,而高级语言编程的结果无非是在一个文件内写了一推字符,让计算机能读懂人类的字符。这两者都必须经过一个过程:字符------------>翻译-----------> 数字,这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准为字符编码。
2、字符编码的发展史
1.ASCII码
ASCII是最早的编码,里面有英语大写字母,小写字母,数字,一些特殊字符,没有中文,8个01代码,8个bit,1个byte。
2.GBK码
GBK是中文国标码,里面包含了ASCII编码和中文常用编码。16个bit,2个byte
3.UNICODE码
UNICODE码是万国码,里面包含了全世界所有国家文字的编码,32个bit,4byte,包含了ASCII码,定长。
4.UTF-8码
UTF-8是可变长度的万国码,是unicode的一种实现,最小占位8位,可变长,对英文字符只用1byte表示,对中文字符用3byte表示,对其他生僻字用更过的byte去存。
5.总结
综上除了ASCII码以外,其他信息不能直接转换。在python3的内存中,在程序运行阶段,使用的是unicode编码,在数据传输和存储的时候由于unicode比较浪费空间和资源,需要把unicode转存成UTF-8或者GBK进行存储。简单的理解就是 编码=====>传输=====>存储====>解码.数据没有变化,执行表现形式发生了变化而已。
三、文件操作
1、初识文件操作
在python中打开文件,得到文件句柄并赋值给一个变量,通过句柄对文件进行各种各样的操作,然后关闭文件。打开文件的方式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b,默认使用的是r(只读)模式。
1 #1.打开文件,打开的方式,得到一个文件句柄并赋值给一个变量
2 f = open("a1.txt",mode="r",encoding="utf-8")
3
4 #2.通过句柄对文件进行操作
5 s = f.read()
6
7
8 #3.输出操作后的结果
9 print(s)
10
11
12 #4.关闭文件
13 f.close()
#分析过程:由程序向操作系统发起系统调用open(.....) ------------> 操作系统打开该文件,并返回一个文件句柄给应用程序给应用程序 ---------->应用程序将文件句柄赋值给变量f ------------> 输出文件内容 ------------>关闭文件。
2、打开文件的模式
1.打开文件的模式(默认是文本模式)
r:只读模式,默认模式,文件必须存在,不存在则异常
w: 只写模式,不可读,不存在则创建,存在则清空
a: 只追写模式,不可读,不存在则创建,存在则只追加内容
2.非文本文件只能用b模式,b表示以字节的方式进行操作,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
rb:只读模式,以字节方式进行读取
wb: 只写模式,以字节方式进行写
ab: 只追加模式,以字节方式进行追加
3.了解部分
"+": 表示可以同时读写某个文件
r+: 表示读写,可读,可写
w+: 表示写读,可写,可读
a+: 表示写读,可写,可读
x : 表示只写模式,不可读,不存在则创建,存在则报错
x+: 表示写读,可写,可读
四、函数
1、什么是函数
函数:定义一个事情或者功能,等到需要的时候直接调用,这里调用的东西就是一个函数。
2、函数的分类
函数分为内置函数和自定义函数,内置函数就是我们可以拿来就用的无需事先定义,比如len(),sum(),max()等;自定义函数就是事先定制好我们自己的函数,来实现某种功能,以后再遇到应用场景时,调用自定义的函数即可。
3、自定义函数
1.定义函数的语法
1 #语法
2
3 def 函数名(参数1,参数2,参数3,.....):
4 ''' 注释 '''
5 函数体
6 return 返回的值
7
8 #函数名要能反映其意义
注:函数在定义阶段,只检测语法,不执行代码,语法错误会在定义阶段就检测出来,而代码的逻辑错误只有在执行的时候才知道。
2.定义函数的三种形式
1.无参:应用场景仅仅只是执行一些操作
2.有参:需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
3.空函数:设计代码结构
4、调用函数
函数的调用:函数名加括号,执行流程是先找到函数名字,再根据名字调用代码
5、函数的返回值
在函数体中,如果没有return,执行函数就返回None,如果有return 1个值,则返回一个值,如果return 多个值(逗号分隔)则返回一个元组。
6、函数的参数
函数的参数分为形参和实参。形参即变量名,实参即变量值,函数调用时,将值绑定到变量名上,函数调用结束,解除绑定。

浙公网安备 33010602011771号