Python基础学习(3)

news/2024/9/22 15:50:13/

目录

一,函数

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/news/1528893.html

相关文章

DevOps工程师的职业发展路径

DevOps工程师的职业发展路径 前言 随着云计算、微服务等技术的广泛应用&#xff0c;DevOps的概念逐渐深入人心。DevOps不仅仅是一种工具或技术&#xff0c;更是一种文化和实践。作为IT行业中需求旺盛的职位之一&#xff0c;DevOps工程师的职业发展前景十分广阔。本文将介绍De…

leetcode - 分治思想

分治 - 快排 这里快排我们统一使用 数组分三块 和 随机产生基准值的方法实现排序 数组分三块: . - 力扣&#xff08;LeetCode&#xff09; 整个思想即将数组按照基准值分为三个区间 , 具体实现: 三指针实现. 遍历指针 , 左区间右边界指针 , 右区间左边界指针 class Solutio…

RAII技术

RAII&#xff08;Resource Acquisition Is Initialization&#xff09;是C中一种重要的资源管理技术&#xff0c;由C之父Bjarne Stroustrup提出。RAII的核心思想是通过对象的生命周期来管理资源&#xff0c;即在对象的构造函数中获取资源&#xff0c;在对象的析构函数中释放资源…

【Kubernetes】常见面试题汇总(二十五)

目录 73.我们所有人都知道&#xff0c;从单片到微服务的转变解决了开发方面的问题&#xff0c;但却增加了部署方面的问题。公司如何解决部署方面的问题&#xff1f; 74.考虑一家拼车公司希望通过同时扩展其平台来增加服务器数量,公司如何有效地实现这种资源分配&#xff1f; …

bug | pycharm社区版无sciview解决办法

一个程序运行多个图&#xff0c;plt.show()一次只弹出一个独立窗口&#xff0c;必须关掉一个才能显示下一张图&#xff0c;想找sciview却发现找不到&#xff0c;本来以为是新版pycharm的问题&#xff0c;后来才发现是community版根本没有sciview…不想换专业版了&#xff0c;研…

[C++进阶[六]]list的相关接口模拟实现

1.前言 本章重点 在list模拟实现的过程中&#xff0c;主要是感受list的迭代器的相关实现&#xff0c;这是本节的重点和难点。 2.list接口的大致框架 list是一个双向循环链表&#xff0c;所以在实现list之前&#xff0c;要先构建一个节点类 template <class T> struct L…

Unity 高亮插件Highlight Plus快速入门

通常你可能只是想简单的为某个物体高亮显示 我将介绍最简单快速的方法 如果你想了解更多 Unity 高亮插件HighlightPlus介绍-CSDN博客 情景一 如果你只是想某个物体被鼠标覆盖显示高亮效果,鼠标离开高亮效果消失的话,你甚至不需要写一句代码! 为物体添加这两个脚本(添加T…

开源 AI 智能名片小程序:开启内容营销新境界

摘要&#xff1a;本文深入探讨了在当今数字化时代&#xff0c;内容营销的重要性以及如何实现让用户主动找你的最佳效果。通过引入开源 AI 智能名片小程序这一创新工具&#xff0c;阐述了其在明确目标用户群体、迎合用户需求痛点和打造风格特色方面的独特优势&#xff0c;为企业…