Python

Python

列表2026-03-05

可迭代对象:字符串、列表(可以迭代对象,可以for循环遍历取值)

列表形式 [元素1,元素2,元素3]----元素的类型可以不同
所有元素放在[]内,元素与元素之间用,隔开
元素之间的数据类型可以各不相同

li=[1,2,'a',4]
print(li,type(li))#[1, 2, 'a', 4] <class 'list'>
#列表也可以进行切片操作
print(li[0:3])#[1, 2, 'a']
#遍历取值
for i in li :
    print(i)

列表的相关操作:
(1)添加元素:append()、extend()、insert()
(2)修改元素:通过下表修改(像正常的C语言数字一样修改)
(3)查找元素:in;not in;index;count
(4)删除元素:del;pop;remove
(5)排序:sort;reverse

#列表增加元素
li=[1,2,'a',4]
li.append("hello")#相当于就在原来的基础之上加了一个hello,只是修改了列表的内容,并没有新增空间,默认为none
print(li)#[1,2,'a',4,'hello'] 整体增加 增加什么内容就获取到什么内容
li.extend('hi')#将整体插入内容 分散为个体
print(li)#[1,2,'a',4,'h','i']
li.insert(3,"one")#指定位置进行插入 必须的有数字即指定的位置 不然会报错 3即就是第三位是插入的内容
print(li)#[1,2,'a','one',4,'hello','h','i']

用户输入昵称,昵称重复则不能使用;定义一个列表,保存已经存在的昵称

li=[1,2,'h',3]
while True :
    name=input("请输入用户名称")
    if name in li:
        print("输入的名字是存在的")
    else :
        li.append(name)#注意这里是.不是用等于把内容写进去
        print(f"所有名字内容有:{li}")#注意输出的时候有字符串+列表的形式

index:返回指定数据所在位置的下标,如果查找的数据不存在就会报错

li=[1,2,'h',3]
li_Index=li.index('h')
print(li_Index)

count:统计指定数据在当前列表出现的次数

li=[1,2,'h',1]
li_Index=li.count(1) 
print(li_Index)#2
li_Index=li.count('1') 
print(li_Index)#0

删除元素
del:根据下标进行删除(注意中间使用的是空格)

li=[1,2,'h',1]
del li[3] #注意中间使用的是空格 指定输入下标的数字 [1, 2, 'h']
print(li)
# del li
# print(li)#这里是删除整个列表,运行后的内容是NameError: name 'li' is not defined
#如果要清除内容
# li=li.clear()#清除所有的内容
# print(li)#None

#pop:删除指定下标的数据,Python3版本默认删除最后一个元素
li.pop()
print(li)#[1, 2, 'h']
li.pop(1)#只能指定要删除的下标,不能指定要删除的内容
print(li)#[1]

remove:根据元素的值进行删除

li=[1,2,'h',1]
li.remove('h')
print(li)#[1, 2, 1]
li.remove(1)
print(li)#[2,  1]当有重复内容出现,remove会删除第一次出现的内容

排序:
sort()将列表按特定顺序重新排列,默认从小到大
reserve()倒序输出

li=[1,2,3,1]
li.sort()#按照从小到大的顺序排序
print(li)#[1, 1, 2, 3]
li.reverse()#把列表倒序输出
print(li)#[3, 2, 1, 1]

列表推导式
基本写法:
[表达式 for 变量 in 列表]
[表达式 for 变量 in 列表 if 条件]
注意:有方框存在的

li=[]
[li.append(i) for i in range(1,6)]
print(li)#[1, 2, 3, 4, 5]

[li.append(i) for i in range(1,6) if i%2 == 1]
print(li)#[1, 3, 5]

列表嵌套:一个列表里面又有一个列表

#列表嵌套(一个列表里面又有一个列表)
li = [1,2,3,[4,5,6]]
print(li[3][1])#5
print(li[3])#[4,5,6]

1.元组 tuple 字典 20260310

元组

基本格式:元组名=(元素1,元素2,元素3...)
所有元素包含在小括号内,元素与元素之间用,隔开,不同元素也可以是不同的数据类型

# tua = (1,2,3,'a','b’)
# print(type(tua))  #<class 'tuple'>
tua = 0
#定义空元组
int (type (tua))
print('a')#<class 'str'>
tub=(a’,) #只有一个元素的时候,末尾必须加上,否则返回唯一的值的数据类型
print (type (tub))##<class 'tuple'>

元组与列表的区别
元组只有一个元素末尾必须加,列表不需要

li=[1]
print(type(li))
元组只支持查询操作,不支持增删改操作
tua(1,2,3,1)
#count(),index(),len()更列表的用法相同
print(tua,index(2))
print(tua.count(1))
print(len(tua))
print(tua[1:])

name='huahua'
age=12#元组的内容必须得先定义
information=(name,age)#
name='hh'
print("%s是%d"%information)#huahua是12

字典

dic={'name':'sixStar','age':18}
注意:键值对形式保存,键具有唯一性,但值可以重复

#字典中的键具备唯一性,但是值是可以重复
dic={'name':'bingbing','age':18,'name':'huahua'}
print(type(dic))#<class 'dict'>
print(dic)#{'name': 'huahua', 'age': 18} 如果有重复内容,就会覆盖原来的信息

字典常见操作
查看元素

dic={'name':'bingbing','age':18,'name':'huahua'}
print(dic['age'])

