Python基础学习(3)

目录

一,函数

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 aret = test3(10)

 2,一次返回多个值

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

4,变量的作用域

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

示例 :

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

 

使用global变量声明:

val = 100
def test5():global valval+=10print(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+=1f=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.rhkb.cn/news/429133.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Geoserver使用】REST API调用(工作空间部分)

文章目录 前言一、Geoserver REST API(GeoServer Workspace)二、GeoServer Workspace接口使用1.GET请求 /workspaces2.POST请求 /workspaces3.GET请求 /workspaces/{workspaceName}4.PUT /workspaces/{workspaceName}5.DELETE /workspaces/{workspaceName} 总结 前言 根据Geos…

C++ | Leetcode C++题解之第423题从英文中重建数字

题目&#xff1a; 题解&#xff1a; class Solution { public:string originalDigits(string s) {unordered_map<char, int> c;for (char ch: s) {c[ch];}vector<int> cnt(10);cnt[0] c[z];cnt[2] c[w];cnt[4] c[u];cnt[6] c[x];cnt[8] c[g];cnt[3] c[h] - …

YOLOv10 简介

YOLOv10&#xff0c;由清华大学的研究人员基于 Ultralytics Python 包构建&#xff0c;引入了一种全新的实时目标检测方法&#xff0c;该方法解决了以往 YOLO 版本中后处理和模型架构方面的不足。通过消除非极大值抑制&#xff08;NMS&#xff09;并优化各种模型组件&#xff0…

【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标

chrome 谷歌浏览器&#xff0c;鼠标点击任何区域都是 Input 输入框的状态&#xff0c;能看到输入的光标 今天打开电脑的时候&#xff0c;网页中任何文本的地方&#xff0c;只要鼠标点击&#xff0c;就会出现一个输入的光标&#xff0c;无论在哪个站点哪个页面都是如此。 我知道…

十四、运算放大电路

运算放大电路 1、理想运算放大器的概念。运放的输入端虚拟短路、虚拟断路之间的区别; 2、反相输入方式的运放电路的主要用途&#xff0c;以及输入电压与输出电压信号的相位 3、同相输入方式下的增益表达式(输入阻抗、输出阻抗)

Redis-01 入门和十大数据类型

Redis支持两种持久化方式&#xff1a;RDB持久化和AOF持久化。 1.RDB持久化是将Redis的数据以快照的形式保存在磁盘上&#xff0c;可以手动触发或通过配置文件设置定时触发。RDB保存的是Redis在某个时间点上的数据快照&#xff0c;可以通过恢复RDB文件来恢复数据。 2.AOF持久化…

55. QTableWidget的基本使用

1. 说明 在软件界面开发中,基本上离不开数据的展示以供客户查看一些比较关注的信息,比如公司做一个员工个人信息管理系统,需要一个界面能够展示员工个人基本信息,实现这种效果可以采用多种形式,其中比较简单的一种是使用QT提供的QTableWidget控件,这个控件已经封装了一些…

LeetCode 面试经典150题 190.颠倒二进制位

复习知识&#xff1a;正数的原码、反码、补码相同&#xff0c;负数的反码在其原码的基础上, 符号位不变&#xff0c;其余各个位取反&#xff0c;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后1 (即在反码的基础上1)。 题目&#xff1a;颠倒给定的 32 位无符号…

Springboot3 + MyBatis-Plus + MySql + Uniapp 商品加入购物车功能实现(最新教程附源码)

Springboot3 MyBatis-Plus MySql Uniapp 商品加入购物车功能实现&#xff08;针对上一篇sku&#xff09; 1、效果展示2、后端代码2.1 model2.2 mapper server serverImpl 参照上一篇自动生成2.3 controller 3、前端代码3.1 index.js3.2 shop-info.vue3.3 ShopBottomButton.v…

计算机毕业设计hadoop+spark+hive新能源汽车销售数据分析系统 二手车销量分析 新能源汽车推荐系统 可视化大屏 汽车爬虫 机器学习

《HadoopSparkHive新能源汽车销售数据分析系统》开题报告 一、选题背景与意义 1.1 选题背景 随着全球对环境保护意识的增强和能源结构的转型&#xff0c;新能源汽车市场迅速崛起。新能源汽车的销售数据不仅反映了市场趋势和消费者偏好&#xff0c;还为企业决策、政府监管和政…

【玉米田】

题目 代码 #include <bits/stdc.h> using namespace std; typedef long long LL;const int mod 1e8; const int M 1 << 12; LL f[13][M]; int g[13]; vector<int> state; vector<int> p[M]; int n, m; bool check(int x) {return !(x & x <&…

“一屏显江山”,激光显示重构「屏中世界」

【潮汐商业评论/原创】 2024年国庆期间&#xff0c;曾感动过无数国人的舞蹈诗剧《只此青绿》改编的同名电影即将上映&#xff0c;而这一次观众们不必走进电影院&#xff0c;在家里打开官方合作的海信激光电视也能享受到同等的视听效果&#xff0c;这是激光电视在观影场景领域的…

java 获取集合a比集合b多出来的对象元素

public class OrderListEntity {/*** deprecated 对象集合的处理* param aData 集合a* param bData 集合b* return 返回集合a比集合b多出来的部分, 通过id判断*/public static List<OrderListEntity> AHasMoreThanBData(List<OrderListEntity> aData, List<Ord…

Stable Diffusion 使用详解(11)--- 场景ICON制作

目录 背景 controlNet 整体描述 Canny Lineart Depth 实际使用 AI绘制需求 绘制过程 PS打底 场景模型选择 设置提示词及绘制参数 controlnet 设置 canny 边缘 depth 深度 lineart 线稿 效果 背景 这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。…

鸿蒙开发(HarmonyOS)组件化浅谈

众所周知&#xff0c;现在组件化在移动开发中是很常见的&#xff0c;那么组件化有哪些好处&#xff1a; 1. 提高代码复用性&#xff1a;组件化允许将应用程序的不同功能模块化&#xff0c;使得这些模块可以在不同的项目中重复使用&#xff0c;从而提高开发效率并减少重复工作。…

LabVIEW编程能力如何能突飞猛进

要想让LabVIEW编程能力实现突飞猛进&#xff0c;需要采取系统化的学习方法&#xff0c;并结合实际项目进行不断的实践。以下是一些提高LabVIEW编程能力的关键策略&#xff1a; 1. 扎实掌握基础 LabVIEW的编程本质与其他编程语言不同&#xff0c;它是基于图形化的编程方式&…

行业人工智能研究-Python自监督方式学习图像表示算法

学术界人工智能研究落后于工业界 摘要 行业或工业界在人工智能研究上超出学术界&#xff0c;并占据着大量的计算力&#xff0c;数据集和人才诱人的薪水和明朗的预期吸引大量人才离开学术界&#xff0c;涌入行业或工业界即使&#xff0c;比如Meta开源其人工智能模型&#xff0…

小程序地图展示poi帖子点击可跳转

小程序地图展示poi帖子点击可跳转 是类似于小红书地图功能的需求 缺点 一个帖子只能有一个点击事件&#xff0c;不适合太复杂的功能&#xff0c;因为一个markers只有一个回调回调中只有markerId可以使用。 需求介绍 页面有地图入口&#xff0c;点开可打开地图界面地图上展…

python:编写一个函数查找字符串中的最长公共前缀

最近在csdn网站上刷到一个题目&#xff0c;题目要求编写一个函数查找字符串中的最长公共前缀&#xff0c;题目如下&#xff1a; 给出的答案如下&#xff1a; from typing import List def longestCommonPrefix(strs:List[str]) -> str:if len(strs) 0:return i 0 #代…

2024/9/21 数学20题

常见概率可加性&#xff1a;