码迷,mamicode.com
首页 > 编程语言 > 详细

Python进阶【第四篇】函数

时间:2018-03-31 12:00:14      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:数据类型   cti   图片   数列   字符   全局变量   lock   修改   打印   

一、变量

变量是记录一系列状态变化的量

1.变量分为可变类型与不可变类型——可变 与不可变是根据变量在内存中占据的位置

可变类型:列表list[ ]、字典dicta{ }

不可变类型:字符串str、数字int、元组()

2.按照访问方式可分为顺序访问、映射访问和直接访问

直接访问:数字int

映射访问:字典dict{ }

顺序访问:字符串str、列表list[ ]、元组()

二、集合

特征:由不同的元素组成,元素无序,集合中的元素必须是不可变类型

1.集合定义:set()

s = set(‘hello‘)
print(s)
#输出结果为{‘o‘,‘h‘,‘l‘,‘e‘},无序,无重

 其中()中必须为可迭代类型

2.常用方法

  • 添加元素
add() #向集合中添加元素
  •  清空集合
clear() #清空集合
  •  删除集合中的元素
pop()#随机删除某个元素
remove()#指定某个值删除,当不存在要删除的元素时,编译报错
discard()#指定某个值删除,当不存在要删除的元素时,编译不报错

 3.常用操作

  • 求交集
s1.intersection(s2) #求s1与s2的交集
  •  求并集
s1.union(s2) #求s1与s2的并集
  •  求差集
s1.difference(s2) #s1中有,s2中没有的元素

s2.difference(s1) #反之
  •  判断
s1.difference_update(s2)  #等价于s1 = s1-s2

s1.isdisjoint(s2)  #交集是否为空集

s1.issubset(s2)  #s1是否为s2的子集,反之,issuperset()判断是否为父集

 三、字符串格式化

%s固定类型,用于传值,传多个值是(,,,),中间用逗号分隔

%d——传数字,%s——可用于传一切数据类型

打印浮点数:

%.2f  #打印小数点后2位

 打印百分号:%%

字典的传值:

%(name)d     %(age)s  #传一个字典,key=name,key=age

 四、函数

形式:

def    test()
关键字 函数名 形参
    代码块
    return
    返回值

函数的定义主要有如下要点:

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据。

 关于返回值:

  • 无返回值:返回一个None
  • 有一个返回值:返回object
  • 多个返回值:返回一个tuple

函数的有三中不同的参数:

  • 普通参数
  • 默认参数
  • 动态参数
# ######### 定义函数 ######### 

# name 叫做函数func的形式参数,简称:形参
def func(name):
    print name

# ######### 执行函数 ######### 
#  ‘wupeiqi‘ 叫做函数func的实际参数,简称:实参
func(‘无名‘)

普通参数

 

def func(name, age = 18):
    
    print "%s:%s" %(name,age)

# 指定参数
func(‘无名‘, 19)
# 使用默认参数
func(‘有名‘)

注:默认参数需要放在参数列表最后

默认参数

 参数的传值时位置参数,关键字参数的使用规则:

  • 位置参数必须一一对应,缺一不行,多一也不行
  • 一个参数不能传两个值
  • 若位置参数与关键字参数混合使用,则位置参数必须在关键字参数左边
  • 多组参数(位置参数,*args,**kwargs)对应形式为(位置参数,列表,字典)

五、局部变量与全局变量

局部变量;在子程序中定义的变量

全局变量;在整个文件中任何位置均可调用到

 变量使用的就近原则

关于global关键字:

如果函数中无global关键字,优先读取局部变量,若无局部变量,则只能读取全局变量,也就无法对其赋值或者修改。

当有global关键字时,global把全局变量拿到函数中,变成了该函数的变量,但对其他函数来讲,仍然是全局变量,但全局变量的值可以在上一个函数中被修改。

为了以后避免变量重名问题,全局变量一律大写,局部变量小写。

函数执行顺序

技术分享图片

六、递归

函数自己调用自己,但必须有个明确的结束条件

 

Python进阶【第四篇】函数

标签:数据类型   cti   图片   数列   字符   全局变量   lock   修改   打印   

原文地址:https://www.cnblogs.com/bep-feijin/p/8681232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!