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

Python踩坑总结

Codefans4年前 (2021-10-21)Python1703

最近一段时间,看了一些算法的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 pandas库159个常用方法使用说明

Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素。一、Pandas数据结构1、import pandas as pdimport numpy as npimport matplotlib.pyplot as plt2、S1=pd.Series([‘a’,’b...

Python调用JS的四种方法

Python调用JS的四种方法1、PyExecJS 方法1)、安装PyExecJS2)、 `PyExecJS 示例`2、PyV8 方法1)、安装PyV82)、 `PyV8 示例`3、js2py 方法1)、安装js2py2)、 `js2py 示例`4、selenium 方法1)、安装selenium2...