Python 学习笔记(更新中)
admin
2024-04-18 14:55:49
0

Python 学习笔记(更新中)

本人已经有一些python的经验了,笔记仅记录一些python的理论知识,python中包含的方法,而不包含具体的实现方式。根据这些知识和方法,可以帮助我们了解python能够完成什么任务。如果需要代码,可以根据这些知识点去百度或者谷歌去找到相应的实现方式。或者查看全套教学视频的链接:
https://www.bilibili.com/video/BV1rN4y1F7AU?p=1&vd_source=e13ed5ec556f20f3f3c29fffcc596924

input

提示输入一个字符串,然后继续运行程序。

列表

列表的切片取值:

通过索引可以取到任意一个值或者几个值。
可以正向取,也可以反向取。
可以间隔取值(步长)。

del $ append 删除和增加

定义的列表可以删除,使用del方法。如已经定义了一个列表a=[], 通过del a可以直接删除a。此时如果打印a,会报错,显示a未定义。

此外,del a[xxx],xxx表示索引,通过该方法可以删除a中指定位置的元素。

可以增加变量,append方法,该方法添加元素到列表的末尾。

insert$ clear 插值和清空

insert方法可以插入元素,在任意位置(参数1),插入多种形式的数据(参数2)。

clear方法可以清空列表。创建列表之后,如果想清空,可以直接使用list.clear()方法。

remove& pop

remove可以移除列表指定内容的元素。默认移除第一次出现的元素。
pop可以移除列表指定索引的元素。如果不给参数,默认移除列表中最后一个元素。pop可以返回值,返回值为移除的元素内容。

index&reverse 索引和反向排列

index()可以返回字符第一次出现的位置。参数2,和参数3可以表示起止索引。
reverse可以反向排列列表中的元素。

extend

extend函数可以在列表后添加一个列表。但附加的列表会被拆开,而不是被当作一个整体被插入。效果相当于列表的加法,但是更加节省内存空间。

extend如果后面添加一个字符串,则字符串会被拆开为单个字符,而不是被当作一个字符串被插入。

copy

copy用于创建列表的副本。通过等号复制给另一个变量。
如list2 = list1.copy()。此时对list1操作不会影响list2的变量。但如果直接进行赋值操作,如list2 = list1,则如果对list1操作,list2也会变化。

sort

sort方法可以排序字符串,或数字。根据首字母,或者字符大小进行排序。字符串常见的排序规则是ASCII码,也就是0-9 不同类型的元素,无法进行排序。数字和数字排序,字符串和字符串进行排序,如果元素中混合数字和字符串,则报错。
参数可选择reverse=Ture,则从大到小。

count

count用于统计元素在列表中出现的次数。如果没用出现过,则返回0.

元组 Tuple

元组也是一种数据容器,使用小括号表示。使用场景与列表相似。元组中的元素类型可以不统一。元组和列表不同之处是,元组的元素不可变。

元组的拼接与更改

元组和元组可以拼接。此外,元组中的元素无法更改,但是元组中的列表中的元素是可以更改的。

元组的注意事项以及乘法

元组中只出现一个数据时,需要在数据后面加逗号,否则,该变量不是元组。如 tuble = (10,)
元组可以使用乘法,如
tuble = (1,)
tuble * 10 = (1, 1, 1 ,…1,1)共十个1.

集合的创建

set

set()用于集合的创建,集合是无序的。set

去重

直接使用set函数可以实现去重。如a = set([1,1,2,1,2,2,1,1,])。则a = {1,2}。此时a的数据类型为set,可以通过list()转换为元组。
也可以进行字符串的去重,元组的去重,字典键值的去重。

集合添加元素的方法:add & update

add函数可以往集合中添加元素,数字/字符串/元组 note:无法添加列表。
update()方法可以合并两个集合。如set1.update(set2),则set1被改变,set2是不变的,set1合并了之前的set1和set2.

remove & pop & discard

remove 删除指定元素。元素不存在则报错。
pop随机删除一个元素。
discard 删除指定元素。元素不存在则不进行任何操作也不会报错。

集合的交集和并集

‘&’符号连接多个集合,返回值为交集,
‘|’符号连接多个集合,返回并集。
要知道set()本身就是去重的,所以,交集和并集不会存在相同元素。

字典Dictionary

