python基础知识二

这篇具有很好参考价值的文章主要介绍了python基础知识二。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

五、组合数据类型

5.1认识组合数据类型

序列类型:列表、元组、字符串 —> 支持双向索引

集合类型:集合 —> 确定性、互异性、无序性;放入集合中的元素必须为不可变类型(数字类型,字符串,元组)

映射类型:字典 —> 键值对的形式存在,键必须为不可变类型(数字类型,字符串,元组)

多个相同或者不同数据类型的数据组织成一个整体

5.2列表

1、创建列表:
#方法一:[]
list1 = [] 
list2 = ['p','y']
list3 = ['python1','pppp']
#方法二:set()函数
list4 = list(1)
list5 = list('python')
list6 = list(1,2,'rr')

isinstance()判断是否为可迭代对象

2、访问列表元素
#以索引访问
list1[1]
list1[3]
#以切片方式访问
list2[m:n:step]    # 截取部分元素,形成一个新的列表,m~n-1的元素,步长step默认为1
#在循环中依次访问列表元素
list3 = ['p','y','t','h','o','n']
for i in list3:
    print(i,end = ' ')
# 结果为:p y t h o n
3、添加列表元素

append():在列表结尾追加新的元素

extend():在列表结尾一次添加另一个列表中的所有元素

l1 = ['abc']
l2 = ['123']
l1.extend(l2)
print(l1)
# 结果为:['abc','123']

insert():按照索引将新元素插入列表中

4、元素排序

sort(key=none , reverse = False) —> key指定排序规则,reverse = False 表示升序,True表示降序

​ —> 排序后有序的元素会覆盖掉原来的元素,不产生新的列表

sorted() —> 升序排列,产生新的列表,原来的列表不变

reverse() —> 逆置列表

5、删除列表元素
name = ['tom','alice','lucy']

del()

# 1删除指定位置的元素
del name[0]
# 2删除整个列表
del name

remove()

# 移除列表中的某个元素,若有多个,只移除第一个
name.remove('tom')

pop()

# 移除指定位置的元素,默认为最后一个
name.pop()
6、列表推导式
[exp for i in list1 [if cond]    # cond为条件
	 for j in list2 [if cond]]
[x+y for x in range(1:3)
	for y in range(2:6)]

5.3元组

1、创建元组
# 1
t = ()
t = (1,)
t = (1,2,3)
# 2
t = tuple()
t = tuple('python')	# ('p','y','t','h','o','n')
2、元组补充说明:

元组为不可变类型,元组中的元素不能修改,所以不支持添加、修改、排序操作

元组中只有一个元素时,形式为(1,)

5.4集合

1、创建集合

空集合只能用set()创建,不包含元素的{}创建的是空字典

s1 = {1}
s2 = set([1,2,3])
s3 = set((2,3,4))
s4 = set(range(5))
2、常用方法
方法名 说明
add(x) 向集合中添加元素x
remove(x) 删除元素中的x元素,不存在则抛出KeyError异常
discard(x) 删除元素中的x元素,不存在不做处理
pop() 返回一个元素,并删除该元素
clear() 清空集合
copy() 复制集合,返回一个集合
isdisjoint(T) 判断与集合T是否有相同元素,有False,没有True

5.5字典

1、创建字典

以键值对的形式存在

{}
dict()
2、访问字典
# 利用键访问 格式:字典变量[键]
dict1['A']
dict1[3]
# 利用get()根据键获取值
dict1.get('A')
# keys():获取所有键
# values():获取所有值
# items():获取所有键值对
3、添加与修改

添加

1、 为指定的键(键存在为修改元素;不存在为添加元素)赋值

2、update()方法:

dict1.update(sno = 55)

修改:同添加

4、删除

1、pop()

2、popitem(): 随机删除字典中的元素

3、clear():清空字典

六、函数

1、定义与调用

# 定义函数的格式
def 函数名(参数列表):
    函数体
    [return 语句,可以省略]

函数可以嵌套定义

被嵌套的函数为内层函数,嵌套的函数为外层函数,函数外部无法调用内层函数

2、函数参数的传递

1.位置参数传递

2.关键字参数的传递

有关键字参数传递后不再接受按照参数传递的参数

3.默认参数的传递

4.参数的打包与解包

打包:

*args 接收以元组形式打包的多个值

**kwargs 接收以字典形式打包的多个值

解包:

若以元组的形式接收参数,可以使用* 将其拆分成多个值

若以字典的形式接收参数,可以使用**将其拆分成多个数据

3、函数的返回值

返回一个值

返回多个值:被保存到元组中

4、变量作用域

局部变量:函数内部定义,只能在函数内部使用

全局变量:整个程序内使用

global关键字:可以实现在函数内部修改全局变量

nonlical关键字:可以实现在函数内部修改嵌套函数内的变量

5、特殊形式的函数

1、递归函数:调用了自身的函数

2、匿名函数:无需定义标识符、函数体只能是一个表达式

lambda <形式参数列表> : <表达式>
# eg.
lambda x : pow(x,2)

七、文件操作

1、基础操作

打开文件:open()

打开方式:

关闭文件:

# close()函数
file.close()

# with语句
with open()
	#一些操作
使用完毕后,会自动关闭

读写操作

