`
jamie.wang
  • 浏览: 347382 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python的几个问题

阅读更多

最近用python写一个导数据的脚本,发现两个python的问题,新手可能容易出错。

 

1. dict默认参数

看代码:

 

>>> def test(d={}):
...     print d
...     d['z'] = 'z'


>>> test({'a':'a'})
{'a': 'a'}
>>> 
>>> test()
{}
>>> test()
{'z': 'z'}

 发现函数体内对默认参数的复制,会影响下一次的调用。

 

解决办法一:不用空的dict,用None

>>> def test(d=None):
...     if not d:
...         d = {}
...     # do something
...     print d
...     d['z'] = 'z'

 解决办法二:用keyword

 

>>> def test(**d):
...     print d
...     d['z'] = 'z'

 2. python2.5不支持返回unicode的dict

 

分享到:
评论

相关推荐

    解决yum对python依赖版本问题

    面对`yum`因Python版本不兼容而引发的问题,上述几种解决方案都是有效的。其中,升级`yum`是最为推荐的方法,因为它不仅能解决当前的问题,还能提升系统的安全性并保持与最新的技术同步。如果条件不允许升级`yum`,...

    python的实例

    这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]几个的实例这是python]...

    python2.7.10几个常用模块

    本压缩包包含的是Python 2.7.10的安装程序以及几个常用的Python模块,这些模块使得安装过程变得更加简便。下面我们将详细探讨Python 2.7.10中的几个关键模块及其功能。 1. **标准库模块**: - **os**: 这个模块...

    Python 几个小程序打包下载

    于初学者有用 几个很简单的Python程序 大神就别看了呼呼

    python 两个一样的字符串用==结果为false问题的解决

    这种情况的发生通常是由于以下几个原因: 1. **字符串中包含不可见字符**:最常见的不可见字符包括换行符`\n`、制表符`\t`、空格` `等。这些字符在`print()`函数输出时不会显示出来,但在字符串内部确实存在。 2. *...

    每天分享几个python项目 —— todoapp

    "每天分享几个python项目"系列旨在通过具体的项目实践来加深对Python语言的理解和应用。本项目名为"todoapp",是一个典型的任务管理应用,是学习和提升Python编程技能的良好实践。 TodoApp通常包含以下核心功能: ...

    零基础Python教程014期 python练习求几天后星期几问题

    零基础Python教程014期_python练习求几天后星期几问题

    python3还是python2翻译

    这个问题在Python社区中一直存在,尤其是在Python 3发布之后。Python 3相较于Python 2在多个方面进行了改进,以解决Python 2存在的问题,同时也引入了一些新的特性和功能。 #### 二、Python 2与Python 3的主要区别 ...

    Python几个入门知识案例

    适合初学python时使用,内包含几个python入门知识的案例仅供参考。 相关的Python基础知识:变量及类型、标识符与关键字、常用格式化输出符号、运算符、算数运算符、赋值运算符、while、if、for等等。

    算法设计-流水作业调度问题python实现

    Python实现的代码可能包括以下几个关键部分: 1. **数据结构定义**:首先,需要定义数据结构来存储作业的信息,例如作业ID、加工时间和依赖关系。 ```python class Job: def __init__(self, id, processing_time,...

    python实现输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。

    # 题目: # 输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。 # 分析:999999 / 13 = 76923。

    几个python面试题

    几个python面试题,供参考

    Python问题解决,重复向列表中添加字典作为元素

    上篇用python实现教师信息管理系统,这里学几个实现这个系统过程中遇到的问题 向一个列表中添加字典作为元素时错误 描述 利用一个字典为过渡重复向一个列表中添加字典作为元素时,列表中每个元素都是最后添加的那个...

    50几个python游戏开发实例源码

    python 50几个python游戏开发实例源码

    Python将多个excel表格合并为一个表格

    除了人工将所有表格的内容一个一个复制到汇总表格里,那么如何用Python自动实现这些工作呢~ 我不知道有没有其他更方便的合并方法,先用Python实现这个功能,自己用就很方便了。 比如,在文件夹下有如下7个表格(想象...

    python新手算法函数思想入门项目,包含几个小项目,没有程序基础可以根据这个开拓思维,会发现算法也挺好玩的,标有注解,一看就懂

    本入门项目包含几个小项目,旨在让新手逐步熟悉Python中的算法和函数。每个项目都带有注解,这有助于理解代码背后的逻辑。注解通常以`#`开始,它不会被Python解释器执行,但能为阅读代码的人提供信息。通过这些注解...

    python练手经典100例-推荐几个适合新手练手的Python项目《python入门例子》.pdf

    ⾄于说没有run()没有参数self,⽽是参数cls,为什么可⽤,那就是装饰器@classmethod在起作⽤了,理解了装饰器,就知道这个问题的 答案了。不然的话,还有@staticmethod可以让⽅法连cls⽅法都不需要⼜怎么说。 ...

    xiaohongshuSpider_python爬虫_python小红书_python

    总的来说,这个项目涵盖了以下几个核心知识点: 1. Python基础:理解Python语法和常用数据结构。 2. Selenium库:学习启动浏览器、执行JavaScript、模拟用户交互。 3. BeautifulSoup库:掌握HTML解析和数据提取。 4...

    python_几种LLE_llepython_LLE算法Python_降维算法

    在这个Python实例中,我们可以看到几个不同的LLE变体的实现,包括经典的LLE、重加权LLE(Ridge Regression LLE)、Hessian LLE以及通用LLE。下面我们将详细介绍这些算法及其Python实现。 1. **经典LLE(Classic LLE...

    基于python实现房价预测回归问题

    我们将讨论以下几个核心知识点: 1. **Boston Housing数据集**:这个数据集由哈佛大学的Lichman提供,包含506个样本,每个样本代表一个房屋的13个特征,如犯罪率、房屋平均房间数、税率等。目标变量是中位房价...

Global site tag (gtag.js) - Google Analytics