【Python基础(一)】

学习分享

  • 一、基本语法
    • 1、输出print语句
    • 2、常量的写法
    • 3、运算符 (/) 与(//)
    • 4、字符串
    • 5、列表
      • 5.1、列表查询元素是否存在
      • 5.2、列表查询元素是否存在
      • 5.3、身份运算符
      • 5.4、列表的增删改查
    • 6、元组
      • 6.1、tuple()
    • 7、字典
    • 8、函数
      • 8.1、值传递
      • 8.2、引用传递
      • 8.3、函数的传参
  • 二、文件的操作
    • 2.1、打开文件
    • 2.2、文件的打开、读取、关闭
    • 2.3、文件的打开、写入、关闭
    • 2.4、文件的打开、追加、关闭

一、基本语法

1、输出print语句

print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

将 “objects” 打印输出至 “file参数” 指定的文本流,以 "sep 参数"分隔开并在末尾加上 “end参数”。 “sep” 、 "end “、 “file” 和"flush” 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。
所有非关键字参数都会被转换为字符串,就像是执行了 str() 一样,并会被写入到流,以 “sep参数“ 且在末尾加上 “end参数“。 “sep参数“ 和 “end参数“都必须为字符串;它们也可以为 “None“,这意味着使用默认值。 如果没有给出 “objects参数“,则 print() 将只写入 “end参数“。
"file 参数"必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(…)。输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。

print("ghm")name = 'lily'
print("my name is %s" % name)age = 20
print("print a var :{}".format(age))

2、常量的写法

# 全大写就是常量
CLASSNAME = '2401'
print("classnaem", CLASSNAME)

3、运算符 (/) 与(//)

在整数除法中,除法(/)计算出的结果为浮点数,即使是两个整数,结果也是浮点数,如果只想得到整数的结果,抛弃可能得小数部分,可以使用地板除(//),整数的地板除(//)永远是整数。

print(10/3)             #3.333333333333333.5
#地板除 //
print(10//3) 			#3
#向下整除
print(math.floor(10/3)) #3
#向上整除
print(math.ceil(10/3))  #4

4、字符串

# 字符串拼接
str1 = "hello" + "world"
#
print("111" * 5)
# 字符串切片
# 格式:  [start:end:step]    start:开始下标:默认0     结尾下标(不能获取):默认字符串长度   step步幅:默认1
str2 = str1[0:5]
print(str2)
str3 = str1[5:]
print(str3, len(str1), end='\t', sep=";")
# 相隔步幅打印
print(str1[::2])
# 从右向左  -表示方向
img_path = "img/xxx.png"
print(img_path[-3:])

5、列表

在这里插入图片描述

5.1、列表查询元素是否存在

name_list =['张三','李四','王五']
print(name_list[0])
count = 0 
name = input("请输入你想查询的姓名:")
for i in range (0,len(name_list)):print(i,name_list[i])if name == name_list[i]print("找到了")breakcount +=1
if count == len(name_list):print(" 不存在")

5.2、列表查询元素是否存在

name = input ("请输入你想要查询的姓名:")
for i in range(0,len(name_list)):print(i,name_list[i])if name ==name_list[i]print("找到了")break
else :   #当循环自热结束时,会执行else中的语句print("不存在")# 元素迭代法
for item in name_list:print(item)# 成员运算符
# print (item)
# True 存在   False 不存在
print(name in name_list)

5.3、身份运算符

copy_list = name_list          #浅拷贝
print(copy_list is name_list)  
copy_list[0] = '张三'
print(name_list)
# 列表复制
copy_list2 = name_list[:]      #深拷贝
copy_list2[0] = '李四'
print(copy_list2)

5.4、列表的增删改查

name_list.append('王五')
print(name_list)
name_list.remove('张三')
print(name_list)
# 从列表中移除并返回第一个元素
name_list.pop(0)
print(name_list)
# 查找元素'李四'的索引位置
print(name_list.index('李四'))

6、元组

元组同列表一样,都是可以封装多个,不同类型的元素在内。但是最大的不同点在于:元组一旦定义完成,就不可修改

  • 元组的定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
    在这里插入图片描述

6.1、tuple()

# 定义元组
t1 = (1,"hello",True)
t2 = ()
t3 = tuple()print(f"t1的类型是:{type(t1)},内容是:{t1}")
print(f"t2的类型是:{type(t2)},内容是:{t2}")
print(f"t3的类型是:{type(t3)},内容是:{t3}")# 定义单个元素的元素
t4 = ("hello",)
print(f"t4的类型是:{type(t4)},内容是:{t4}")
# 元组的嵌套
t5 =((1,2),(3,4),(5,6))
print(f"t5的类型是:{type(t5)},内容是:{t5}")
# 下标索引去取出内容
num = t5[1][1]
print(f"从嵌套元组中取出的数据是:{num}")

在这里插入图片描述

7、字典

字典的定义,同样使用{}|,不过存储的元素是一个个的:键值对。
在这里插入图片描述

stu = {'name' : '张三','age' : '20','address' : '福州'
}
print(stu['name'])for index,item in enumerate(stu):print(index,item)#k-v键值对
for k,v in stu.items():print(k,v)# k
for k in stu.keys():print(k)
# v
for v in stu.values():print(v)

8、函数

8.1、值传递

def myassign(num):num+=10print(num)num =100
myssign(num)
print("函数外: num = ",num)

8.2、引用传递

def mydemo1(slist):slist[0] = 100print(slist)my_list = [2,4,6,8,10]
mydemo1(my_list)print("函数外:",my_list)

8.3、函数的传参

# *的含义:不定长参数
def add_stu(name,tel,address, *Award,**edu):print("name",name)print("tel",tel)print("address",address)print(Award)print(edu)add_stu("张三","123456","福州大学",'一等奖','二等奖','三等奖','特等奖',primary='福州小学',middle='福州中学',high='福州中学',university='福州大学')

二、文件的操作

2.1、打开文件

在这里插入图片描述
在这里插入图片描述

2.2、文件的打开、读取、关闭

# 打开文件
f = open ("D:/xxx.txt","r",encoding="UTF-8")
print(type(f))
# 读取文件 -fead()
print(f"读取10个字节的结果:{f.read(10)}")
print(f"read方法读取全部内容的结果是:{f.read()}")
# 读取文件 -readLines()
Lines = f.readLines()   # 读取文件的全部行,封装到列表中
print(f"lines对象的类型是:{type(lines)}")
print(f"lines对象的内容是:{Lines}")
# 读取文件  -readline()  # 读取一行数据
line1 = f.readline()
line2 = f.readline()
line3 = f.readline()
print(f"第一行数据为:{line1}")
print(f"第二行数据为:{line2}")
print(f"第三行数据为:{line3}")# for循环读取文件行
for line in f:print(f"每一行数据是:{line}")# 文件的关闭
f.close()

2.3、文件的打开、写入、关闭

在这里插入图片描述

f = open("D:/test.txt""w",encoding="UTF-8")
# write写入
f.write("Hello WorLd!!!")
#内容写入到内存中
# flush刷新
f.flush()
#将内存中积攒的内容,写入到硬盘的文件中
# close关闭
f.close()   #close方法,内置了flush的功能

2.4、文件的打开、追加、关闭

在这里插入图片描述

f = open("D:/test.txt""a",encoding="UTF-8")
# write写入
f.write("Hello WorLd!!!")
#内容写入到内存中
# flush刷新
f.flush()
#将内存中积攒的内容,写入到硬盘的文件中
# close关闭
f.close()   #close方法,内置了flush的功能

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

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

相关文章

AWS Network Firewall -NAT网关配置只应许白名单域名出入站

1. 创建防火墙 选择防火墙的归属子网(选择公有子网) 2. 创建规则白名单域名放行 3. 绑定相关规则

Spring JDBC及声明式事务

目录 Spring JDBC基础概念 Spring声明式事务 事务传播方式 Spring JDBC基础概念 Spring JDBC 封装了原生的JDBC API,使得处理关系型数据库更加简单。Spring JDBC的核心是JdbcTemplate,里面封装了大量数据库CRUD的操作。使用Spring JDBC…

[uni-app]小兔鲜-02项目首页

轮播图 轮播图组件需要在首页和分类页使用, 封装成通用组件 准备轮播图组件 <script setup lang"ts"> import type { BannerItem } from /types/home import { ref } from vue // 父组件的数据 defineProps<{list: BannerItem[] }>()// 高亮下标 const…

影响6个时序Baselines模型的代码Bug

前言 我是从去年年底开始入门时间序列研究&#xff0c;但直到最近我读FITS这篇文章的代码时&#xff0c;才发现从去年12月25号就有人发现了数个时间序列Baseline的代码Bug。如果你已经知道这个Bug了&#xff0c;那可以忽略本文&#xff5e; 这个错误最初在Informer&#xff0…

安科瑞Acrel-1000DP分布式光伏监控系统在鄂尔多斯市鄂托克旗巴音乌苏六保煤矿5MW分布式光伏项目中的应用

安科瑞 华楠 摘 要&#xff1a;分布式光伏发电就是将太阳能光伏板分散布置在各个区域&#xff0c;通过小规模、模块化的方式实现电能的并网或独立使用&#xff0c;这种发电方式具有就近发电、就近并网、就近转换、就近使用的特点。近年来&#xff0c;技术进步和政策支持推动了光…

Python在AI中的应用--使用决策树进行文本分类

Python在AI中的应用--使用决策树进行文本分类 文本分类决策树什么是决策树 scikit算法 使用scikit的决策树进行文章分类一个文本分类的Python代码使用的scikit APIs说明装入数据集决策树算法类类构造器&#xff1a; 构造决策树分类器产生输出评估输出结果分类准确度分类文字评估…

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-22

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-22 引言: 全球最热销的国产游戏-《黑神话: 悟空》不仅给世界各地玩家们带来愉悦&#xff0c;而且对计算机人工智能研究也带来新的思考。在本期的论文速读中&#xff0c;我们带来一篇关于视觉语言模型&#xff0…

漫步者头戴式耳机好用吗?漫步者、西圣、万魔顶级机型测评对比

现在市面上有很多头戴式耳机&#xff0c;它们都基本精进主动降噪功能&#xff0c;以让大家在生活中能更少受到噪音的干扰&#xff0c;所以对于有降噪需求的人来说&#xff0c;头戴式耳机就是很适合他们的一种耳机。作为一名数码测评博主&#xff0c;也有很多人问我漫步者头戴式…

C++的vector优化

1、C中的动态数组一般是特指vector类 2、vector需要优化的原因之一是当我们push_back元素到数组中时&#xff0c;如果原来分配给动态数组的内存不够用了&#xff0c;那么就会找一块更大的内存空间分配给数组&#xff0c;把旧的内容复制到新的内存中去&#xff0c;这就是导致程…

大数据处理从零开始————3.Hadoop伪分布式和分布式搭建

1.伪分布式搭建&#xff08;不会用&#xff0c;了解就好不需要搭建&#xff09; 这里接上一节。 1.1 伪分布式集群概述 伪分布式集群就是只有⼀个服务器节点的分布式集群。在这种模式中&#xff0c;我们也是只需要⼀台机器。 但与本地模式不同&#xff0c;伪分布式采⽤了分布式…

C++简单缓冲区类设计

目录 1.引言 2.静态缓冲区 3.动态缓冲区 4.数据引用类 5.自动数据引用类 6.几种缓冲区的类关系图 7.注意事项 8.完整代码 1.引言 在C中&#xff0c;设计静态和动态缓冲区类时&#xff0c;需要考虑的主要差异在于内存管理的方式。静态缓冲区类通常使用固定大小的内存区域…

红绿灯倒计时读秒数字识别系统源码分享

红绿灯倒计时读秒数字识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …

Power Automate 设置流Owner不生效的bug

在查找某个功能没生效时&#xff0c;定位到是一个Power automate的流停了&#xff0c;查看原因是因为创建流的owner被disable了 但是当把流的owner更新为可用的用户时&#xff0c;流依旧没被触发&#xff0c;触发的条件很简单&#xff0c;某个表的记录创建时&#xff0c;因为是…

Java流程控制语句——条件控制语句详解(附有流程图)#Java条件控制语句有哪些?#if-else、switch

在 Java 编程中&#xff0c;条件控制语句用于控制程序的执行路径&#xff0c;决定根据某些条件来选择执行某段代码或跳过某段代码。它们是 Java 编程的重要组成部分&#xff0c;帮助开发者根据不同的输入、状态或数据流来编写更加灵活和动态的代码。在本文中&#xff0c;我们将…

CORE MVC 过滤器 (筛选器)

MVC FrameWork MVCFramework MVC Core 过滤器 分 同步、异步 1、 授权筛选器 IAuthorizationFilter&#xff0c;IAsyncAuthorizationFilter 管道中运行的第一类筛选器&#xff0c;用来确定发出请求的用户是否有权限发出当前请求 2、资源筛选器 IResourceFilter &#xff0c;…

部分监督多器官医学图像分割中的标记与未标记分布对齐|文献速递--基于多模态-半监督深度学习的病理学诊断与病灶分割

Title 题目 Labeled-to-unlabeled distribution alignment for partially-supervised multi-organ medical image segmentation 部分监督多器官医学图像分割中的标记与未标记分布对齐 01 文献速递介绍 多器官医学图像分割&#xff08;Mo-MedISeg&#xff09;是医学图像分析…

【Python报错已解决】ModuleNotFoundError: No module named ‘tensorflow‘

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

DAY16||513.找树左下角的值 |路径总和|从中序与后序遍历序列构造二叉树

513.找树左下角的值 题目&#xff1a;513. 找树左下角的值 - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: […

Techub专访顾荣辉教授:解密CertiK的安全战略路线

当 Web3 安全审计公司还在争抢审计份额时&#xff0c;CertiK 已经开始将目光瞄准即将进军 Web3 的传统商业巨头。CertiK 不仅在传统行业进行白帽行动获得如苹果公司的官方感谢&#xff0c;还是 Web3 行业唯一一家拥有 SOC 2 和 ISO 认证的 Web3 的安全公司。基于此&#xff0c;…

猫头虎 分享已解决Bug: || Module not found: Can‘t resolve ‘react‘ 解决方案

&#x1f42f;猫头虎 分享已解决Bug&#xff1a; || Module not found: Cant resolve react 解决方案 摘要: 今天猫头虎带大家解决一个常见的前端问题&#xff0c;尤其是在 React 项目中&#xff0c;很多开发者在安装依赖包时&#xff0c;遇到过 Module not found: Cant resol…