方法名 说明
read(x) x表示读取的字节数,默认为-1,表示全部读取
readline() 读取一行数据
readlines() 一次性读取所有文件,每一行为一个元素,以列表的形式保存
write() 将指定字符写入文件
writelines()
tell() 获取文件当前的读写位置
seek(offset,from) 设置文件操作的位置,offset表示偏移量,from—>0:文件开头;1:当前读写位置,2:文件结尾

2、文件目录管理

方法名 说明
remove() 删除文件
rename() 文件重命名
mkdir()/rmdir() 创建/删除目录
getcwd() 获取当前目录
chdir() 更改默认名目录
listdir() 获取文件名列表

需要引入 os模块

采用 模块名.方法名 的方法调用

八、面向对象

九、异常

1、概述

BaseException类是所有异常类型的基类

NameError 使用未定义的变量引发的异常
IndexError 程序越界访问时引发的异常
AttributeError 使用对象访问不存在的对象引发的异常
FileNotFoundError 未找到指定的文件或者目录引发的异常

2、异常捕获

语法格式

try:
    可能出错的代码
except [异常类型] [as error]:    # 使用as关键字来获取异常的具体信息
    捕获异常后处理的代码
else:
    没有异常的处理代码
finally:
    有无异常都会执行的代码

3、抛出异常

raise

assert

# 格式
assert 表达式 [,异常信息]
# 表达式为False时触发AssertionError异常
# 表达式为True 时不进行任何操作

4、自定义异常

需要继承Exception类

5、补充说明

try—except语句可以有多个except子句

try—except语句只能有一个finally子句

文章来源地址https://www.toymoban.com/news/detail-448718.html

到了这里,关于python基础知识二的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库基础知识之数据类型

    mysql常用数据类型 一、数值类型(整型、浮点型) 1、整型 eg:添加一个表格:点击表——添加字段——名称——类型,年龄age是tinyint类型,要在下方勾选无符号,因为年龄都是正数,不存在负数一说,所以不需要符号。 点击保存,然后输入表名,比如t1,就出现了t1    然后

    2024年02月06日
    浏览(34)
  • JavaScript基础知识09——数据类型

    哈喽,大家好啊,这里是雷工笔记,我是雷工。 数据类型比较常见,无论是对程序员,还是电气工程师来说,都再熟悉不过了,这里跟着教程了解一下,主要看跟自己以往在其他PLC,C#,组态软件中应用的有啥不同。 在计算机的世界就像黑客帝国中的超级计算机,其中的人、

    2024年02月09日
    浏览(41)
  • TypeScript基础知识:高级数据类型

            TypeScript 是一种静态类型检查的 JavaScript 超集,它提供了许多强大的高级数据类型,可以帮助我们更好地定义和操作数据。本文将深入介绍 TypeScript 的高级数据类型,包括交叉类型、联合类型和映射类型,并通过示例代码演示它们的用法和优势。         交叉

    2024年01月17日
    浏览(35)
  • MySQL实战基础知识入门(13):数据类型

    MySQL实战基础知识入门(1):登录数据库命令行 MySQL实战基础知识入门(2):统计一天24小时数据默认补0的sql语句 MySQL实战基础知识入门(3):近7日销量合计php后端mysql语句如果当日为空则自动补0的解决方案 MySQL实战基础知识入门(4):MySQL高级函数CASE WHEN END MySQL实战基础知识入门

    2024年02月07日
    浏览(46)
  • Ceph基础知识和基础架构认识

    Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。在虚拟化领域里,比较常用到的是Ceph的块设备存储,比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的cinder后端存储、

    2024年02月10日
    浏览(32)
  • C++ 基础知识 四 ( 认识STL 上篇 )

    Standard Template Library:标准模板库 是一个基于泛型的C++类模板库由Alexander Stepanov于1994年开发 其目的是为了提供一致通用和高效的数据结构和算法,同时不限制用户所处理的数据类型和编程范式。STL的原型最初由Andrew Koenig和其它C++专家小组进行设计并在1995年C++标准委员会的推

    2024年02月03日
    浏览(30)
  • 开发基础知识-认识Tomcat,Tomcat基础,快速入门Tomcat

    Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 往细的方面说:Tomcat 是一个 HTTP 服务器。HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式

    2024年02月19日
    浏览(31)
  • 本文通过实例介绍了Redis的基础知识、数据类型、数据结构以及典型应用场景 值得一看!

    作者:禅与计算机程序设计艺术 2017年,Redis是基于MIT许可发布的一个开源的高性能键值数据库,其开发语言为C语言。它提供了多种数据类型(strings、hashes、lists、sets、sorted sets等),分布式支持(可横向扩展),内存存储,持久化功能,事务处理功能等。作为一种高性能的

    2024年02月06日
    浏览(46)
  • Unity基础知识之顶点吸附、创建组合体

    顶点吸附 :选择物体后按住键盘上的 V键 ,鼠标定点定位,再拖拽到目标物体对齐即可。 注:操作成功后先松 V键 。 1、两个平面Plane的顶点吸附 2、两个物体cube的顶点吸附 组合体子弹由2个capsule(胶囊)、1个cylinder(圆柱体)组成,如图先创建这3个对象。 再将其中一个c

    2023年04月25日
    浏览(23)
  • Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API

    Java 是一种由 Sun Microsystems 于 1995 年首次发布的编程语言和计算平台。Java 是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java 快速、安全、可靠,因此在笔记本电脑、数据中心、游戏机、科学超级计算机、手机等领

    2024年03月24日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包