python简单学习笔记

1. print 输出

print(2024, '年,我要想娘')   # sep:设置打印多个内容的分隔符,默认值为空格
print(2024, '年,我要想娘', sep='', end='\n')  # end:设置print执行结束后的操作,默认值为换行

格式化输出

print('格式化字符串' % (变量1, 变量2...))
格式化字符含义
%s字符串
%d有符号十进制整数,%06d表示输出的整数显示6位数,不足的地方使用0补全
%f浮点数,%.2f表示小数点后只显示两位
%%输出%
year = 2024
month = 5
day = 9
weekday = '四'
weather = '天气晴朗'
temp = 30print('今天是%d年%02d月%02d日星期%s,%s,温度%.1f°C' % (year, month, day, weekday, weather, temp))

在这里插入图片描述

2. 数据类型

整型、浮点型、布尔型、字符串
不可变的数据类型:数字、字符串、元组、布尔
可变:列表、字典、集合

# 使用type和isinstance来测试和判断类型
a = 18
print(type(a))   # <class 'int'>
print(isinstance(a, str))  # False
# 切片 变量名[起始索引:结束索引+1:步数]
# 步数默认为1,可省略不写
# 起始索引默认为0,可省略不写
# 结束索引默认为-1,可省略不写
s = 'hello'
print(s[0:1])  # h 包头不包尾
print(s[0:-1])  # hell
print(s[0:-1:2])  # hl
print(s[::2])  # hlo# 字符串反转
print(s[-1:-6:-1])  # olleh
print(s[::-1])  # olleh

3. 运算符

逻辑运算符

运算符描述
x and y只有x和y的值都为True,才会返回True,否则只要其中一个值为False,就返回False
x or y只有x、y其中一个值都为True,就返回True,否则返回False
not x如果x为True,返回False;x为False,返回True

位运算符
在这里插入图片描述

# 优先级 not> and> or# 成员运算符
print('a' in 'abc')  # True
print('a' not in 'abc')  # False# 位运算符
# 001 011
print(1 & 3)  # 1
print(1 | 3)  # 3
print(1 ^ 3)  # 2
print(~1)  # -2
print(1 << 2)  # 4
print(1 >> 2)  # 0

4. 列表List

# 列表的创建
list1 = []
list2 = [1, 2, 3, 'fg']
list3 = list()
list4 = list('12345')  # str -> list
print(list1, list2, list3, list4)  # [] [1, 2, 3] [] ['1', '2', '3', '4', '5']# 列表的操作
print(list4[1:4:2])  # ['2', '4']
print(list2 + list4)  # [1, 2, 3, 'fg', '1', '2', '3', '4', '5']
print(len(list4))  # 5
print(max(list4))  # 5del list2  # 删除列表# 列表的遍历
for i in list4:print(i)
# 带索引打印出来
for i, j in enumerate(list4):print(i, j)
for i in range(len(list4)):print(i, list4[i])# 列表的常用方法
l1 = []
# append 在列表末尾添加元素
l1.append('666')  # ['666']
# extend 添加的是一个列表
l1.extend('鸡鸡')  # ['666', '鸡', '鸡']
# 插入元素
l1.insert(1, 'fg')  # ['666', 'fg', '鸡', '鸡']
# 删除元素
l1.pop(2)  # ['666', 'fg', '鸡']
# remove 删除某个元素(如果有多个相同元素,只删除第一个)
l1.remove('鸡')  # ['666', 'fg']
# 清空列表
l1.clear()  # []

5. 元组Tuple

元组的元素不能修改,用 () 定义

tuple1 = (1, 2, 3, True, 'hello')
print(tuple1)tuple2 = (1,)  # 只有一个元素时,要加逗号
print(type(tuple2))  # <class 'tuple'>tuple3 = ()
tuple4 = tuple('hello')  # str --> hello
print(tuple4)  # ('h', 'e', 'l', 'l', 'o')
tuple5 = tuple([1, 2, 3, 4])  # list --> tuple
print(tuple5)  # (1, 2, 3, 4)list1 = list(tuple5)  # tuple --> list
print(list1)  # [1, 2, 3, 4]str1 = str(tuple5)  # tuple --> str
print(str1)  # '(1, 2, 3, 4)'
print(str1[0])  # '('i = tuple1.index(2)
print(i)

6. 字符串