字典是一种映射类型,元素为键值对。键为不可变类型,且不能重复。
字典的创建可以直接使用dict()。或者用大括号{}
注意:集合用大括号{},但是无法创建空集合。创建空集合用set(),创建空字典直接用大括号{}

字典可以进行增删改查

增加:增加键值可以直接使用 D[‘key_name’]=key_value. 可以增加关键字‘key_name’,值为key_value
删除:直接使用del关键字, del D[‘key_name’]
修改:直接选择相应键值,通过等号进行更改。D[‘key_name’] = new_value
查询:直接D[‘key_name’]

get$ keys

get可以进行取值。D.get(‘key_name’) 如果没有返回None。# 个人感觉有点鸡肋。不知道有啥用。
keys可以以列表的形式返回字典中所有的键的名字。

items&values

items可以返回所有键值对,以列表的形式
values返回所有的值。

clear©

clear用于清空字典。
copy用于副本的创建。可以与列表的copy方法进行对比。同样,修改原对象不会影响其副本。

fromkeys & pop

fromkeys()有两个参数,第一个参数是键,可以是一个列表,元组,集合。
第二个参数是值,可以是任何类型的数据,作为每个键的值。
pop函数可以移除指定的键值对。参数为键的名字。同时该函数会返回被删除的键的值,如果需要该键值,可以用变量进行接收。

popitem & setdefault

popitem自动删除最后一条键值对。返回值是被删除的键值对。(元组格式)。可以用变量接收。
setdefault()可以添加一条键值对。如果该键已经存在,则无法添加。如果该键不存在,则添加。
Note: 如果一个字典存在两个相同的键,则后一个键值会覆盖上一个键值。

update

update可以更新字典。可以用于字典的合并。如d1.update(d2)则将d2中的键值对,覆盖到d1中。也就是说,键存在的情况下,覆盖其键值,键不存在的话,则进行添加。

关键字 in

用于成员检测。使用in或者not in运算符来判断某个对象是否为序列的成员。
in 判断对象是否存在与序列中(字符、列表、元组、字典(键))中。 存在返回true
not in 判断对象是否不在与序列中(字符、列表、元组、字典(键))中。 不在返回true

关键字 is & is not

用于判断两个字符串或者数字或者元组是否相同。
a is b 相同返回true
a is not b 不相同返回true
a和b是数字,字符串,元组。如果是列表,或者字典,或者集合,则不能用is进行判断是否相同。
总结:数字,字符串,元组 表面一样,完全一样。
列表,或者字典,或者集合 表面一样,其实不一样,不是同一个对象。

流程控制if&for

if…elif…else 语句

用于判断条件是否满足。如果满足,则运行if内对语句。
从上往下判断,满足一个时候,下面不再运行。if可以单独存在,elif可以有多个
可以直接写if True: 直接执行 或者 if False: 直接跳过。

for

for 循环可以直接遍历序列。通过不使用下表的方式,实现对序列中每一个元素的访问。如 for i in …列表,元组,字符串,字典,集合。
如果想遍历数字,使用range(N)函数。从0开始取,到N-1结束
如果想遍历字典里的键和值,可以使用for i in dict.items():返回一个元组,包括键和值。

range

range可以设置步长。range()可以传不同参数,一个参数时,从0取到N-1,两个参数时,从N1取到N2-1,三个参数时,第三个参数是步长。

查看数据类型与数据类型强制转换

type

type()返回变量类型。

str

str()强制将数字转换为字符串类型,也可以转换布尔值。直接将True转换为‘True’的字符串。将列表[1,2,3]转换为’[1,2,3]'。

int &float

int()强制转换为整型数字。也可以将纯数字的字符串转化为整型数字.小数的字符串无法转换,因为包含了点 ‘.’ 而且也无法用float强制转换。

int 向下取整。如3.14 转换为3,-3.14转换为-3。可以转换布尔值。True=1, False=0
float()强制转换为浮点型数字。

bool

bool可以强制转换其他类型为布尔值。
当转换空列表、空字符串、空集合、空字典、空元组、0、0.0,为False
其他转换为True

list

无法转数字类型,因为数字不是容器
字符串转列表时,每一个字符当一个元素。
元组转列表时,元组每一个元素当为字符串中的元素。
字典转列表时,只保留字典的键。
集合转列表时,保留每一个元素,然而会出现无序的情况,因为集合本身是无序的。

tuple

性质与list相同,可参考list的转换。(上一条)
无法转数字类型,因为数字不是容器

