python大模型
3595 字
18 分钟
python大模型
✨ AI 概括
点击按钮,AI 将为你生成这篇文章的摘要
知识库
初识python基础
print("我是李义非")m=input("请写下你的姓名")a="helllo"b="world"print(a,b)# f-string写法print(f'你好{a} ,世界{m}')# ● %s:字符串占位符,用于插入字符串# ● %d:整数占位符,用于插入整数# ● %f:浮点数占位符,用于插入浮点数
#数据类型# 不可变类型:int、float、str、tuple、bytes、bool(更改时,其实是新建了一个新的,内存地址已发送改变)# 可变类型:list、dict、set(修改时是修改里面的元素,不改变内存地址)# str字符串 bool判断类型 list列表arr [] tuple元组不可改变的列表()# dict字典键值对组成{"name":"张三","age":30} set集合{}# 用于限定输入类型level = "" # 定义空字符串#循环一# range(3) 代表循环 3 次,你可以改成 1、5、10 都行for i in range(3): #for i in range(start,end,步长间隔) # 每次循环输入一个数字 f = int(input("请输入一个数字:")) # 默认输入的是字符串 # 判断是否等于10 if f == 10: level = "你真棒" # 这里统一 4 个空格缩进
while count > 0: count = (count // 2) - 2 day += 1 print(day)# 循环结束后输出结果print(level)#遍历字符串s="我爱中国" for i in s: print(i)# break终止循环 continue跳出当前循环,继续执行下一个循环list列表
创建并修改 元素
list2 = ["五菱宏光","哈弗","小米汽车","欧拉",True]# 修改列表元素 语法:列表名[索引] = 值print(list2)list2[2] = "天狗"print(list2)遍历列表
list3 = ["麻辣烫", "佛跳墙", "白切鸡", "云吞"]# 第一种方式:for i in list3: print(i)# 第二种方式: 通过索引的方式访问元素for i in range(len(list3)): print(list3[i])
# 第三种方式:enumrate() 同时遍历索引和元素for index,value in enumerate(list3): print(index,value)列表操作
列表合并与重复
# 合并列表: 通过 + 实现list = [12,34,6,8,3.13]list1 = ["荔枝","龙眼","桂圆","榴莲","芒果"]# 通过 + 实现列表的合并 list + list1list2 = list + list1print(list2)
# 重复输出列表中的元素: 通过 * 实现list = [1,2,3]list1 = list * 4print(list1)判断列表中的位置
# 判断指定元素是否在列表中, 使用成员运算符检查# in 和 not in 返回值是一个布尔类型 True和Falselist1 = [12,34,4.12,"haha","lele","hehe"]print(12 in list1) # True
if "haha" in list1: print("字符串在列表中")else: print("不在列表中")列表截取
list2 = [13,45,2,35,7,9]# 语法: 列表名[开始下标:结束下标] 特点: 前闭后开 包含开始下标的元素不包含结束下标的元素print(list2[1,3])#左闭右开列表的crud
添加元素
# append() 向列表的尾部追加元素list1 = ["香妃", "妲己", "赵飞燕", "杨贵妃", "东施"]list1.append("西施")print(list1)
# extend 用于在列表末尾一次追加另一个列表中的多个元素list1 = ["香妃","妲己","赵飞燕","杨贵妃","东施"]list1.extend(["乾隆","商纣王","汉昭帝","唐玄宗"])list1.extend("秦始皇") # "秦" "始" "皇"print(list1)
# insert() 在列表中指定的索引处前面插入元素,后面的其他的元素依次后延list2 = ["秦始皇","汉武帝","曹操","刘备","孙权"]list2.insert(1, "刘邦")print(list2)删除元素
list2 = ["秦始皇","汉武帝","曹操","刘备","孙权"]
# pop() 传输的参数是下标 不传参数的时候,默认移除最后一个元素,返回的是原列表list2.pop() # ["秦始皇","汉武帝","曹操","刘备"]list2.pop(2) # ['秦始皇', '汉武帝', '刘备', '孙权']print(list2)
# remove() 传输的参数是指定移除的元素list2.remove("刘备")print(list2)
# clear() 清空列表list2.clear()print(list2) # []获取元素
list = [12,34,2,5.23,True,False,"hello"]# print(len(list)) # len 获取列表的长度
# 获取列表中的最大值 max()list1 = [12,3,4,32,98,14,3,78,3,34,3]print(max(list1))# 获取列表中的最大值 min()print(min(list1))
# 获取指定元素的索引 index(元素名称)print(list1.index(98))排序和反转
list = [12,42,34,16,87]
# reverse 翻转列表元素 注意:在原列表的内部进行翻转,不会生成新列表list.reverse()print(list)
# sort() 对原列表元素进行排序 默认是升序 不会生成一个新的列表# 升序list.sort()
# 降序 在sort函数中传入reverse=True 实现降序list.sort(reverse=True)print(list)
# sorted() 对列表元素进行排序,默认是升序, 排序的结果会生成一个新列表# 升序list1 = sorted(list)# 降序 传入reverse=Truelist1 = sorted(list,reverse=True)print(list1)元组tuple
初识元组并区分列表
和列表相似,本质上是一种有序的集合
元组和列表的不同之处:
a.列表:[ ] 元组:( )
b.列表中的元素可以进行增加和删除操作,但是,元组中的元素不能修改
【元素:一旦被初始化,将不能发生改变】
创建元组
# 1.创建空元组tuple1 = ()print(type(tuple1)) # <class 'tuple'>
# 2.创建带有元素的元组tuple2 = (12,34,6,87)print(tuple2)print(type(tuple2)) # <class 'tuple'>
# 3.元组中的元素可以是各种类型tuple3 = (12,34,4.12,"hello",True)print(tuple3)
# 注意:创建的元组只有一个元素时, 会在元素的后面加上一个逗号 ,tuple4 = (2)print(tuple4)print(type(tuple4)) # <class 'int'>
tuple5 = (3,)print(tuple5)print(type(tuple5)) #<class 'tuple'>元组元素的访问
tuple1 = (14,32,35,7,87)# 1.访问元组的元素,使用下标访问,下标默认从0开始print(tuple1[1])# print(tuple1[5]) # tuple index out of range 索引越界
print(tuple1[-1]) # 87 访问元组的最后一个元素 下标是-1print(tuple1[-3]) # 35
# 2. 元组的元素的值不能进行修改# tuple1[2] = 99# print(tuple1) # 报错'tuple' object does not support item assignment元组的操作
# 1.合并元组 +tuple1 = (12,34,56)tuple2 = (3.12,56,"hello")print(tuple1 + tuple2)
# 2.重复元组中的元素 *tuple3 = (23,45,67)print(tuple3 * 4)
# 3.判断指定元素是否在元组中 使用成员运算符 in 和 not inprint(56 in tuple2)if "hello" in tuple2: print("终于找到你")else: print("你在哪里呢!")
# 4.元组的截取(切片)tuple4 = (12,3,5,7,98)print(tuple4[1:4]) # (3, 5, 7)print(tuple4[-1:]) # (98,)print(tuple4[:2]) # (12, 3)元组的功能
#获取元组的长度tuple4 = (12,3,5,7,98)print(len(tuple4)) # 5print(max(tuple4)) # 98print(min(tuple4)) # 3#其他类型转换为元组list1 = [12,34,57,89]print(type(list1)) # <class 'list'>print(type(tuple(list1))) # <class 'tuple'>#遍历元组# 第一种方式: for-infor i in tuple4: print(i)
# 第二种方式: 通过下标访问for i in range(len(tuple4)): print(tuple4[i])
# 第三种方式: enumrate() 返回索引和元素for i,n in enumerate(tuple4): print(i,n)字典
初识字典
元组和列表的缺点
列表和元组的使用缺点:当存储的数据要动态添加、删除的时候,我们一般使用列表,但是列表有时会遇到一些麻烦
解决方案:既能存储多个数据,还能在访问元素的很方便的定位到需要的元素,采用字典
初始字典
语法: {键1: 值1, 键2: 值2, 键3: 值3, …, 键n: 值n}
说明:键值对: key-value
-
字典和列表类似,都可以用来存储多个数据
-
在列表中查找某个元素时,是根据下标进行的;字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、‘id’、‘sex’)
-
字典中的每个元素都由2部分组成,键:值。例如 ‘name’:‘班长’ ,‘name’为键,‘班长’为值
-
键可以使用数字、布尔值、元组,字符串等不可变数据类型,但是一般习惯使用字符串,切记不能使用列表等可变数据类型
-
每个字典里的key都是唯一的,如果出现了多个相同的key,后面的value会覆盖之前的value
习惯使用场景:
-
列表更适合保存相似数据,比如多个商品、多个姓名、多个时间
-
字典更适合保存不同数据,比如一个商品的不同信息、一个人的不同信息
创建字典并访问
# 1.定义空字典 {}dict1 = {}print(type(dict1)) # <class 'dict'>
# 2.定义非空字典# 第一种定义字典的方式dict2 = {"name":"小明","age":25,"sex":"男","love":"篮球"} # 最常用print(dict2)print(type(dict2))print(dict2["name"], dict2["love"])# 访问字典 字典名[键名]键名唯一# 第二种方式:通过get()方法获取print(dict1.get('name'))print(dict1.get('money')) # None 访问字典中不存在的key时,返回Noneprint(dict1.get('money',10000)) # 访问字典中不存在的key时,若传递了第二个参数,则使用第二个参数的值字典的操作
crud
#增加元素size为键名dict4["size"] = 6.8print(dict4)#删除元素#列表pop()利用索引删,remove()指名道姓的删#字典pop()删除键名,popitem删除最后一对键值对# 第一种:pop() 删除指定的元素dict4.pop("color")print(dict4)# 第二种:popitem() 随机返回并删除字典中的最后一对key和valuedict4.popitem()print(dict4)
# clear() 清空字典dict4.clear()print(dict4)获取字典各组成部分信息
#获取字典长度print(len(dict1))
#获取字典的键print(dic1.keys())#获取字典的值print(dict1.values())#获取字典的键值对print(dict1.items())遍历字典
#### 遍历字典第一种方式: for infor key in dict1: # 遍历字典中所有的key print(key)
# 第二种方式:遍历 字典中所有的值for v in dict1.values(): print(v)
# 第三种方式: items 遍历字典中所有的key和valuefor k,v in dict1.items(): print(k,'----',v)合并字典
dict2 = {"name":"刘哥","money":"1999","age":23}dict3 = {"sex":"男"}dict2.update(dict3)print(dict2)#{'name': '刘哥', 'money': '1999', 'age': 23, 'sex': '男'}赋值深拷贝浅拷贝
# 赋值: 其实就是对象的引用(别名)list = [12,34,57,9]list1 = listlist[1] = 78print(list,list1) #[12, 78, 57, 9] [12, 78, 57, 9]
# 浅拷贝: 拷贝父对象,不会拷贝对象内部的子对象.浅拷贝一维列表的时候,前后两个列表是独立的.import copya = [12,35,98,23] # 一维列表b = a.copy()a[1] = 67 #[12, 67, 98, 23] [12, 35, 98, 23]print(a,b)
# 浅拷贝在拷贝二维列表的时候,只能拷贝最外层列表,不能拷贝父对象中的子对象,当修改子对象中的值的时候,新拷贝的对象也会发生变化c = [14,53,25,[31,89,26],42] # 二维列表d = c.copy()c[3][1] = 11 #[14, 53, 25, [31, 11, 26], 42] [14, 53, 25, [31, 11, 26], 42]print(c,d)
# 若要解决浅拷贝处理二维列表时的问题,需要使用深拷贝解决e = [14,53,25,[31,89,26],42] # 二维列表f = copy.deepcopy(e) #[14, 53, 25, [31, 11, 26], 42] [14, 53, 25, [31, 89, 26], 42]e[3][1] = 11 #两个列表是独立的print(e,f)str字符串
创建字符串
# 字符串的定义:可以使用一对单引号或者双引号,也可以一对三个单引号或者一对三个双引号定义字符串。# 创建字符串str = "apple"str1 = 'orange'print(type(str), type(str1))
# \ 转义字符 作用:让一些符号失去原有的意义str2 = "\"张三\""str3 = '\'李四\''print(str2, str3)
# 定义字符串的时候,单双引号可以互相嵌套str4 = "张哥,'有点厉害'"print(str4)
# 字符串前加 r# r"" 的作用是去除转义字符.# 即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。# 以r开头的字符,常用于正则表达式,对应着re模块。s = r'C:\Users\ijeff\Desktop\笔记'遍历字符串
# 第一种方式: for infor i in str4: print(i)
# 第二种方式: 通过下标for i in range(len(str4)): print(str4[i])
# 第三种方式:enumrate()for i,v in enumerate(str4): print(i,v,end=" ")字符串拼接重复
#字符串拼接str5 = "welcome to "str6 = " china"num = 19print(str5 + str6)# print(str5 + num) # 注意,+ 只能用于字符串和字符串之间进行拼接
#字符串重复print(str*5)字符串截取和判定存在
#字符串截取ss1 = "good good study,day day up"print(ss1[1:6]) # ood gprint(ss1[2:]) # od good study,day day up从下标2切到末尾print(ss1[:9]) # good good从开头切到下标9print(ss1[-1]) # p 省略 → 到末尾print(ss1[1::2]) # odgo td,a a p # 将步长设置为2print(ss1[::-1]) # pu yad yad,yduts doog doog # 将字符串实现翻转
#判断字符是否存在#判断指定元素是否在字符串中 成员运算符 in 或者 not inprint("good" in ss1)if "love" in ss1: print("终于找到了真爱")else: print("继续寻觅吧!!")常用功能
获取长度和次数
str4 = "张哥,'有点厉害'"# 获取字符串的长度 len()print(len(str4))
# count() 在整个字符串中查找子字符串出现的次数str = "电脑卡了,ss电脑呢?"print(str.count("电脑")) # 2大小写转换
# 2.字符串大小写转换 upper() lower()# upper()将字符串中的小写字母转换为大写str1 = "i Miss you Very Much!"print(str1.upper()) # I MISS YOU VERY MUCH!
# lower() 将字符串中的大写字母转化为小写print(str1.lower()) # i miss you very much!
# swapcase 将字符串中的大写转换为小写,将小写转换为大写print(str1.swapcase()) # I mISS YOU vERY mUCH!
# title() 将英文中每个单词的首字母转换为大写str2 = "i love you forever!"print(str2.title()) # I Love You Forever!查找
# find() 查找子串在字符串中第一次出现的位置, 返回的是下标,若未找到返回-1ss3 = "123asdfASDCXaZ8765sahbzcd6a79"print(ss3.find("a")) # 3print(ss3.find("y")) # -1 未找到子串,返回-1# 在指定区间内查找print(ss3.find("a",5,20)) # 12
# rfind 查找子串在字符串中最后一次出现的位置,返回的是下标,若未找到返回-1print(ss3.rfind("a")) # 25print(ss3.rfind("y")) # -1
# index() 功能和find类似 在字符串中未找到的时候,直接报错 (了解)print(ss3.index("d")) # 5# print(ss3.index("y")) # ValueError: substring not found替换
# 替换# replace() 对字符串中的数据进行替换ss9 = "国家主席习近平,习近平是一个伟人,我们感谢习近平主席"print(ss9)print(ss9.replace("习近平","***"))# 控制替换的字符的次数print(ss9.replace("习近平","***",2))判断(重点)
# 字符串判断# isupper() 检测字符串中的字母是否全部大写print("ASDqwe123".isupper()) # Falseprint("ASD123".isupper()) # True
# islower() 检测字符串中的字母是否全部小写print("ASDqwe123".islower()) # Falseprint("qwe123".islower()) # True
# isdigit() 检测字符串是否只由数字组成print("1234".isdigit()) #Trueprint("1234asd".isdigit()) # False
#istitle() 检测字符串中的首字母是否大写print("Hello World".istitle()) # Trueprint("hello everybody".istitle()) # False
# isalpha() 检测字符串是否只由字母和文字组成print("你好everyone".isalpha()) # Trueprint("你好everyone123".isalpha()) # False数学功能
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
相关文章 智能推荐
1
FireflyBlog AI 功能完整指南
博客导航 FireflyBlog 博客 AI 问答与文章概括功能的完整技术文档,包含架构设计、实现细节、配置说明和注意事项
2
FireflyBlog + blogspring 前后端联调完整指南
博客导航 FireflyBlog 与 Spring Boot 后端联调的完整技术文档,包含架构设计、阿里云服务器配置、部署流程、前后端对接和常见问题排查
3
导航栏模块升级与新增功能
博客指南 详细记录导航栏模块的五项核心改进:分类独立页面、hoverTitle、点击触发下拉菜单、Guestbook 入口统一、LinkPreset 枚举扩展,包含完整代码示例与使用方法。
4
网站导航页面自定义指南
博客导航 详细介绍如何自定义网站导航页面,包括分类管理、网站添加、颜色配置等
5
MDX 组件使用指南
博客导航 博客自定义 MDX 组件的使用方法,包括时间轴、音乐卡片和标签徽章。
随机文章 随机推荐