备注:本篇文章主要讲一讲函数及集合的一些常用用法:

一、首先先看下,集合(set):

集合的特点:无序、不重复(这点跟字典有点像)

<1>,在需要访问集合的时候,由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素,比如下面的操作

 set_test = {'a','b','c'}
print('a' in set_test) ==》返回结果true
for i in set_test:
print(i)

<2>,集合中比较特殊的一个删除元素的方法是discard方法,它的不同之处在于如果集合中没有所要删除的元素,就返回None,其它添加以及移除的方法跟列表和字典差不多,这里就不做过多的介绍了。

<3>,其它数据结构中没有的是,而且在集合中用的比较多的方法有,difference、update等。下面这两个方法做简单的介绍及对比:

difference:不多说,看实例

 set1 = {"a","b","c"}
set2 = {'b','c','d'}
print(set1.difference(set2))
#就会输出{'a'}
            #也就是说,会把set1中有的,set2中没有的打印出来

update:再看实例(看实例,你能很快的理解和记住用法)

 a = set('boy')
print(a)
str1 = 'ma'
a.update(str1)
print(a)
#下面市输出的结果
{'y', 'o', 'b'}
{'y', 'a', 'm', 'o', 'b'}
#相信你一眼就看出来了,update是把str1字符串更新到a集合中,并去重!

二、函数

函数还是相当重要的,不管是从写简单的脚本开始,还是到面向对象,都离不开函数的使用,所以对它的掌握,要更深一点,下面列出我对函数的理解和做过的实例:

<1>,定义函数是使用

def 函数名(传递的参数):

statement

return [value]                //函数的定义是使用这个格式来定义的,return不是必须的,如果没有写return的话,默认返回的是None;如果写了return,那么return下面的任何语句都不会再执行了。

<2>,变量:

在函数内部定义的变量属于局部变量,函数内调用变量的时候,会先优先选择局部变量,然后再是全局变量。(如果想在函数内使用全局变量的值,必须使用global),看下面的例子:

 #没使用global的情况
name = 'ma'
def uname():
name = 'da'
print(name)
uname() 输出==》da
 #使用global的情况
name = 'ma'
def uname():
global name
print(name)
uname()
#输出==》m

还有一种调用方式,是把局部变量的值,用到全局变量中来:

 name = 'ma'
def uname():
global name
name = 'da'
uname()
print(name) #输出===》da

<3>,参数的传递:(注意:函数传递参数的时候,传递的是参数的引用,而不是参数的值)

def  funcA(a,b):

print a

print b

funcA(1,2)

// 这是一个简单的参数调用,传递给a,b值1,2;而且这种传递必须是等量的,就是定义函数的时候,有几个参数接收,传递值的时候,就必须给几个值,多一个或者少一个都会报错。

def funcB(a,b=2):

print a

print b

// 像这种情况,调用函数的时候,只需要给a一个值,就可以了。这其中的b就叫作指定参数。

下面这一段代码,是传递的动态参数,动态参数有个特点,就是带有*,看下面的实例来进一步了解:

 def funcA(*args):
print(args)
funcA(1,2) def ff(**kargs):
print(kargs)
ff(k1='v1',k2='v2')
#输出为:
(1, 2)
{'k2': 'v2', 'k1': 'v1'}

说明:可以看出带一个*或者带两个**的,传递的都是动态参数,只不过,带一个*的传递的是单个元素,或者是字符串;而带有两个**的,传递的是一对键值对,输出的是字典。两者相结合也被成为‘万能参数’。

python之函数的使用的更多相关文章

  1. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  2. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  3. python split()函数

    Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...

  4. Python数学函数

    1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...

  5. Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  6. Python之函数与变量

    本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...

  7. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  8. 【C++实现python字符串函数库】strip、lstrip、rstrip方法

    [C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...

  9. 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  10. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

随机推荐

  1. 前端开发者使用JS框架的三个等级

    目前前端开发者使用JS框架是种很普遍的现象,因为框架可以加快开发速度,同时避免各类浏览器的兼容性问题.不过同样是用框架开发,不同开发者的境界水平还是有一定差距,本文将这些前端开发者分为三个等级. 第一 ...

  2. debian安装缺少网卡驱动rtl_nic/rtl8168e-2.fw和bcm43xx-0.fw

    最近拿了公司一台旧笔记本来装debian玩,刻好盘之后安装,发现网卡驱动都无法装上. 这是因为这些网卡驱动不是开源的,顽固的debian便将他们从驱动列表中移除了... 我从debian官方找到了这两 ...

  3. 对于C++中const & T operator= 的一点思考

    一个正常的assignment操作符的声明是这样的. const elmentType & elmentType::operator=(const elmentType &rhs) 这 ...

  4. WPF实现毛玻璃效果

    1和2需要Microsoft.WindowsAPICodePack.Shell.dll 和引用using System.Windows.Interop,并只能在有DwmApi.dll 版本的Windo ...

  5. Java 学习 第四篇;面向对象(1)

    1:关于继承为了保证父类的良好封装性,不会被子类随意改变,设计父类时通常隐藏父类的内部数据,把父类属性改为private如果父类中可以被重写,但不希望被其他类自由访问可用protected修饰;2:什 ...

  6. 类:初识类的事件(有点不明白,怎么普通Precedure可以赋值给TEvent)

    先勾画一下思路:1.建立一个类, 里面有年龄字段 FAge;2.通过 Age 属性读写 FAge;3.如果输入的年龄刚好是 100 岁, 将会激发一个事件, 这个事件我们给它命名为: OnHundre ...

  7. Reverse Linked List 解答

    Question Reverse a singly linked list. Solution 1 -- Iterative Remember to set head.next = null or i ...

  8. hadoop1.2.1+hbase0.90.4+nutch2.2.1+elasticsearch0.90.5配置(伪分布式)

    系统:ubuntu14.04 一.hadoop安装 ssh免密码登陆详情见上一篇博客. 解压hadoop1.2.1到某个目录下,这里解压到ubuntu下载目录下(注意没必要使用管理员权限) 在hado ...

  9. npm 常用命令详解[转]

    npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载.安装.上传以及管理已经安装的包. npm ...

  10. ios常用的几个动画代码

      #import "MianViewController.h" #import <QuartzCore/QuartzCore.h> @interface MianVi ...