s1 = 'hello world'
print(s1.strip())  # 去除字符串前后的空格
print(s1.split(' '))  # ['hello', 'world']
print(s1.find('h'))  # 返回的是索引0
print('#'.join(['111', '222']))  # 111#222
print(s1.replace('o', '*'))   # hello w*rld

7. 字典dict

列表是有序的对象集合,字典是无序的对象集合。

dic = {'name': 'fg','age': 18,
}
# 添加键
dic['gender'] = '男'
print(dic)# 修改键
dic['age'] = 22
print(dic)# 删除键
del dic['age']
print(dic)# 遍历字典
for key in dic:print(key, dic[key])
print(dic.items())  # dict_items([('name', 'fg'), ('gender', '男')])# 常用方法
dic.pop('name')  # 删除键name
dic2 = dic.copy()  # 复制
print(dic2.get('gender'))  # 男
dic2.update({'name': 'fg', 'age': 18})
print(dic2)  # {'gender': '男', 'name': 'fg', 'age': 18}
dic2.clear()
print(dic2)  # {}

8. 集合set

不允许有重复元素,是一种无序且重复元素的数据结构

s = {1, 2, 3, 4}
print(type(s))  # <class 'set'># 常用方法
s.remove(3)  # {1, 2, 4}
s.update({5, 6, 7})  # {1, 2, 4, 5, 6, 7}
s.add(8)  # {1, 2, 4, 5, 6, 7, 8}s1 = {1, 2, 5, 6}
s2 = {5, 6, 7}
# 交集
print(s1 & s2)  # {5, 6}
# 并集
print(s1 | s2)  # {1, 2, 5, 6, 7}# 列表去重
score = [10, 20, 30, 40, 10, 20, 30]
s = set(score)
print(list(s))  # [40, 10, 20, 30]
for i in s:n = score.count(i)print(f'{i}出现了{n}次')

9. 函数

可变参数

# 可变参数  接收元组
def func(*args):print(args)func(1, 2, 3)  # (1, 2, 3)# 可变参数  接收字典
def func1(**kwargs):print(kwargs)func1(a=1, b=2, c=3)  # {'a': 1, 'b': 2, 'c': 3}

变量作用域

# 变量作用域
num = 1
list1 = [1, 2, 3]  # 可变数据类型 不用global全局变量声明也能修改def func2():num = 2list1[1] = 3print(num)def func3():global num  # 不可变的数据类型要全局变量声明num = 2print(num)func2()  # 2
print(num)  # 1
print(list1)  # [1, 3, 3]func3()  # 2
print(num)  # 2

匿名函数

func4 = lambda x: x + 1
print(func4(1))  # 2

map()函数

在python中,map()函数是一个高阶函数,它接收一个函数和一个可迭代对象(如列表)作为参数,将函数应用于可迭代对象的每个元素,并返回一个新的迭代器。map()函数通常用于处理嵌套的列表或元组。

# map()函数
list2 = [1, 2, 3, 4, 5]
res = map(lambda x: x**2, list2)
print(list(res))  # [1, 4, 9, 16, 25]

reduce()函数

在python中,reduce()函数是一个高阶函数,它接收一个函数和一个可迭代对象(如列表)作为参数,将函数应用于可迭代对象的每个元素,从左到右遍历,将前两个元素的结果与下一个元素作为参数传递给函数,直到遍历完整个可迭代对象。reduce()函数通常用于处理嵌套的列表或元组。

from functools import reducelist2 = [1, 2, 3, 4, 5]
res = reduce(lambda x, y: x + y, list2)
print(res)  # 15

filter()函数

在python中,filter()函数是一个高阶函数,它接收一个函数和一个可迭代对象(如列表)作为参数,将函数应用于可迭代对象的每个元素,根据函数返回值是True还是False,决定是否保留该元素。最后,filter()函数返回一个新的迭代器。

list2 = [1, 2, 3, 4, 5]
res = filter(lambda x: x > 3, list2)
print(list(res))  # [4, 5]

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

10. 递归

一个函数调用自身称为递归调用
一个会调用自身的函数称为递归函数

# 有n阶楼梯,每次上1阶或2阶,共有多少种上法?
def climb_stairs(n):if n == 1:return 1elif n == 2:return 2else:return climb_stairs(n - 1) + climb_stairs(n - 2)for i in range(1, 11):print(f'爬{i}阶楼梯的方法有:{climb_stairs(i)}种')

