为什么函数可以直接修改列表,但不能修改字符串。
这次我们来谈谈,为什么函数可以直接修改列表,但不能修改字符串。 比如这段代码,定义了一个字符串和一个列表,然后这里有个函数,会在传入的东西后面加个感叹号。将字符串和列表分别传入函数,然后再打印这两个对象,会发现字符串没有被改变,列表却被改变了。 是不是有点奇怪?如果是因为函数的作用域,而使字符串没有变,那为什么列表变了;如果是因为函数可以改变对象,那为什么字符串没有变。 那么这到底...
这次我们来谈谈,为什么函数可以直接修改列表,但不能修改字符串。 比如这段代码,定义了一个字符串和一个列表,然后这里有个函数,会在传入的东西后面加个感叹号。将字符串和列表分别传入函数,然后再打印这两个对象,会发现字符串没有被改变,列表却被改变了。 是不是有点奇怪?如果是因为函数的作用域,而使字符串没有变,那为什么列表变了;如果是因为函数可以改变对象,那为什么字符串没有变。 那么这到底...
今天分享一个 pythonic 的设计思路,缩写是 EAFP,全称是 easier to ask forgiveness than permission,直译过来是「请求原谅比请求许可更容易」。字面上还是挺费解的,我们来直接看例子。 概念说明 我们这里有个字典,包含 name 和 age 两个 key,然后我要写一个函数,用来打印这两个 key,那么这个函数会这样写。 profile ...
今天分享一个关于切片的简单技巧。 减少重复工作 先来看一个例子。 receipt1 = "物品1: 苹果 数量: 5 单价: 3.00元" receipt2 = "物品2: 香蕉 数量: 10 单价: 2.00元" receipt3 = "物品3: 橙子 数量: 3 单价: 5.00元" 这里有几个收据的字符串,需求是获取每个字符串的物品和价格。观察后可以发现,物品的索引总是 ...
在这个文章里,我会分享 Python 中的 match case 语句,它可以用来处理多个条件分支,而不需要一个又一个的 if 和 elif。match case 是 Python 3.10 引入的特性,如果你想尝试,需要先确保你的 python 版本在 3.10 或以上。 使用方法 基本语法 先通过一个简单的例子,让我们理解 match case 的语法。 假设我们需要判断红绿灯的...
设计模式指的是对于某种问题的解决方案,在我们设计程序时,使用正确的设计模式将极大提高我们的代码效率。 我会在这篇文章中介绍设计模式中的策略模式,它常被用于需要实现不同策略的场景。比如使用不同策略处理文件,使用不同的交通工具导航,使用不同的支付方式进行支付等情况。 我们来看一个具体的例子。 不使用策略模式时 想象我们现在需要写一个处理文件的类,将不同类型的文件处理成统一的格式和类型。需...
Hey guys,今天我想要分享的主题是,迭代器和生成器。 它们在处理大量数据时非常有用,可以帮助我们节省内存资源。 让我们开始吧。 为什么有的对象可以使用 for 循环迭代,有的不可以? 我们知道,有的对象可以用 for 循环,比如字符串或者列表,有的对象不可以,比如整数。 我在这里定义了字符串,列表和整数,分别对它们使用 for 循环,就可以看到字符串和列表能够正常工作,而整数...
Hey guys, today I would like to discuss a topic of why we should not use a list as the default parameter of a function. I will demonstrate the potential issues that arise from doing so, the reason...
Hey guys, today I am going to talk about special methods. Special methods, also known as magic methods. They are usually written inside a class definition, used to specify how a class interacts wi...
Hey there, Welcome to my blog. Today I want to share a simple content, the function of * in Python. In addition to the mathematical operations we are familiar with, * can also be used for repetiti...
Today I am gonna show you lambda function, also know as anonymous function. When we need to build some simple, one-time function, it is the show time of lambda function. Through this article, you ...