Python基础学习(3)

news2024/11/16 4:19:37

目录

一,函数

1,函数的定义

2,函数的参数

1,默认值

2,传参

3,返回值

4,变量的作用域

5,函数的调用

二,常用数据结构

1,列表

列表的定义

 列表的特性

遍历

插入

 判断元素是否在列表中

删除

列表的拼接

 2,元组

3,字典

1,定义

 2,使用

1,判断key是否在字典中

2,新增和修改

 3,删除

 4,打印

三,文件

1,文件的打开

2,文件的关闭

 文件个数有限:

文件关闭:

 3,文件写

 4,文件读

5,文件上下文管理


一,函数

1,函数的定义

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

示例如下:

def test(a,b):
    print(a,b)
    
test(10,20)

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

2,函数的参数

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

1,默认值

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

示例:

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

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

2,传参

1,位置传参

示例:

test2(10,20)

2,关键字传参 

test2(b = 10,a = 20)

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

3,返回值

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

示例:

1,普通返回

def test3(a):
    return a

ret = test3(10)

 2,一次返回多个值

def test4(a,b,c):
    return a,b,c

ret1,ret2,ret3 =test4(10,20,30)

4,变量的作用域

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

示例 :

val = 100
def test5():
    val = 0
    print(val)

test5()

 

使用global变量声明:

val = 100
def test5():
     global val
     val+=10
     print(val)


test5()

5,函数的调用

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

二,常用数据结构

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

1,列表

列表的定义

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

案例:

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

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

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

 示例

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

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

1,in迭代方式

2,下标访问

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

示例:

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():插入到列表的指定下标处。

a.append(1)
print(a)

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

判断方式:

                1,使用in来判断。

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

#打印结果为True/False
print(1 in a)

#打印下标
pos = a.index(100)
print(pos)
删除

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

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

 示例:

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,使用+=的方式来拼接

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() 

示例:

a = {
    'key':'value'
}

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

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

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

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

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

打印key值:调用keys()

打印value值:调用values()

对印两个值:调用items()

print(a.keys())
print(a.values())
print(a.items())

三,文件

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

1,文件的打开

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

 示例:

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

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

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

文件关闭:
f = open('./test.txt','r')

f.close()
 3,文件写

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

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

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

1,read()方式读取 

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

 2,for循环方式读取

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

3,readlines()方式读取

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

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2154484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习的应用领域

机器学习在许多领域有广泛的应用&#xff0c;下面列出了一些主要的应用领域及其典型应用&#xff1a; 1. 图像识别 人脸识别&#xff1a;用于解锁手机、自动标记照片、监控安全系统。物体识别&#xff1a;应用于自动驾驶汽车、机器人、医疗影像分析中&#xff0c;帮助机器理解…

vue3 TagInput 实现

效果 要实现类似于下面这种效果 大致原理 其实是很简单的,我们可以利用 element-plus 组件库里的 el-tag 组件来实现 这里我们可以将其抽离成一个公共的组件,那么现在有一个问题就是通讯问题 这里我们可以利用父子组件之间的通讯,利用 v-model 来实现,父组件传值,子组…

蓝桥杯15届C/C++B组省赛题目

问题描述 小蓝组织了一场算法交流会议&#xff0c;总共有 5050 人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 77 个人&#xff0c;这 77 人彼此之间没有进行握手 (但这 77 人与…

Unity数据持久化4——2进制

