抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

这两个月经历了突然的疫情隔离,研究生开题,学术论坛,研究生创新项目等等……终于在这一周尘埃落定了,得以静下心来整理整理自己的一些学习笔记。之前我用过一些python编写的项目,我也只是依葫芦画瓢或者在demo上直接改,还没有系统性地学习过这门编程语言。这里就再记录下自己自学python的一些入门时的笔记,以及记录下几个机器学习方面的python库的使用方法。

1. 六大数据类型

很多编程语言的数据类型是相通或者有类似之处的,学习一门编程语言最基础的就是熟悉它的数据类型,python有6种标准数据类型。

1.1 Numbers(数字类型)

数字类型简单来说就是数值,在python中是不可变数据类型。python的Numbers数据类型又可以分为以下几个子类型

  1. 整型(int): 通常称为整型或整数,是正或负整数,不带小数点。python3整型没有大小限制,可以当作python2的Long类型使用,不像其他编程语言有 int,smallint,short,long,longint,long 等。
  2. 浮点型(float): 浮点型由整数和小数两个部分组成,只能以十进制表示或者科学计数法表示,有长度限制。
  3. 布尔型(bool): 布尔型就是逻辑,使用True和False表示。注意一下在上下文环境中,True当做1,False被当作0。
  4. 复数型(complex): 复数型由实数和虚数部分构成,可以用a + bj或者complex(a, b)表示,a和b都是浮点型。

1.2 String(字符串)

String是python中最常用的数据类型,说白了就是字符组成的一串内容。可以使用成对的单引号或者双引号(“或‘)创建字符串,用三个单引号或者双引号使字符串内容保持原样输出,可以包含特殊字符。在python中字符串是不可变变量。

1.2.1 字符串索引

索引就是字符的位置序号,使用[]进行字符串索引,python有两种索引方式,下标索引越界均会报错。

正向索引:字符串长度为n,从0开始,索引值范围0 ~ n-1

反向索引:字符串长度为n,从-1开始,索引值范围-1 ~ -n

1.2.2 字符串切片

切片意思就是取出字符串中你想要的内容。切片的标准写法是两个冒号加三个数字,如a[1:2:3],需要注意切片是左闭右开的取值,切片越界是不会报错的。

第一个数字表示切片的起始位置(省略就是从第 1 个字符开始,也就是0号位)

