Python基础学习(3)

ops/2024/9/23 2:26:47/

目录

一,函数

1,函数的定义

2,函数的参数

1,默认值

2,传参

3,返回值

4,变量的作用域

5,函数的调用

二,常用数据结构

1,列表

列表的定义

 列表的特性

遍历

插入

 判断元素是否在列表中

删除

列表的拼接

 2,元组

3,字典

1,定义

 2,使用

1,判断key是否在字典中

2,新增和修改

 3,删除

 4,打印

三,文件

1,文件的打开

2,文件的关闭

 文件个数有限:

文件关闭:

 3,文件写

 4,文件读

5,文件上下文管理


一,函数

1,函数的定义

在pyhon中,函数的定义较为简单。

示例如下:

python">def test(a,b):print(a,b)test(10,20)

 语法为:def 函数名(参数1,参数2,.....):函数体

2,函数的参数

如上图,a,b便是函数的参数。在python中,函数的参数的定义是不需要类型的。 

1,默认值

python中,也有默认值的概念。在设置默认值时要注意,默认值一定是在非默认值的后面设置的。

示例:

python">def test2(a,b,c=10):print(a,b,c)

 在上述例子中,c = 10便是默认值。

2,传参

1,位置传参

示例:

python">test2(10,20)

2,关键字传参 

python">test2(b = 10,a = 20)

 关键字传参可以不讲顺序的传入参数。

3,返回值

python中也有返回值的概念,也是使用return返回。不过,在python中还支持一次返回多个值。

示例:

1,普通返回

python">def test3(a):return aret = test3(10)

 2,一次返回多个值

python">def test4(a,b,c):return a,b,cret1,ret2,ret3 =test4(10,20,30)

4,变量的作用域

 在python中,函数内定义的变量的作用域就在函数的内部。当函数内部定义的变量和外部的变量有重名的时候时,调用的是内部的变量,要调用外部变量时要使用globle来声明。

示例 :

python">val = 100
def test5():val = 0print(val)test5()

 

使用global变量声明:

python">val = 100
def test5():global valval+=10print(val)test5()

5,函数的调用

python的函数可以嵌套调用,也可以递归调用。

二,常用数据结构

列表和元组的区别就在于列表可以修改,元组不能修改。

1,列表

列表的定义

列表的定义有两种方式:[ ],list()

案例:

python"># 第一种
a = list()
# 第二种
b = [1,2,3,4,5]
 列表的特性

1,支持下标访问:python的下标可以为负数,负数代表从后往前遍历。

2,切片访问:python支持切片访问,切片格式:[pos1:pos2:step]。

 示例

python">a=[1,2,3,4,5,6,7,8]
#下标为-1代表是最后以为
print(-1)
#切片
print(a[1:5])
#设置步数
print(a[1:5:2])
遍历

列表的遍历方式分为两种:

1,in迭代方式

2,下标访问

第一种方式修改值时不能改变列表里的值,第二种方式可以改变列表内元素的值

示例:

python">a = [1,2,3,4,5,6,7,8,9,10]
#第一种遍历方式
for i in a:print(i,end=' ')print()#第二种遍历方式
Len = len(a)
n=0
while n < Len:print(a[n],end=' ')n+=1
插入

支持两种插入方式:1,append(),直接插入到列表的后面。

                                 2,insert():插入到列表的指定下标处。

python">a.append(1)
print(a)a.insert(1,100)
print(a)
 判断元素是否在列表中

判断方式:

                1,使用in来判断。

                2,调用列表的index函数来判断。

python">#打印结果为True/False
print(1 in a)#打印下标
pos = a.index(100)
print(pos)
删除

列表的删除方式有两种:1,pop():删除最后一个字符

                                        2,remove():删除指定的value 

 示例:

python">a = [1,2,3,4,5,6,7,8,9,10]
print(a)
a.pop()
print(a)
a.remove(9)
print(a)
列表的拼接

列表的拼接有三种方式:

1,使用+的方式来拼接

2,使用extend()函数来拼接

3,使用+=的方式来拼接

python">a = [1,2,3,4,5,6,7,8,9,10]
b=[12,34,56,23,45,33,77]
#使用+的方式来拼接
c=a+b
print(c)
#使用extend方式
a.extend(b)
print(a)
#使用+=方式来拼接
a+=b
print(a)

 2,元组

元组的学习会比较简单,因为元组和列表差不了多少。

知道元组的定义方式有两种:a = ()和tuple()。

元组不支持修改。

3,字典

字典是一种支持key:value的数据结构。底层使用哈希表来实现。

字典的key值只能是确定的,不能修改的值。如:不能为列表,字典。 

1,定义

支持两种定义方式:{},dict() 

示例:

python">a = {'key':'value'
}b = dict()
 2,使用
1,判断key是否在字典中
python">//返回值为bool值
ret = 'id' in a
print(ret)
2,新增和修改

字典通过方括号的方式来新增和删除元素。

python">#新增
a['key2'] = 'value2'
#修改
a['key'] = 'value3'
 3,删除

使用pop(key)来删除dict里面的键值对。

python">a.pop('key')
a.pop('key2')
 4,打印

