当前位置:首页 > 编程开发 > Python > 正文内容

Python踩坑总结

Codefans4年前 (2021-10-21)Python1644

最近一段时间,看了一些算法的python源码,也用python写了一些简单的实现,在python使用上踩了一些小坑,也通过这些坑学习了一些看代码写代码的时候常用的知识点,在这里开个文章做总结,定期更新。

1. list的引用

list是python中的可变数据类型,赋值和传参的时候传递的是对象的引用,修改list值不会单独分配内存,因此会影响所有相同引用的变量。在list传参赋值时需要多加注意,尽量都采用浅拷贝的方式。此外,dict, set和list一样也是可变数据类型,也存在这个问题,同样需要注意。


>>> class D:
	def __init__(self, lst):
		self.lst = lst
	def getFirst(self):
		return self.lst.pop(0)>>> a = [1, 2, 3]>>> d = D(a)>>> a.getFirst()1>>> a   #a, d.lst是同一对象的两个引用[2, 3]

2. 变量名和方法名前后的下划线

  • 单下划线开头:受保护变量/方法,类对象和子类可以直接访问到,但外部无法import

  • 双下划线开头:私有变量/方法,python名称改编特性会将双下划綫开头的名称(以__var为例)改为"_classname__var",以实现私有特性。外部直接访问时会报错找不到变量('classname' object has no attribute '__var')

  • 双下划线开头双下划线结尾:内置变量如__init__,或特殊方法如def __init__,可以直接访问

  • 单下划线结尾:为避免与python关键字冲突


3. TBC


扫描二维码推送至手机访问。

版权声明:本文由图慧网发布,如需转载请注明出处。

本文链接:http://www.tuh8.com/?id=5

分享给朋友:
返回列表

没有更早的文章了...

下一篇:有哪些Python开发时容易踩的坑?

“Python踩坑总结” 的相关文章

dataframe踩坑笔记(2):表格合并、拼接

dataframe踩坑笔记(2):表格合并、拼接

1. 表格简单合并1.1按行合并(上下合并):import numpy as np df1= pd.DataFrame(np.random.randn(4),columns=["a"])   df2= pd.D...

pandas 利用to_excel一次生成多个sheet到一个文件中

在 Pandas 的 to_excel 方法中,可以通过传递参数 sheet_name 来指定生成的 Excel 中的工作表的名称。如果需要生成多个工作表,可以在 sheet_name 中传递一个列表,其中的每个元素即为每个工作表的名称。例如,以下代码生成了一个包含两个工作表的 Excel 文件:i...

Python中 pandas 数据处理常用函数与方法的详细介绍

数据读取和写入pandas.read_csv(filepath_or_buffer, sep=',', header='infer', names=None): 从 csv 文件中读取数据,返回一个 DataFrame 对象。其中 filepath_or_buffer...

Python requests库中几个常用方法的使用示例

GET请求GET请求是requests库中最常用的请求方法,它用于获取指定URL的资源。以下是一个GET请求的示例:import requests url = 'https://www.baidu.com' response = re...

python requests库使用详细教程

Python 中的 requests 库是一个简单易用的 HTTP 请求库,支持多种请求方法、多种参数设置、并且使用广泛。本文将详细介绍如何使用 requests 库发送 HTTP 请求。安装使用 pip 命令进行安装:pip install requests导入在编写 Pyth...

python BeautifulSoup4(bs4)使用教程

Python 中的 BeautifulSoup4(通常简称为 bs4)是一个流行的 HTML 解析器,是从 HTML 或 XML 文件中提取数据(或屏蔽 HTML/XML 标记)的一种库。在本文中,我将介绍如何安装、导入和使用 bs4 库。安装要安装 bs4,可以使用 pip 命令:pip ...