第二个数字表示切片的终止位置(不包括这个位置的字符,右开表现在这里;可省略,省略是最后一个字符结尾且包含

第三个数字表示步长(缺省值为1,此时可以不写第二个冒号)

1.2.3 转义

如果使用带有特殊字符的字符串,则需要进行转义,使用反斜杠 \ 进行字符转义。

转义字符 描述
\‘ 表示单引号
\“ 表示双引号
\n 换行
\t 制表符(即四个空格)
\b 退格(删除前面一个字符)
\\ 表示反斜杠

在字符串前加 ’r‘ 可以使整个字符串原样输出,不会被转义。

1.2.4 格式化输出和占位符

格式化输出意思是按照格式说明所描述的文字规则进行输出,占位符的使用是格式化输出的表现形式。占位符的意思是替后面的变量占住这个位置,因此所有占位符最后都需要格式化定义占位符的映射(也就是解释占位符代表的东西)。

这里记录一下最常用的占位符

占位符 描述
%s 针对所有数据类型
%d 针对整型数据类型
%f 只针对浮点数
%.xf 浮点数精确到小数点后x位,注意有个点

可以看到两种输出方式得到的结果是一样的,使用占位符进行格式化输出更简介,且更常用。

1.2.5 常用函数

python还有很多数据操作的函数,这里记录最常用的几个,以后继续补充

type(): 查看数据类型

len(): 查看字符串长度

int(): 将数据类型转换为整数,如int(“1234”)得到结果整型1234

float(): 转换为浮点数,如float(“12.34”)得到结果浮点型12.34

str(): 转换为字符串,如str(123456)得到结果“123456”

1.3 List(列表)

列表数据可以存储任意一种数据类型,是python特有的数据类型,列表用来存储由多个值构成的序列,可以嵌套其他列表,是一种可变数据类型

不同数据项之间由逗号分开,整体放在一个方括号[]里,就可以创建列表,如ls = [1, 2, 3, 4]就是一个列表。

1.3.1 修改列表元素

因为列表是可变数据类型,因此可以用索引或者切片的方法修改列表中的元素。

可以使用del删除列表或者列表中索引为某个数的元素。

1.3.2 列表生成式

除了直接创建列表,还可以使用列表生成式直接生成列表。

1.3.3 列表的方法函数

记录一下操作列表的常用方法,这里就不演示了。

方法 描述
list.append(obj) 列表末尾添加新的对象
list.count(obj) 返回某个元素在列表中出现的次数
list.extend(seq) 在列表末尾添加另一个列表的所有元素
list.index(obj) 返回第一个匹配的的索引值
list.insert(index, obj) 在指定索引插入对象
list.pop(index) 移除指定索引的值,并返回该值
list.sort() 对原列表进行升序排序(纯数字才可以),降序需要添加reverse=True
list.reverse() 反转列表元素
list.remove(obj) 移除第一个匹配的某对象

1.4 Tuple(元组)

元组也是python的一种特殊数据类型,和列表很相似,但是是不可变对象。如果想创建一个全局都不变的变量,可以考虑创建元组。

元组中的元素用逗号分隔,一般要使用小括号(小括号不是必须的,只是为了方便理解和美观)。

元组中如果只有一个元素,需要在元素后加逗号。否则无法判断这是一个元组还是一个整型数据。

同样元组数据也可以进行索引和切片,这里不赘述。

1.4.1 元组和列表的互相转化

元组转化列表使用list()函数,列表转化元组使用tuple()函数。

1.4.2 结合元组的列表生成式

元组不能通过和列表一样的生成式来创建,但是列表生成式中可以加入元组。

1.5 Set(集合)

集合是一个无序的不重复元素序列,可以使用大括号{}或者set()函数创建集合,但是创建一个空集合必须要用set()而不是{},因为{}是用来创建一个空字典的。

因为用的不多,简单记录一下,集合有三个特点

集合的元素是无序的。 如:{1, 2, 3}和{1, 3, 2}是完全相等的。

集合的元素是不重复的。 如:{1, 1, 1}只会保留一个值,打印结果为{1}。

集合的元素必须是不可变数据类型(数字、字符串和元组)。 如:{1, [1, 2]}打印结果会报错,因为列表是可变数据类型。

1.6 Dictionary(字典)

字典用的比较多,其存储特点是键值对的形式出现(Key-Value),一个键对应一个值,每个键值对用冒号隔开,每对键值对用逗号隔开。字典也可以存储任意类型数据。

需要注意的一点,在字典数据类型中,键必须是唯一的,但是值可以不唯一,值可以取任何数据类型,但是键必须是不可变数据类型。

1.6.1 字典创建和修改

字典数据可以通过花括号直接创建,或者通过dict()函数创建(非空)。

通过访问键来访问对应的值,添加、删除和修改的方法均类似。

1.6.2 字典的方法函数

记录一下常用的字典方法函数,就不演示了,具体用到的时候可以查。

方法 描述
dict.keys() 返回所有键的列表dict_key对象,可以转换成列表、元组和集合
dict.values() 返回所有值的列表dict_values对象,也可以转换成列表、元组和集合
dict.items() 返回所有键值对的列表dict_items对象,同样可以转换成列表、元组和集合
dict.clear() 清空字典,无返回值,只剩下空字典
dict.get(key, default=None) 返回字典中指定key的value值,如果key不存在,则返回default值
dict.pop(key, default=None) 删除指定的key并返回对应的value值,如果key不存在,则返回default值

简单小结一下关于python数据类型的注意点:

1.可变数据类型:List、Dictionary、Set

2.不可变数据类型:Tuple、Numbers、String。不可变体现在索引这些变量名的元素不可被重新赋值

3.下标索引:String、List、Tuple支持下标索引,Dictionary是通过Key值索引

4.切片:String、List、Tuple支持切片操作

欢迎小伙伴们留言评论~