set

与list和tuple相似,可参考list。然而,set本身是无序的,因此转换后,输出结果是无序的。

dict

无法转数字类型为字典,因为数字不是容器
字符串无法转换为字典类型,因为字符串不是二级容器
列表转字典时,列表必须是二级容器。而且子元素为2。如[[1,2],[3,4]]转换后,{1:2,3:4}.
同理,元组转字典时,元组必须是二级容器。而且子元素为2。如((1,2),(3,4))转换后,{1:2,3:4}.
集合不能转换为字典。

isinstance

判断变量是否为已知类型。

相关内容

热门资讯

景洪民生村镇银行获批解散,全部... 北京商报讯(记者 宋亦桐)7月15日,云南金融监管局发布《关于景洪民生村镇银行股份有限公司解散的批复...
前5月云浮民企出口增长超两成 广东溢康通空气弹簧有限公司产品展厅。资料图片 民营企业是推进中国式现代化的生力军,是高质量发展的重要...
内娱为什么突然迷上了“下沉市场... 作者 | 文娱先声 王烨 最近,“下沉市场”成了内娱最高频的流行词之一。 艺人获奖,有人说赢在下沉...
京东AI Agent成为腾讯元... 7月15日,京东与腾讯联合宣布,京东AI Agent与元宝完成小程序生态打通。京东AI Agent将...
外企探寻广西投资新机遇 “外国企业中国行”构建起多边共赢的常态化合作机制,为促进资金跨境融通、产业成果跨国落地贡献中信力量 ...
国产具身智能项目迎来突破,机器... 截至收盘,国证机器人产业指数下跌0.1%。同花顺iFinD数据显示,机器人ETF易方达(159530...
最高法提审!重庆银行5亿债权追... 一笔5亿元的债券投资,走过五年追偿路。从债务人破产到担保人清空,从中介机构追责到管辖权拉锯,重庆银行...
百度李彦宏人民日报撰文:AI不... 瑞财经 吴文婷 7月15日,世界人工智能大会(WAIC)召开前夕,百度公司创始人李彦宏在《人民日报》...
美国拟出台新制裁法案对俄能源买... 7月15日,外交部发言人林剑主持例行记者会。 彭博社记者提问,美国正推动出台一项针对俄罗斯的新制裁法...
身价360亿美元!DeepSe... 王爷说财经讯:一夜之间,整个AI圈的财富榜被一个中国人彻底改写了。 7月14日,彭博亿万富豪指数刚一...
心脏跳动紊乱、心慌心悸? 很多人生活中都遇到过这种情况:突然心跳加速、心脏咯噔一下、心跳忽快忽慢,静坐时莫名心慌,甚至感觉心脏...
金星啤酒港股招股书失效,中式精... 记者 郑淯心 7月13日,金星啤酒提交的招股书失效。 今年1月13日,金星啤酒正式向港交所递交上市申...
深度!华强北内存条涨至近400... 本报(chinatimes.net.cn)记者黄海婷 胡梦然 深圳摄影报道 7月15日,A股存储芯片...
多只医药湘企上半年业绩预增,股... 华声在线7月15日讯(全媒体记者 仝若楠)A股三大指数今日集体下跌,截至收盘,上证指数跌0.29%,...
同心致远|康测科技携手迈基诺基... 近日,康测科技、迈基诺基因与铭毅智造于武汉正式签署三方战略合作协议。三方将充分发挥各自优势,形成“设...
解决私信回复慢难题 小红书私域... 行业痛点直击:2026年小红书矩阵运营的三座大山 做过小红书私域获客的从业者都清楚,2026年的平台...
美联储主席沃什国会首秀:通胀飙... 当地时间周二,上任美联储掌门人仅两个月的凯文・沃什站在了众议院听证会会场。 在听证会上,沃什表示充分...
明宇制药二闯港交所,28亿负债... 作者|杨立成 编辑|陈肖冉 7月8日,明宇制药有限公司(简称:明宇制药)更新招股书,二次冲击港交所1...
老乡鸡排队五年无法上市,IPO... 出品丨搜狐财经 作者丨柴鑫洋 编辑丨李文贤 打工人的干饭顶流老乡鸡,至今仍未拿到港交所的一张入场券。...
DeepSeek拟IPO!单月... 过去 12 个小时,关于 DeepSeek 的消息一个接一个炸出来。 据报道,DeepSeek 已经...