[Python]细节与使用经验
【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://www.cnblogs.com/cnb-yuchen/p/18031983
出自【进步*于辰的博客】
纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl + F进行检索。
1、细节积累
- 判断元素类型:
isinstance(a, b)/type(a)
(isinstance()
也可用于继承关系判断);
注:a 是变量;b 是类型,如:数字int
、浮点数float
、字符串str
、列表list
、元组tuple
、字典dict
、集合set
。 - 列表的起始索引是
0
,终止索引是-1
; pass
的作用是保持程序的完整性,仅用作占位符;while/for
都可以与else
连用。else
只会执行一次(即循环结束时),且会被break
“截胡”;(注:else
与while/for
同层次)- python 允许方法有多个返回值(以元组的形式返回),前提是返回前没有将其组合成序列(若已组合,那就是一个返回值),
- python 与 java 一样,都是基于面向对象编程。面向对象编程在程序执行效率上并没有绝对的优势,它主要是为了方便开发者组织管理代码、快速梳理熟悉各个业务领域逻辑的一种思想方式;
str
不能与int
串联(+
);
2、推导式
参考笔记二,P34.4。
“推导式”也称之为“解析式”,列表、字典、集合都具有推导式,作用是快速创建,常与range(int max)
连用。
示例:
# 列表推导式
l = [i for i in range(10)]
print(l)
l = [i for i in range(10) if i % 2 == 0] # 取偶数
print(l)
# 字典推导式
m = {k: k*2 for k in range(10)}
print(m)
m = {k: k**2 for k in range(10)}
print(m)
# 集合推导式,会自动去重
s = {i**3 for i in range(5)}
print(s)
s = {i**3 for i in [0, 1, 2, 3, 4, 2, 3, 4]} # in 后面可以是任意序列
print(s)
打印结果:
3、关于缩进
参考笔记二,P34.6。
Python 中无“{}
”(花括号),代码块的区分不是通过{}
判断,而是通过“缩进”。“缩进”决定逻辑行的层次,同一层级的语句必须具有相同的缩进,如:循环多条语句,不是使用{}
将多条语句囊括,而是要求将这些语句的缩进一致。
若行末有“:
”(冒号),则下一行必须进行缩进,如:for
循环。
4、特殊指令符
4.1 del xx
del list[i] # 删除列表元素
del tuple # 删除整个元组
del map[key] # 删除字典映射
4.2 python fpath args
注:在终端(Terminal)或 cmd 执行。
运行源代码文件。其中,fpath 是源文件全限定名(若是在 cmd 执行,则fpath
为绝对路径);args 是命令行参数列表,可任意指定。
示例:
python model/Util.py name=csdn year=2023 # 运行 model 包下的Util.py文件,指定命令行参数 name=csdn,year=2023
最后
本文中的例子是为了方便大家理解和阐述知识点而简单举出的,旨在阐明知识点,并不一定有实用性,仅是抛砖引玉。
如果大家想要了解一些Python知识点,可查阅博文《[Python]知识点》。
本文持续更新中。。。