在这里插入图片描述

11. 文件

在这里插入图片描述

import os# 获取文件路径
file_path = os.getcwd()
path = file_path + '/测试文件/test.txt'
print(path)# 打开文件
# f = open('测试文件/test.txt', encoding='utf-8')
f = open(path, mode='r', encoding='utf-8')# 读取文件内容
context = f.read()
print(context)# 关闭文件
f.close()
import csvwith open('测试文件/data.csv', mode='r', encoding='utf-8') as f:content = csv.reader(f)# 获取表头head = next(content)print('%s  %s  %s  %s' % (head[0], head[1], head[2], head[3]))# 获取内容for row in content:print('%s  %s  %s  %s' % (row[0], row[1], row[2], row[3]))

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

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

相关文章

org.springframework.jdbc.BadSqlGrammarException异常

Bug 记录 概述 在执行定时任务更新电子书统计信息时&#xff0c;遇到了 org.springframework.jdbc.BadSqlGrammarException 异常&#xff0c;具体表现为 SQL 函数 count 被错误地解析为自定义函数 wiki.count&#xff0c;导致数据库更新操作失败。 详细描述 错误信息&#x…

计算机视觉之SSD目标检测

模型简介 SSD是一种单阶段目标检测算法&#xff0c;通过卷积神经网络进行特征提取&#xff0c;并在不同的特征层进行检测输出&#xff0c;实现多尺度检测。它采用了anchor的策略&#xff0c;预设不同长宽比例的anchor&#xff0c;并在每个输出特征层上预测多个检测框。SSD框架…

C#变量、常量与运算符

文章目录 变量变量定义命名规则作用域和生命周期 常量特殊字符常量 运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 变量 变量就是一个存储空间的名字&#xff0c;变量是什么类型&#xff0c;这个空间里面存储的就是什么类型的数据。 变量定义 <data_t…

什么是面向对象编程

什么是面向对象编程&#xff1f;&#xff08;OOP&#xff09; ● 面向对象编程是一种基于对象概念的编程范式&#xff1b;&#xff08;所谓的编程范式&#xff0c;就是代码风格&#xff0c;我们“如何”编写和组织代码&#xff09;&#xff1b; ● 我们使用对象来模拟&#xf…

如何制作文件的二维码?支持设置文件下载功能

现在为了能够更快的将文件分享给其他人查看&#xff0c;会选择将文件转换二维码的方式&#xff0c;用户可以通过扫描二维码在手机上预览或者下载文件到本地&#xff0c;能够有效的减少文件对内存的占用&#xff0c;在很多场景下都有所应用&#xff0c;那么文件转二维码具体该怎…

LabVIEW电子水泵性能测试平台

开发了一种车用电子水泵性能测试平台&#xff0c;该平台以工控机为载体&#xff0c;利用LabVIEW开发上位机软件&#xff0c;采用PLC控制阀门和水泵等电气元件&#xff0c;通过RS485进行数据采集并传输到上位机。通过上位机与下位机的协同控制&#xff0c;实现了数据交互处理和性…

基于Java Web的考编论坛网站的设计与实现+lw+源码+讲解+调试+视频演示

第3章 系统分析 用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料&#xff0c;分析人员可以根据这些信息确定出本系统具备的功能&#xff0c;分析出本系统具备的性能等内容。 3.1可行性分析 尽管系统是根据用户的要求进行制作&#xff0c;但…

聚鼎贸易:装饰画生意能不能做起来2024

在2024年&#xff0c;随着人们对家居美学和个性化表达的需求日益增长&#xff0c;装饰画作为一种简单而直接的方式&#xff0c;来提升空间品味及展示个人风格的市场需求也随之扩大。许多人都对涉足这一行业抱有浓厚的兴趣&#xff0c;但究竟这门生意能否成功做大&#xff0c;需…

Unity 资源 之 战斗魔法咒语 - 第二卷(Combat Magic Spells - Volume II)

&#x1f389;Unity Asset Store 宝藏免费资源&#xff1a;战斗魔法咒语 - 第二卷 前言资源包内容领取兑换码 前言 各位游戏开发爱好者、Unity 开发者们&#xff0c;今天要给大家带来一个超棒的消息&#xff01;在 Unity Asset Store 上&#xff0c;全新的免费资源“战斗魔法咒…

