python的集合与函数

简介:

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义一个函数:

定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以def关键词开头,后接函数标识符名称和圆括号()

  • 任何传入参数和自变量必须放在圆括号里。圆括号之间可以用于定义参数。

  • 函数内容以冒号起始,并且缩进。

  • return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

eg:  def  dealnum (x,y):

               if x>= y:

                  s = x*y

           return s

函数的调用:

        函数名()

        函数定义时候不执行,函数必须在调用的时候传递参数才能够执行。

函数的参数问题

    1)必选参数:  形式参数:

                            eg:

                                 def add(x,y):     ------函数定义

                                        return x+y 

                                 add(1,2)     -----------函数调用

                          默认参数:

                                  def   sum(x,y=2)       ----------函数定义

                                            return x**y

                                         sum (3)     --------直接传递x的值,y值默认

                            可变参数:函数定义的参数个数是可以发生变化的,可变参数可以理解为在刚刚开始的时候装入 了一个空的tuple

                                            形式参数:def  add(*args):                   --------------定义函数

                                                                        sum = 0

                                                                        for i in args:

                                                                                sum += i

                                                                        print sum 

                                                                add(1,2,3,4,5,6,7)             --------------args变量名指向了一个元组

                           关键字参数:关键字参数和可变参数类似,都可以接收参在数数量不确定的时候使用,但是关键字参数可以传入含参数名的参数,就相当于是传入了一个dict,这是关键字参数和可变参数的最大不同之处。

                                                    def  dealperson(name,age,**other):

                                                              print name,age,other

                                                    dealperson("james",33,"paly"=basketball,"size"=114)

1.png

           函数return问题:

                    在定义一个函数之后必须用关键字return来返回一个数值

                    请比较一下两个式子:

                        2.png  3.png


这两个函数一个在函数体中定义了return x+y, 一个则是直接print x+y,输出结果表示,函数如果在没有return时,会自动返回一个None;

                             返回多个值: 4.png


函数的作用域:

                    global    定义一个全局变量,在函数体内部只能定义一个局部变量。

                            6.png

函数的高级特性:迭代:

                                eg   请找出0到20之内所有偶数的平方:

                                    9.png



集合:集合和列表和元组最大的区别就是在于集合有去重的作用,所以说集合不是一个重复的数据结构,还有可以判断两个集合之间是否有交集,并集,差集,是否子集等作用。

集合的定义:1)s = {1,2,3,4}   --------此时的是一个集合,但是s={}时候s为一个字典类型。

                    2)s = set ()        --------直接通过工厂方法来赋值。

所有的数据类型通过转化为集合类型就可以具有无重性:

                                                    eg:li=[1,2,3,4,4,3,2]

                                                         s = set(li)    -------此时的s就是一个集合,具有无重性。

                                                    eg: li={1,2,3,4,3,2}

                                                         d = {}.fromkeys(li);        ----------字典的去重。

集合和字典类似,是无顺的,并且不能切片、索引、重复、也不支持连接等动作,但是支持迭代(for)、成员查找等动作。

                            集合的增、删、改:

                                        增加:s={1,3,4,5}   

                                                  s.add(9)      -------------通过add()函数直接给集合添加元素,

                                                  s1 = {"hello,world"}

                                                  s.update(s1)        ---------------通过update()函数把两个集合连接起来。

                                         删除:s.pop()             ---------------可以理解为出栈

                                                    s.remove(1)       ---------------删除指定元素‘1’

                                                   s.discard()         ----------------删除集合s本身,如果s集合不存在将do   nothing

                                                    s.clear()            -----------------清空集合s中的所有元素

                                        10.png

集合最大的作用就是去重性:

                      12.png

                        20.png

先定义集合,确保产生的数字没有重复性,然后转化为列表,通过li.sort()函数按照从下到打的顺序排列好。


            

                                          


                











本文转自技术小白JDY51CTO博客,原文链接:http://blog.51cto.com/13355576/2059178,如需转载请自行联系原作者


相关文章
|
1天前
|
Python
【Python操作基础】——集合
【Python操作基础】——集合
|
1天前
|
Python
PyQt---------信号与槽函数的关系
PyQt---------信号与槽函数的关系
11 1
|
1天前
|
Python
Python闭包函数和计时器
本文介绍了闭包函数的概念,它允许内部函数引用外部作用域的变量但无法修改它们。示例展示了如何使用闭包来封装函数。接着,文章讨论了如何在函数调用时添加开始和结束的打印语句,通过传递函数作为参数实现。然后,文章引入装饰器,通过闭包定义了一个`timer`装饰器,用于在函数执行前后打印消息。最后,给出了一个练习,实现了一个计算函数执行时间的装饰器,处理了带有参数的被装饰函数。
12 1
|
1天前
|
测试技术 开发者 Python
Python检查函数和方法的输入/输出
【5月更文挑战第5天】Python检查函数和方法的输入/输出
13 1
|
1天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
23 2
|
1天前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
1天前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
104 2
|
1天前
|
Java C# 开发者
Python 中的类型注解是一种用于描述变量、函数参数和返回值预期类型的机制
【5月更文挑战第8天】Python的类型注解提升代码可读性和可维护性,虽非强制,但利于静态类型检查(如Mypy)。包括:变量注解、函数参数和返回值注解,使用内置或`typing`模块的复杂类型,自定义类型注解,以及泛型模拟。类型注解可在变量声明、函数定义和注释中使用,帮助避免类型错误,提高开发效率。
23 6
|
1天前
|
存储 Python
【Python 基础】解释reduce函数的工作原理
【5月更文挑战第6天】【Python 基础】解释reduce函数的工作原理
|
1天前
|
Python
【Python 基础】解释map函数的工作原理
【5月更文挑战第6天】【Python 基础】解释map函数的工作原理