Python教程06—什么是集合集合是一种可迭代的,无序的,不能包含重复元素的容器
集合的创建、修改、查询基础语法1. 创建集合123s2 = {"hello"}print(s2)print(type(s2))
2. 修改集合1234s = {"angel","Angel","andy","Andy"}s.remove("angel")s.add("安吉拉")print(s)
2.1 可变集合操作方法
方法
描述
add()
为集合添加元素
clear()
移除集合中的所有元素
copy()
拷贝一个集合
difference()
返回多个集合的差集
difference_update()
移除集合中的元素,该元素在指定的集合也存在
discard()
删除集合中指定的元素
intersection()
返回集合的交集
intersection_update()
返回 ...
Python新手必读:7大实用调试技巧,助你快速定位并解决代码难题1、打印语句与日志记录
大多数新手调试时的第一反应,就是在代码里加 print () 语句来观察程序状态。比如在循环中打印变量值,或设置 “检查点” 信息,都能快速发现数值异常。但初学者常犯的错误是:要么忘记清理这些打印语句,要么打印信息缺少上下文 —— 比如直接 print (x) 就会让人摸不着头脑。
改进方法很简单:添加上下文描述,比如 print (f”循环第 {i} 次,x 的值是 {x}”)。
如果想更专业,可以用 logging 模块替代 print:
123import logginglogging.basicConfig(level=logging.DEBUG)logging.debug("变量状态: %s", var)
这样既能获得时间戳和日志级别,又能轻松开关日志或重定向到文件。
简言之,print () 适合快速排查(能解决 80% 的新手问题),但要学会在正式场景中使用日志。很多时候,新手浪费时间就是因为看不到程序状态变化 —— 合适的打印或日志能让程序流程一目了然。
...
Python自学笔记第28篇–异常1在Python中,我们要捕获异常,来确保程序的正常运行。
什么是异常,异常是错误吗?
第一个知识点:异常和错误傻傻分不清楚
1:什么是错误
首先说下错误,错误一般是指语法错误,也就是书写代码的时候,没有按照Python的语法规则进行书写导致的程序错误。
例如:
if a==1
print(‘这就是语法错误’)
因为Python要求if的结束要以冒号‘:’结尾,你没有在条件语句a==1后面加‘:’的话,Python就看不懂你写的什么东西,于是就会报错。
这样的错误,我们称为语法错误(Syntax Error),报错的时候见到Syntax Error,你就检查一下你的代码是不是语法格式出错了,导致Python认识不了了。
错误一般是你粗心或者对Python语法格式不太熟练的情况下导致的,说白了就是你编写代码的时候写不对导致的,再通俗点就是不会写导致的。错误是可避免的,多练就对了。
2:什么是异常
异常不是语法的错误,一般情况下语法格式没有问题,但是运行过程中出现了意外情况。当然这些意外情况一般是可以预见的。 ...
编程开发
未读《Python知识手册》
手册介绍:https://mp.weixin.qq.com/s/Nf8xcITRaBcWEattAII-iA
手册Github地址:https://github.com/liyangbit/Python-Knowledge-Handbook
pdf下载链接链接:https://pan.baidu.com/s/1ANXDD1hLZ5h_6jMrDMEQzg密码:5r0a
备用链接:https://shimo.im/docs/rYYT6Dd86TqdYXXR/
Python 程序员必修课:为什么说 *args 和 **kwargs 是“万能接口”?你有没有遇到过这种场景:写了一个函数,参数死板得像石头,非得按照顺序一个个传。如果临时想多加几个参数,立马报错。于是你只能不停改函数定义,改着改着自己都乱了。
其实 Python 早就给了我们一个神器,专门解决这种“参数不确定”的尴尬场景——那就是 *args 和 **kwargs。别被这两个名字吓到,它们的本质其实就是两个袋子:
一个袋子专门装位置参数(*args → 元组);
另一个袋子专门装关键字参数(**kwargs → 字典)。
只要学会用这两个袋子,你的函数立刻灵活到飞起。
1. 最直观的感受:把参数全都装起来我们先看个最常见的例子:
123456def demo_args(a, b, *args, **kwargs): print(f"标准参数: {a}, {b}") print(f"位置参数 (*args): {args} (类型: {type(args)} ...
format()格式化输出方法format() 是 Python 中用于字符串格式化的强大工具,它提供了灵活的方式来格式化字符串。以下是 format() 方法的全面介绍。
1. 基本用法123456789# 位置参数print("{} {}".format("Hello", "World")) # 输出: Hello World# 索引参数print("{1} {0}".format("World", "Hello")) # 输出: Hello World# 命名参数print("{name} is {age} years old".format(name="Alice", age=25))# 输出: Alice is 25 years old
2. 数字格式化123456789101112131415 ...
Python生成器与迭代器深度解析:内存高效的数据流处理编程模式迭代器其实就像是一个智能的书签。你不需要把整本书都记在脑子里 只要知道当前读到哪一页就行了。
每次调用next()方法 就翻到下一页。简单粗暴。
1234567891011121314151617# 自定义迭代器实现class NumberIterator: def __init__(self, max_num): self.max_num = max_num self.current =0 def __iter__(self): return self def __next__(self): if self.current <self.max_num: self.current +=1 return self.current else: raise StopIteration# 使用方式numbers =NumberIterator(5)for num in numbers: pri ...
find相关练习题1.查找/tmp目录下,属主不是root,且文件名不以f开头的文件
1find /tmp ! -user root ! -name "f*"
2.查找/var目录下属主为root,且属组为mail的所有文件
1find /var -user root -group mail -type f
3.查找/var目录下不属于root、lp、gdm的所有文件
1find /var ! -user root ! -user lp ! -user gdm -type f
4.查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
1find /var -mtime -7 ! -user root ! -user postfix -type f
5.查找/etc目录下大于1M且类型为普通文件的所有文件
1find /etc -type f -size +1M
6.将/etc/中的所有目录(仅目录)复制到/tmp下,目录结构不变
123rs ...
编程开发
未读python高阶:列表推导式1、python列表推导式是一种高效创建列表的语法结构,能将循环、条件判断、和元素处理合并为一行代码,大幅提升代码简洁性。
2、列表推导式的基本语法结构
[表达式 for 变量 in 可迭代对象 if 条件]
·表达式:对迭代元素进行转换或计算,决定列表元素的最终值。
·for循环:遍历可迭代对象(如列表、元组、字符串、range等)。
·if条件(可选):删选符合条件的元素,仅满足条件的元素会被加入列表。
3、基础遍历与表达式
无需条件筛选时,直接通过表达式转换元素:
1234#生成1-5的平方数列表squares=[x**2 for i in range(1,6)]print(squares) #输出[1,4,9,16,25]#字符串长度列表words=["apple","book","car"]lengths=[len(word) for word in words]print(lengths) #输出[5,4,3]
4、条件筛选(if子句)
在for循环后添加if条件, ...
编程开发
未读Python里面的self大家学Python面向对象的时候,总会遇到一个让人难以理解的存在:self
这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用呢?
「先下结论:类实例化后,self即代表着实例(对象)本身」
想要理解self有个最简单的方法,就是你把self当做**「实例(对象)*的*身份证。」
Python的类不能直接使用,只有通过创建实例(对象)才能发挥它的功能,每个实例(对象)都是独一无二的,它可以调用类的方法、属性。类就像灵魂附体一样,让实例(对象)有了自己(self)的功能。
初学者会发现,类的方法(构造方法和实例方法)中都会有一个固定参数self,其实这个参数就是代表着实例(对象)本身,就像是一个身份证,实例可以凭着身份证去调用类方法。
类比人类,人类就是一个Python类,每个个体的人代表着实例(对象),而每个人的身份证代表的Python中self,每个人可以凭借身份证去上大学、坐高铁、住酒店…(方法),而Python中的实例(对象)也可以凭着self去调用类的方法。
上面是用类比的方法解释了下self的含义,说到底self就 ...