Java高级重点知识点-27-Java反射机制

文章目录 Java反射机制概述理解Class类并获取Class的实例Class 类 类的加载与ClassLoader类加载过程类的初始化触发条件类加载器的作用ClassLoader 创建运行时类的对象获取运行时类的完整结构调用运行时类的指定结构反射的应用&#xff1a;动态代理Proxy类AOP&#xff08;Aspec…

JavaWeb系列二十一: 数据交换和异步请求(JSON, Ajax)

文章目录 官方文档official documents官方文件官方文件official documentsJSON介绍JSON快速入门JSON对象和字符串对象转换应用案例注意事项和细节 JSON在java中使用说明JSON在Java中应用场景应用实例 Ajax基本介绍Ajax是什么Ajax经典应用场景 Ajax原理示意图传统的web应用Ajax原…

Vue3打包发布,刷新出现的空白页面和错误

Vue3打包发布出现的错误&#xff1a;Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of text/html. Strict MIME type checking is enforced for module scripts per HTML spec. 第一次点击访问到这个路径&…

粉笔推出国内首个职教行业大模型,助力学员高效学习

7月12日&#xff0c;粉笔正式推出其自主研发的首个专注于职教行业的垂域大模型&#xff0c;并将于8月1日上线粉笔AI老师 “粉笔头”&#xff0c;为学员提供个性化、智能化的辅导服务。 在垂域大模型的基础上&#xff0c;粉笔结合10年来的教研积累、独有数据搭建RAG系统&#x…

使用MAVSDK向PX4模拟器发送启飞与降落指令

1.使用docker启动PX4模拟器 docker run --rm -it jonasvautherin/px4-gazebo-headless:1.14.3 开始启动 启动中 PX4启动成功 创建QGC连接 mavlink start -p -u 14556 -t 192.168.1.66 -o 14550 启动QGC连接PX4模拟器 在QGC中执行各种指令

TensorFlow系列:第五讲:移动端部署模型

项目地址&#xff1a;https://github.com/LionJackson/imageClassification Flutter项目地址&#xff1a;https://github.com/LionJackson/flutter_image 一. 模型转换 编写tflite模型工具类&#xff1a; import osimport PIL import tensorflow as tf import keras import …

电子画册制作全攻略,从零开始制作

在这个数字化时代&#xff0c;电子画册作为一种新型的传播媒介&#xff0c;已经越来越受到人们的青睐。它以生动活泼、互动性强、传播速度快等特点&#xff0c;迅速成为了企业宣传、个人展示的优质选择。那么&#xff0c;如何从零开始制作一款引人入胜的电子画册呢&#xff1f;…

数据结构——(双)链表

文章目录 1. 定义 2. 双链表和单链表的区别 3. 代码示例 3.1 双链表节点和结构定义 3.2 初始化双链表 3.3 返回双链表的长度 3.4 在指定位置插入元素 3.5 在末尾插入元素 3.6 删除指定位置的元素并返回被删除的元素 3.7 删除末尾元素 3.8 获取指定位置的元素 3.9 修…

AI网络爬虫019:搜狗图片的时间戳反爬虫应对策略

文章目录 一、介绍二、输入内容三、输出内容一、介绍 如何批量爬取下载搜狗图片搜索结果页面的图片?以孙允珠这个关键词的搜索结果为例: https://pic.sogou.com/pics? 翻页规律如下: https://pic.sogou.com/napi/pc/searchList?mode=2&start=384&xml_len=48&am…

C语言作业7 指针实现strlen,strcpy,strcmp和strstr功能

1、自定义函数(my_strlen)实现strlen函数的功能 2、自定义函数(my_strcpy)实现strcpy函数的功能 3、自定义函数(my_strcmp)实现strcmp函数的功能 4、自定义函数(my_strcat)实现strcat函数的功能 5、自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串 #include &l…

【C++】入门基础(一)

目录 一.命名空间&#xff1a;namespace 1.namespace的价值 2.namespace的定义 3.namespace的使用方法 3.1 域解析运算符:: 3.2 using展开 3.3 using域解析运算符 二.输入输出 三.缺省参数 四.函数重载 1.参数类型不同 2.参数个数不同 3.参数顺序不同 一.命名空间&…