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

 # 函数
     # python中定义函数的规则如下:以def开头,接函数名称和(),传入的参数和变量放在圆括号中间,函数以:起始,并且缩进,return选择性的返回一个值给调用方,不带返回值的return相当于返回NONE
 print "********************1***********************"
 def printsmt(str):
     print str
     return

 printsmt(")

     # 前面说过可变对象和不可变对象,所以在参数传递时,对于不可变类型,传递的值,而对于参数本身没有影响,所以函数内部的更改不会对其产生影响;但是对于可变类型,则是将参数真正的传递过去,更改后外部的值也会收到影响

     # 传递不可变对象
 print "********************2***********************"
 def changeStr(a):
     a="
     print "Method:",a

 b="
 changeStr(b)  # 输出Method:543s21
 print b # 输出12345

     # 传递可变对象
 print "********************3***********************"
 def changeList(list):
     list.append(["mango"]);
     print "Method:",list
 fruits=['apple','orange','bananas']
 changeList(fruits)
 print fruits

     # 参数:必备参数、关键字参数、默认参数、不定长参数

         # 必备参数:必须以正确的顺序传入,调用数量和声明一致
 print "********************4***********************"
 try:
     changeStr() #这里会直接返回错误 takes exactly 1 argument.
 except Exception as err:
     print(err);

         # 关键字参数:和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,如:
 print "********************5***********************"
 def  printKey(name,age):
     print name,age

 printKey("zhangsan",18)   # 按传入输出
 printKey(age=19,name='lisi') # 即便输入的顺序不对,但通过调用键字输入,解释器一样可以匹配。

         # 缺省参数 缺省参数的值如果没有传就会被认为默认值。
 print "********************6***********************"
 def printDefault(name,age=35):
     print name,age

 printDefault(age=50,name="lisi") #输出 lisi 50
 printDefault("zhangsan") # 输出 zhangsan 35

         # 不定长参数 有时候传入参数的长度不确定,这时候就会定义不定长参数,如:
 print "********************7***********************"
 def printarg(arg1,*args):
     print arg1
     for arg in args:
         print arg

 printarg(1)
 printarg(1,2,3,4,5)

         # 匿名函数 使用lambda来创建匿名函数,lambda只是一个表达式,函数体比def简单的多
 print "********************8***********************"
 sum=lambda arg1,arg2:arg1+arg2
 print sum(10,20)

         # 全局变量和局部变量,变量存在作用域,定义在函数内部的变量有一个局部作用域,只能在函数内部生效,定义在函数外部的拥有全局作用域。

Python笔记(五)的更多相关文章

  1. guxh的python笔记五:面向对象

    1,面向对象编程思想 类:一类具有相同属性的抽象 属性(静态属性):实例变量.类变量.私有属性 方法(动态属性):构造函数.析构函数(默认就有).函数.私有函数 对象/实例:类经过实例化后,就是对象/ ...

  2. python笔记五:IO与文件

    1.python IO:  Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘:  1)raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串  2 ...

  3. python笔记五(条件判断/循环/break和continue)

    一 条件判断 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...

  4. Python笔记(五)_内置函数BIF

    查看所有的内置函数:dir(__builtins__) abs()   获取绝对值 max()   返回给定元素中的最大值 min()   返回给定元素中的最小值 sum()   求和 reverse ...

  5. Python笔记(五):异常处理和数据存储

    注:和上一篇有关联 (一)  finally 和 输出异常信息 try:       the_man = open(r'C:\Users\123456\Desktop\test.txt')       ...

  6. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  7. Crazyflie笔记五: CRTP 实时通信协议(一)(转)

    源:Crazyflie笔记五: CRTP 实时通信协议(一) 这里详细介绍了 Crazyflie 的 CRTP实时通信协议的相关内容,由于内容很长,分几篇博文来讲述.这里是第一节内容.欢迎交流:301 ...

  8. s21day10 python笔记

    s21day10 python笔记 一.函数补充 1.1 参数 基本参数知识 def get_list_date(aaa): #aaa:形式参数(形参) 任意个数 v = [11,22,33,44] ...

  9. s21day02 python笔记

    s21day02 python笔记 一.昨日内容回顾及补充 内容回顾 补充 if条件语句嵌套 10086示例 pycharm更改解释器 python3.7解释器 python2.7解释器 二.循环语句 ...

  10. s21day01 python笔记

    s21day01 python笔记 一.计算机基础 计算机的初步认识 用户:人 软件:QQ.浏览器等 解释器/编译器/虚拟机:java解释器.python解释器等 操作系统 硬件:CPU.内存.硬盘. ...

随机推荐

  1. vue中子组件需调用父组件通过异步获取的数据

    原因:子组件需要调用父组件传过来的数据,如果这个数据是异步从接口里取的,那这个组件在任何生命周期里都取不到,而应该在接口调取后取到. 需要在msg拿到值后才调用组件,然后你在生命周期created里面 ...

  2. TypeScript简单的代码片段

    TypeScript中,接口.接口实现.函数重载: interface IThing{ name:string; age:number; sayHello:{ (name:string):string ...

  3. axis2 1.7.1使用教程

    写在前面 本文只说Axis2的用法. 1.下载与部署 需要下载两个文件: 下载地址:http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.7.1/ ...

  4. Python学习笔记基础篇-(1)Python周边

    一.系统命令 1.Ctrl+D 退出Python IDLE input方法中输入EOF字符,键入Ctrl+D 2.命令行选项: -d   提供调试输出 -O 生成优化的字节码(.pyo文件) -S 不 ...

  5. IAAS: IT公司去IOE-Alibaba系统构架解读

    从Hadoop到自主研发,技术解读阿里去IOE后的系统架构 原地址:...................... 云计算阿里飞天 摘要:从IOE时代,到Hadoop与飞天并行,再到飞天单集群5000节 ...

  6. Multitier architecture-n-tier architecture

    In software engineering, multitier architecture (often referred to as n-tier architecture) or multil ...

  7. PhotoZoom Pro 7 支持哪些图像格式?

    PhotoZoom是一款新颖的.技术上具有革命性的对数码图片无损放大的工具.为设计工作者提供了优良的解决方案,可快速渲染出完美的放大照片,呈现无与伦比的画质效果.将因其应用的广泛性,所以对图像文件的支 ...

  8. MongoDB_pymongo

    python使用pymongo访问MongoDB的基本操作 安装pymongo: pip install pymongo from pymongo import MongoClient import ...

  9. day34-1 面向对象概述

    目录 面向对象编程 面向过程&面向对象 Python中一切皆对象 什么是对象? 面向对象编程 面向过程&面向对象 都是一种解决问题的思想 面向过程:在解决问题的时候,关注的是解决问题的 ...

  10. Go 语言一本通

    什么是GO语言? Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发 ...