[Python]细节、经验
【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/132333324
出自【进步*于辰的博客】
纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接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知识点锦集》。
本文持续更新中。。。
[Python]细节、经验的更多相关文章
- Python - 学习经验分享
执行方式: 直接输入python进入命令行,进行单行输入执行,退出后不保存. python filename.py或./filename.py 直接执行脚本文件 脚本格式: #!/usr/bin/py ...
- 面试7家,收到5个offer,我的Python就业经验总结 !
*---------------------------------------人生处处有惊喜,背后却是无尽的辛酸苦辣. Python找工作并不容易,老表面试了很多企业,总结了些宝贵经验! 一周转 ...
- 刚转行1年测试新手:学习Python编程经验实战分享
一.开头说两句 作为一名零基础转行刚一年的测试新手来说,深知自己在技术经验方面落后太多,难免会有急于求成的心态,这也就导致自己在学习新知识时似懂非懂,刚开始学完那会还胸有成竹,一段时间之后却又忘的一干 ...
- java和python细节总结和java中string 的+操作
//JAVA中对arrayList的初始化,能够分配空间,不能之间让一个ArrayList赋值给另外一个ArrayList,这样是引用赋值,当一个改变时候,另外一个也改变 List<String ...
- 安装python sklearn经验总结
1. 需要安装 numpy, scipy, 和sklearn和ipython,Cython sklearn,ipython, Cython都可以通过pip来安装.但scipy,可能还有numpy必须通 ...
- [python] python单元测试经验总结
python写单元大多数都会用到unittest和mock,测试代码覆盖率都会用到coverage,最后再用nose把所有的东西都串起来,这样每次出版本,都能把整个项目的单元测试都运行一遍. Unit ...
- python 细节回顾
#!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python': # 第一个实例 if letter == 'h': continue ...
- Mac安装python细节
前言 之前在windows平台上安装python直接用Anaconda,优点是所有的科学计算的库都整合进去了,安装方便.在Mac系统下,当然也可以直接安装Anaconda,但是考虑到Mac会自带pyt ...
- Python 细节与基础拾遗
locals():当前环境下的全部局部变量,字典(dict)类型,所有的 key 均为字符串类型: if 'sess' in locals() and sess is not None: print( ...
- Python细节(二)小数据池
3.8小数据池 python是由代码块构成的 代码块,一个模块.一个函数,一个类,一个文件,eval(),exec()执行的时候也是一个代码块 1.内存地址 id() 通过id() 我们可以查看到一个 ...
随机推荐
- JS leetcode 旋转数组 题解分析
壹 ❀ 引 今天来做一道同样简单,但是挺有趣的题,题目来自leetcode189. 旋转数组,题目描述如下: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: ...
- 48.DRF版本控制
版本控制 版本控制是前后端分离开发一个非常重要的内容,比如说我们重要服务修改.升级等发生版本变化v1.v2.v3等,但是版本发生了变化比如 v1升级到了v2版本,v1版本还有业务在继续使用,相当于同时 ...
- WPF常用控件 自定义样式( ScrollViewer TextBox PasswordBox Button RadioButton CheckBox ToggleButton ProgressBar TabControl Loading Waiting 饼图 渐变图标 消息通知 )
控件样式一览: ScrollViewer 继承样式,使用方法跟原生一致,就不过多阐述. TextBox,PasswordBox 继承样式,Tag属性为提示文字. RadioButton,CheckBo ...
- logstash4j-用于日志的输入、转换处理、输出, java 开发者自己的 logstash
项目简介 logstash4j 用于日志的输入.转换处理.输出, java 开发者自己的 logstash 特性 input output filter metric 开源地址 logstash4j ...
- Java I/O 教程(三) FileOutputStream类
Java FileOutputStream 用于将字节数据写入文件. 如果你需要将原始数据写入文件,就使用FileOutputStream类. Java.io.FileOutputStream cla ...
- JavaScript 的新数组分组方法
对数组中的项目进行分组,你可能已经做过很多次了.每次都会手动编写一个分组函数,或者使用 lodash 的 groupBy 函数. 好消息是,JavaScript 现在有了分组方法,所以你再也不必这样做 ...
- VS2019 添加三方文件夹遇到的坑
在开发新项目时需要用到一些三方 API,这些三方 API 没有生成 lib,所以我们在 VS 编译器中添加这些三方文件夹的头文件路径后 会出现 ERROR LNK2019 的错误提示,这些提示通常都是 ...
- 【Android逆向】IDA动态调试JNI_OnLoad 和 .init_array
由于 JNI_OnLoad 和 .init_array 执行时间很早,so一加载到内存中就执行了,所以动态调试步骤会稍微要麻烦一些 1. 进入手机, 执行./android_server (如果是64 ...
- pgrep查询当前运行程序的pid
pgrep 运行的程序 [root@c1 ~]# pgrep matmul 2634730
- 前端面试题(四)—— 事件委托(Event Delegation)
一.什么是事件委托 事件委托(Event Delegation)是一种常用的技术. 它利用事件冒泡的特性,在父元素上监听事件,而不是在子元素上直接添加事件监听器. 通过在父元素上捕获事件,然后根据事件 ...