概述 基础知识 各类型数据转字节数据 文件操作相关 文件相关 文件流相关 文件夹相关 练习题 using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine;public class Exercises1 : MonoBehaviour {/…

金融科技与银行业的数字化转型

随着科技的迅猛发展&#xff0c;金融科技已经成为推动银行业数字化转型的重要力量。从移动支付到区块链&#xff0c;再到人工智能&#xff0c;这些新兴技术正逐渐改变银行的运作方式&#xff0c;不断提高银行的服务效率、提升客户体验&#xff0c;并推动整个金融生态系统的变革…

大数据-143 - ClickHouse 集群 SQL 超详细实践记录!

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

代码编辑器 —— Notepad++ 实用技巧

目 录 NotePad常用技巧一、查找二、标记三、插件四、自动补全 NotePad常用技巧 Notepad 的吉祥物是一只变色龙。它广泛应用于编程、网页开发、文本处理、脚本编写、文档编辑等领域。 一起看看它有哪些功能和特点&#xff1a; 1、对众多编程语言提供语法高亮显示 2、可折叠函数…

redis简单使用与安装

redis redis 是什么 Redis 是一个开源的&#xff0c;使用 C 语言编写的,支持网络交互的,内存中的Key-Value 数据结构存储系统&#xff0c;支持多种语言,它可以用作数据库、缓存和消息中间件。 一、存储系统特性 内存存储与持久化 Redis 主要将数据存储在内存中&#xff0c;这…

某省公共资源交易中心爬虫逆向分析

目标网站 aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0L3NjenQteHEvP3VzZXJJZD02NzM4OTg2MzkyNjA3NzAzMDQmcm93SWQ9NTI1MDYyMDI2ODg0NzE2NTQ0JnRpbWU9MjAwOC0xMS0yNiZjZXJ0aWZpY2F0ZU5vPTkxNDQwOTA0NjgyNDI2MzU4QyZjZXJ0aWZpY2F0ZVR5cGU9Mjg 一、抓包分析 请求头参数加密 二、…

【C语言-数据结构】单链表的定义

单链表的定义&#xff08;实现&#xff09; 比较顺序表和单链表的物理存储结构就能够清楚地发现二者的区别 用代码定义一个单链表 typedef struct LNode{ElemType data; //每个结点存放一个数据元素struct LNode* next; //指针指向下一个结点 }LNode, *LinkList;//要表示一个…

微信CRM系统适合什么企业?

CRM&#xff08;客户关系管理&#xff09;系统适合多种行业和企业&#xff0c;包括但不限于&#xff1a;传统制造业、互联网行业、电商行业、医疗行业、教育行业、交通运输行业、汽车行业、房地产行业、金融行业、银行 CRM的功能覆盖了与客户接触的各个阶段&#xff0c;包括售…

python --PyAibote自动化

官文: https://www.pyaibote.com/ 下载安卓集成环境: 可以看到开发的一些信息

【AI视频】AI虚拟主播制作网站推荐

一、什么是AI虚拟主播&#xff1f; AI虚拟主播是一种利用人工智能技术打造的虚拟主持人&#xff0c;也被称为数字虚拟主持人。它们通常是由人工智能技术和三维建模技术结合而成&#xff0c;可以在各种平台上进行主持工作&#xff0c;如新闻报道、电商直播、综艺娱乐等。 AI虚…

华润电力最新校招社招润择认知能力测评:逻辑推理数字计算语言理解高分攻略

​ 尊敬的求职者们&#xff0c; 在您准备加入华润电力这个大家庭之前&#xff0c;了解其招聘测评的详细流程和要求是至关重要的。以下是我们为您整理的测评系统核心内容&#xff0c;希望对您的求职之旅有所帮助。 测评系统概览 华润电力的招聘测评系统旨在全面评估求职者的认…

【全网最全】2024年华为杯研赛B题成品论文获取入口(后续会更新)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片&#xff0c;那是获取资料的入口&#xff01; 点击链接加入【2024华为杯研赛资料汇总】&#xff1a;https://qm.qq.com/q/hMgWngXvcQhttps://qm.qq.com/q/hMgWngXvcQ你是否在寻找数学建模比赛的突破点&a…

二叉树(二)深度遍历和广度遍历

一、层序遍历 广度优先搜索&#xff1a;使用队列&#xff0c;先进先出 模板&#xff1a; 1、定义返回的result和用于辅助的队列 2、队列初始化&#xff1a; root非空时进队 3、遍历整个队列&#xff1a;大循环while(!que.empty()) 记录每层的size以及装每层结果的变量&a…

Linux基础命令以及常识

镜像站点服务器&#xff08;相当于下载的网址&#xff09;也可叫软件源 vim /etc/apt/sources.list 索引文件(网络服务器在本地的缓存) 服务器软件源在本地列出来一个清单&#xff0c;以便于主机进行查询操作 cd /var/lib/apt/lists/ 下载软件包默认存放路径 cd /var/cache/a…

Linux_openEuler_24.03部署Oracle 19c部署安装实测验证(无图形桌面-RPM模式)

前言&#xff1a; 近期对openeuler有点兴趣&#xff0c;顺带在做个开发数据仓项目&#xff0c;那就正好安装个环境做个调测&#xff0c;做个记录放上来做个备录给到大家参考。 openEuler 24.03 LTS&#xff1a;四大升级&#xff0c; 首个AI原生开源操作系统正式发布 openEuler …

【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析

基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析 1、引言 1-1 医疗大数据的特点 10 V模型&#xff1a;在医疗领域&#xff0c;大数据的特点被描述为10 V&#xff0c;包括价值&#xff08;Value&#xff09;、体量&#xff08;Volume&#xff09;、速度&#xf…

C语言-文件操作-一些我想到的、见到的奇怪的问题

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C语言】 欢迎点赞&#x1f44d;收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下&#xff0c;连续多次调用 fopen() 打开同一个文件&#xff0c;会发生什么&#xff1f;1.1过…