tuple所谓的“不变”是说,tuple的每个元素,指向永远不变

“可变的”tuple 
t = (1,[2,3])

t[1][1]='4'

print(t);

# (1, [2, '4'])

要定义一个只有1个元素的tuple

因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

t = (1);

print(t) # 1 被当作括号

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义

t = (1,) # (1,)

% 格式化字符串 
%s表示用字符串替换,%d表示用整数替换,%f表示浮点数,

%+显示正负号,%-左对齐,%0 补零,%[-+0宽度.精度]

print('%0+7.2f' %(1.123456)) 7位,小数点后取2位,不够补0,前面使用了正负号

# +001.12

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

print(set([1,2,2,2,2,3,4,5]))

# {1, 2, 3, 4, 5}

定义函数时,需要确定函数名和参数个数;

如果有必要,可以先对参数的数据类型做检查;

函数体内部可以用return随时返回函数结果;

函数执行完毕也没有return语句时,自动return None。

函数可以同时返回多个值,但其实就是一个tuple。

def hello(x = 1,y = 2, *o) : # *x 可变参数

'函数说明'

pass

return x, y

print(hello(3,4));

# (3, 4)

def world (l = []) : # 默认参数指向对象的问题

l.append('hello');

return l;

print(world())

print(world())

# ['hello']

# [‘hello', 'hello']

def world (l = None) :

if l is None :

l = []

l.append('hello')

return l

print(world())

print(world())

# ['hello']

# ['hello']

关键字参数
函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查

def hello(x = 1,y = 2, **o) : # **o 关键字参数

'函数说明'

if 'name' in o :

print (o['name'])

return

hello(3,4, name = 'leyi')

# leyi

命名关键字参数
如果要限制关键字参数的名字,就可以用命名关键字参数,

和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数 , 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了,如果没有可变参数,就必须加一个*作为特殊分隔符

def hello(x = 1,y = 2, *, name) : # *之后的name 为命名关键字参数

'函数说明'

print(name)

return

hello(3,4, name = 'leyi')

# leyi

匿名函数

l = lambda x, y : x *y

print(l(2,3))

# 6

装饰器

在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),

本质上,decorator就是一个返回函数的高阶函数

def middleFunction (fn) :

def wrapper(*args) :

print("插入的功能", fn.__name__)

return fn(*args)

return wrapper

@ middleFunction

def hello () :

print('hello world')

hello()

模块的标准文件模板

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

‘module description’

__author__ = ‘leyi’

# code

def hello () :

pass

# 命令行运行该模块时执行

if __name__=='__main__':

hello()

__xxx__这样的变量是特殊变量

类似_xxx和__xxx这样的函数或变量是非公开的(private)(规范)

茄子python_python笔记一相关推荐

  1. redis mysql python_python笔记:mysql、redis操作方法

    模块安装: 数据操作用到的模块pymysql,需要通过pip install pymysql进行安装. redis操作用的模块是redis,需要通过pip install redis进行安装. 检验是 ...

  2. if else if语句的用法python_Python笔记3---if语句、if-elif-else 结构、使用if语句处理列表...

    五.if语句 5.1 一个简单示例 使用if 语句来正确地处理特殊情形. cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if ...

  3. 10分钟带你了解python_10分钟Python入门系列教程及学习资源分享

    本期分享笔记内容 归档此前入门教程文章,方便查看 10分钟带你Python入门的特点 简单谈下如何寻找Python学习资源 关于分享Python学习资源的分享问题 本人对于Python学习创建了一个小 ...

  4. assertionerror python_Python成为专业人士笔记–内置模块Modules和函数Functions

    "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 模块是一个包含Python定义和语句的文件, ...

  5. printdocument python_python学习笔记之wxpython打印预览

    主要学习wxPython in action 和Demo程序,做点学习笔记 wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它 ...

  6. 虫师 python_python学习虫师笔记 (一)

    虫师博客:http://www.cnblogs.com/fnng/p/3576154.html 我的笔记 初期:一开始学习python是通过看书 第一本python的书叫<python核心编程& ...

  7. while用法python_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  8. pe估值 python_Python编程学习笔记(8)

    书接上回,上节我们定义了一个获取某个指数某日的PE数值的函数.下面要做的就是得到这个函数的时间序列,然后计算出这个时间序列中每天的PE数值,最后就可以用图形进行展示了. 这个方法和前文中的方法一样,我 ...

  9. list所有元素相加 python_Python基础入门笔记:列表、元组(阿里云天池)

    9 9 今日主要内容:列表.元组 列表 简单的数据类型: 整型 浮点型 布尔型 容器数据类型: 列表 元组 字典 集合 字符串 1. 列表的定义 列表是有序集合,没有固定的大小,能够保存任意数量任意类 ...

最新文章

  1. Office for AI | 拯救互联网人崩溃瞬间
  2. 聚类分析matlab检验,「matlab聚类分析」聚类分析的Matlab 程序—系统聚类(附有案例分析) - 金橙教程网...
  3. python怎么安装requests库-python怎么安装requests库
  4. Git Submodule
  5. 单脉冲雷达的相干干扰的研究文章_什么是量子纠缠和量子退相干?这个比喻太绝了!...
  6. android 个人理财系统,基于Android的个人理财系统的设计与实现
  7. jenkins-cli命令使用总结
  8. Apache Ivy
  9. typescript_清洁架构的TypeScript刺
  10. 机器人动力学知识参考资料
  11. MFC1、动态创建CButton
  12. 主题与颜色--Dcat-Admin框架实战(十)
  13. Python基础篇:Python的数据结构
  14. 程序员电脑屏保画面,显示时间
  15. 计算机数字公式表白,love密码数字表白 数字表白公式
  16. 转载至:http://blog.csdn.net/antony9118/article/details/51425581
  17. Kafka 的消息异常情况~追日
  18. 利用SpringBoot返回一个json对象
  19. python解数学方程_用Python如何解数学方程
  20. C语言程序设计--配套书(第三版)

热门文章

  1. 重装Ubuntu18.04步骤
  2. 物理数据库服务器扫描hba卡识别共享磁盘命令
  3. Backtrader官方中文文档:集成TA-Lib指标库参考
  4. 以太网的帧间隙、前导码、帧开始定界符
  5. 调整notepad++的行距的方法
  6. How to test Heat (by quqi99)
  7. Glance安装以及验证
  8. Idea连接数据库,显示表注释
  9. C#Binary类二进制文件读写转换
  10. MSAA 的基本原理