如果查找的键名没有定义返回的是None()
列表通过下表修改,字典通过键名修改
字典还有新增功能

dic={'name':'bingbing','age':18,'name':'huahua'}
dic['age']=20#修改
print(dic)#{'name': 'huahua', 'age': 20}
dic['hight']=123#新增
print(dic)#{'name': 'huahua', 'age': 20, 'hight': 123}

删除

dic={'name':'bingbing','age':18,'name':'huahua'}
dic['age']=20#修改
print(dic)#{'name': 'huahua', 'age': 20}
dic['hight']=123
print(dic)

#del dic
#print(dic)#删除这个列表的所有信息,会报错
# dic.clear()
# print(dic)#{} 删除了所有内容
#pop()删除指定键值对,键不存在就会报错
dic.pop('name')#使用pop()删除字典中没有定义的键名,会报错
#popitem()随机删除一个键值对,3.7之后的版本默认删除最后各一个键值对
print(dic)#{'age': 20, 'hight': 123}

20260501

函数

1.def 函数名(参数列表):
      函数体
      return 返回值
注意:函数必须先定义调用执行;没有返回值可以省略

def circle_area(r):
      area=3.14*r*r
      return area
c_area=circle_area(10)
print(c_area)

如果返回多个值,中间用逗号间隔,其中返回的类型是元组类型;也可以直接解包 area,len=函数名()

2.函数的说明文档是写在函数开头,用三引号包裹的字符串,用于解释函数的功能、参数、返回值等信息,方便调用者清楚函数的具体作用以及细节;类似于注释(不同点是,调用函数的时候,鼠标指针放上去会有解释说明,好的文档,能让代码更容易理解、使用和维护)

def circle_area(r):
      """
      area=3.14*r*r
      return area
      """
c_area=circle_area(10)
print(c_area)

3.函数作用域
global关键字,明确的告诉Python解释器,在函数中要使用全局变量,使函数内部修改全局变量的值
注意:尽量避免在函数中使用全局变量,因为会使代码难以维护和调试;考虑使用函数参数和返回值来传递数据,而不是依赖全局变量;global主要用在程序的状态、配置和计数器等场景中

4.传参方式
调用函数时以函数定义时形参名称作为关键字,以“键=值”的形式来传递参数(不要求顺序)


image.png

5.默认参数
默认参数也成为缺省参数,用于在定义函数时,为参数提供默认值,调用函数时,可以不传递有默认值的参数;
def 函数名(变量名1,变量名2,变量名3=“小花”)
调用时: 函数名(变量名1,变量名2)
如果函数调用时,需要修改设置的默认值,可以进行重新赋值,从而替换变量。如:函数名(变量1=2,变量2=4,变量3=“小草”)
注:在函数调用的时候,默认形参后面跟随非默认形参

6.函数-不定长参数(位置参数 args --> 元组)
def 函数名(
args): #意思是,函数在进行调用传参时,传参个数是可以任意多个的,以元组的形式

7.不定长参数--关键字传递(kwargs)
def 函数名(
args,
kwargs)
调用形式:函数名(100,200,300,round=2,count=0)#前面三个参数是元组
args 接收位置传递的不定参数,后面两个是字典**kwargs 接收关键字传递的不定参数

round()--计算的平均值保留几位小数

20260517

面向对象基础(有一个考试,所以提前学一下)

1.面向过程编程:把一个需求分解成一些列要执行得步骤,然后按照步骤依次执行这些任务(流程、步骤)
1)适用场景:面向过程编程非常直接,适合简单,线性得任务
2.面向对象(谁帮我做这件事儿)
1)万物皆对象
2)把一个人/物的特征和功能打包到一起,是面向对象编程的基本单元(特征---属性;功能---方法
3.类与对象
1)类:具有相同属性(特征)和方法(功能/行为)的模板
2)对象:对象是类的实例,是基于类创建出来的(实例对象)
提示:对象是由类创建出来的,创建对象的过程,也称为对象的实例化。一个类可以创建无数个对象
3)类的定义
动态的为对象添加属性

image.png

_ dict _是python中用户自定义类实例的一个特殊属性,用于以字典形式存储对象的属性(这样能当作列表形式把整体输出来)


_ init 方法是初始化的方法,会在对象创建时自动调用,可以在该方法中为对象设置对应的属性;
self:是第一个参数,表示当前所创建出来的实例对象
image.png

魔法方法:Python中提供的以双下划线开头和结尾的特殊方法,用于定义类的特殊行为,比如: _ _ init
_
_ init _ _ 初始化方法
_ str 字符串表示的方法
_ _ lt
, le , gt , _ ge
_支持比较两个对象的大小(小于(less than),小于等于(less than or equal),大于(greater than),大于等于(greater than or equal))
image.png

4)属性分为
实例属性:实例属性属于每个具体对象的属性,每个对象都是独立的。(各个对象特有的数据 )
类属性:类属性是属于类本身的属性,所有实例共享的。(所有对象共享的数据或配置)
image.png

如果实例属性与类属性都定义了同一个变量,实例属性就会覆盖

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、python入门 1. python介绍 1.1 python可运用范围 1.1.1 脚本、小工具 1.1.2...
    三观正_1e5f阅读 1,495评论 0 10
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,639评论 17 410
  • 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备,具...
    不脱发的程序员阅读 1,247评论 0 1
  • Python基本语法 一、Python介绍 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚...
    zflain阅读 236评论 0 0
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 6,066评论 2 16

友情链接更多精彩内容