retun空值,后面的语句将不再被执行

>>> def test():

...    print("just a test!")

...    return

...    print("will not be print")

...

>>> test()

just a test!

和Java类似,在传递参数时,当参数是字符串,元组时,传递的其实是拷贝,修改实际参数不会影响到形式参数。当参数是对象时,修改实际参数将会影响到形式参数。

>>> def changeName(name):

...    name = "Changed Name"

...    return name

...

>>> name = "Jhon Brown"

>>> changeName(name)

'Changed Name'

>>> name

'Jhon Brown'

实参为对象时的情况:

>>> def changeList(list):

...    list[0] = "Change Element"

...    return list

...

>>> list = ["one","two"]

>>> changeList(list)

['Change Element', 'two']

>>> list

['Change Element', 'two']

可以为实参取别名,这样当参数为多个的时候不会因位置错误而导致错误的结果

>>> def hello1(arg1,arg2):

...   print("%s %s" % (arg1,arg2))

...

>>> hello1(arg1 = "hello",arg2 = "world")

hello world

使用*收集剩余的参数:

>>> def printParams(title,*params):

...   print(title)

...   print(params)

...

>>> printParams("Params",2,3,4)

Params

(2, 3, 4)

定义和调用函数时都是用**,适用于元组或者字典。

>>> def with_stars(**database):

...    print(database["name"]+ "\'s age is" + database["age"])

...

>>> database = {"name":"Grubby","age":"29"}

>>> with_stars(**database)

Grubby's age is29

>>> def without_stars(database):

...    print(database["name"]+ "\'s age is" + database["age"])

...

>>> data = {"name":"Grubby","age":"29"}

>>> without_stars(data)

Grubby's age is29

>>> def story(kwd):

...     print("Once there is a %(player)s called %(name)s," % kwd)

...

>>> kwd = {"player":"king","name":"Chrile"}

>>> story(kwd)

Once there is a king called Chrile,

vars函数会返回一个字典,包含变量与赋值的关系

>>> x,y,z =1,2,3

>>> scope =vars()

>>> scope["x"]

1

递归调用的例子

def search(sequence,number,low=0,upper = None):

if upper is None :

upper = len(sequence) -1

if low == upper:

if sequence[low] == number:

return low

else:

return -1

else:

index = (int)((low + upper)/2)

if sequence[index] > number:

return search(sequence,number,low,index-1)  #这里的return是必须的,否则将没有返回值

elif sequence[index]

return search(sequence,number,index+1,upper)

else:

return index

sequence = [1,3,9,11,56]

search(sequence,3)

创建自己的类

>>> class Person:

...    def setName(self,name):

...        self.name = name

...    def getName(self):

...        return self.name

...    def greet(self):

...        print("name is %s" % self.name)

...

>>> foo = Person()

>>> bar = Person()

>>> foo.setName("Luke")

>>> foo.getName()

'Luke'

>>> foo.greet()

name is Luke

>>> bar.setName("Sky")

>>> bar.getName()

Sky'

>>> bar.greet()

name is Sky

>>> bar.name

'Sky'

>>> bar.name = "Jason"     #属性使用类加上.直接使用

>>> bar.greet()

name is Jason

>>> class Bird:

...    __song = "spark"

...    def sing(self):

...       print(self.song)

...

>>> bird = Bird()

>>> bird.sing()

Traceback (most recent call last):

File "", line 1, in

File "", line 4, in sing

AttributeError: 'Bird' object has no attribute 'song'

>>> class Bird:

...    song = "spark"

...    def sing(self):

...       print(self.song)

...

>>> bird = Bird()

>>> bird.sing()

spark

Python基础篇(六)的更多相关文章

  1. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  2. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  3. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  4. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  5. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  6. python基础篇之进阶

    python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython  使用c解释器生产 ...

  7. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  8. python基础篇(五)

    PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...

  9. python基础篇(二)

    PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...

随机推荐

  1. hdu_1573 X问题(不互素的中国剩余定理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1573 X问题 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  2. Kubernetes存储之Persistent Volumes简介

    简介 管理存储和管理计算有着明显的不同.PersistentVolume子系统给用户和管理员提供了一套API,从而抽象出存储是如何提供和消耗的细节.在这里,我们介绍两种新的API资源:Persiste ...

  3. [国嵌攻略][119][Linux中断处理程序设计]

    裸机中断: 1.中断统一入口. 2.注册中断处理程序. 3.根据中断源编号,调用中断处理程序. Linux中断 1.在entry-armv.S中的_irq_svc是中断统一入口. 2.获取产生中断源的 ...

  4. [国嵌笔记][028][Bootloader设计蓝图]

    Bootloader的作用就是启动Linux内核 U-Boot简介 1.U-Boot是用于多种嵌入式CPU(ARM.x86.MIPS等)的bootloader程序,U-Boot不仅支持嵌入式Linux ...

  5. POJ 1422 Air Raid

    题目链接: http://poj.org/problem?id=1422 Description Consider a town where all the streets are one-way a ...

  6. API接口安全性设计

    http://www.jianshu.com/p/c6518a8f4040 接口的安全性主要围绕Token.Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来 ...

  7. vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的

    (一)初级个性化配置你的vim 1.vim是什么? vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员.运维)习惯的编辑器.如果你是一名职业的SE,那么一定 ...

  8. php的底层原理

    PHP说简单,但是要精通也不是一件简单的事.我们除了会使用之外,还得知道它底层的工作原理. PHP是一种适用于web开发的动态语言.具体点说,就是一个用C语言实现包含大量组件的软件框架.更狭义点看,可 ...

  9. SSL协议之数据加密过程详解

    前言 总括: 原文博客地址:SSL协议之数据加密过程详解 知乎专栏&&简书专题:前端进击者(知乎)&&前端进击者(简书) 博主博客地址:Damonare的个人博客 生活 ...

  10. Block 的使用时机

    Block 一般是用来表示.简化一小段的程式码,它特别适合用来建立一些同步执行的程式片段.封装一些小型的工作或是用来做为某一个工作完成时的回传呼叫(callback) . 在新的iOS API中blo ...