打印key值:调用keys()

打印value值:调用values()

对印两个值:调用items()

python">print(a.keys())
print(a.values())
print(a.items())

三,文件

python的文件操作比较的简单。无非就是打开,读取,写入,关闭,这四个步骤。

1,文件的打开

打开文件使用到的是open函数。使用方式:open('文件路径','打开方式') ,文件的打开方式有三种:1,读打开('r') 2,写打开('w') 3,追加写打开('a')

 示例:

python">#以读方式打开
f = open('./test.txt','r')
#以写方式打开
f = open('./test.txt','w')
#以追加写方式打开
f = open('./test.txt','a')
2,文件的关闭

文件的打开个数是有限的,所以在打开一个文件以后若是不再使用的话就要关闭文件,否则就会造成内存泄漏。

 文件个数有限:
python">count = 0
List=[]
while True:count+=1f=open('./test.txt','r')List.append(f)print(f'count={count}')

文件关闭:
python">f = open('./test.txt','r')f.close()
 3,文件写

文件使用写write('str')来写入内容到文件中。

python">f = open('./test.txt','w')
f.write('你是笨蛋')
f.close()
 4,文件读

文件的读取方式有三种:1,使用read()来读取   2,使用for循环来读取   3,使用readlines()来读取。

1,read()方式读取 

python">f = open('./test.txt','r',encoding='utf-8')
str = f.read(10)
print(str)
f.close()

 2,for循环方式读取

python">f = open('./test.txt','r',encoding='utf-8')
for line in f:print(f'line:{line}',end='')
f.close()

3,readlines()方式读取

python">f = open('./test.txt','r',encoding='utf-8')
print(f.readlines())
f.close()
5,文件上下文管理

使用文件时最怕的便是内存泄漏问题,所以为了避免这个问题便可以使用文件上下文管理的方式来管理上下文,防止内存泄漏问题。

python">with open('./test.txt','r',encoding='utf-8') as f:f.read(10)

 


http://www.ppmy.cn/ops/114538.html

相关文章

关于IT行业

关于IT行业的一些浅见 在当今的互联网时代&#xff0c;IT行业无疑是一个高速发展的领域。无论是人工智能、大数据、云计算&#xff0c;还是区块链、物联网&#xff0c;这些新兴技术的背后都离不开IT行业的推动力。今天我想简单谈一下自己对IT行业的一些看法和理解。 1. IT行业…

【系统架构设计师】软件架构的风格(经典习题)

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【第1题】【第2题】【第3~4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15~16题】【第17题】【第18~19题】【第20~21题】【第22题】【第23题】【第24~…

基于YOLOv5的教室人数检测统计系统

基于YOLOv5的教室人数检测统计系统可以有效地用于监控教室内的学生数量&#xff0c;适用于多种应用场景&#xff0c;比如 自动考勤、安全监控或空间利用分析 以下是如何构建这样一个系统的概述&#xff0c;包括环境准备、数据集创建、模型训练以及如何处理不同类型的媒体输入…

Unity射击游戏开发教程:(36)敌人关卡生成器的设计和开发

丰富多样地游戏关卡生成器能自动生成不同的关卡地图和游戏内容,以增加游戏的可玩性和挑战性。关卡生成可以基于随机算法或者预设的规则生成不同的地图布局、敌人位置、道具位置等。 定义关卡生成器WaveSpawner 如何设置通用的 Wave Spawner?我将此 Wave Spawner 脚本附加到…

量化交易backtrader实践(二)_基础加强篇(4)_交易设置与自定义绘图

这一节我们来深入实践交易的设置以及自定义绘图。 01_交易设置 参考文档&#xff1a; Backtrader系列教程④&#xff1a;交易篇&#xff08;上&#xff09;_backtrader撤单操作-CSDN博客量化投资之工具篇一&#xff1a;Backtrader从入门到精通&#xff08;8&#xff09;-交易…

安全帽佩戴识别摄像机:守护安全的智能之眼

在现代工业和建筑等诸多领域中&#xff0c;安全始终是重中之重。每一处施工现场、每一个生产车间都潜藏着可能对人员造成伤害的风险因素。而安全帽&#xff0c;作为保护工作人员头部免受伤害的关键装备&#xff0c;其是否被正确佩戴就显得尤为关键。此时&#xff0c;安全帽佩戴…

【postgres】笔记

数据库相关笔记 1.分区表创建时间戳设置问题2.查询语句2.1查询数据库某表有多少行2.2 表中某列值类型是 1.分区表创建时间戳设置问题 今天早上发现postgres数据库表中总会隔4天丢失一天的数据&#xff0c;后来查了一下&#xff0c;发现是分区表创建的有问题。 如图所示 可以看…

Linux链路聚合+网桥

一、简介 链路聚合&#xff08;Link Aggregation&#xff09;&#xff1a; 链路聚合是一种将多个物理网络连接&#xff08;链路&#xff09;合并为一个逻辑通道的技术&#xff0c;以增加吞吐量并提供冗余&#xff0c;从而提高网络的可靠性和性能。例如&#xff0c;你可以将两个…