函数

-函数使用

  -函数需要先定义,定义不会执行函数

  -使用函数,俗称调用

-定义函数

  -格式:def 函数名称(参数=默认值):,函数名称不能用大驼峰,参数可以没有

-调用函数

  -格式:函数名(参数)

-函数参数和返回值

  -参数:给函数传递一些必要的数据或信息

    -形参(形式参数):定义函数时的参数

    -实参(实际参数):调用函数时的参数

    -实参传递值给形参,本质是普通的变量赋值。有默认值的函数,调用时优先使用实参传递的值,没有传递值的情况下使用默认值

  -返回值:函数的执行结果

    -使用return关键字

      -如果没有return,默认返回None。函数最好以return结束,可以return None

      -函数如果执行return语句,则无条件返回,结束函数执行

      -return的值返回给了函数,整个函数等于这个返回值

 def hello(something="World"):
print("Hello {0}".format(something)) return "此处为返回值" print("我在return后面,不应该执行") tst = hello("TY")
srt = hello()
print(srt)

 -查找函数帮助文档

-help(),eg:help(print)

-__doc__,eg:print.__doc__

-自定义函数文档

  def fun_name():

    '函数文档信息,用\n换行'

    ...

    ...

  或者

  def fun_name():

    '''

    文档信息

    文档信息

    '''

    ...

    ...

-参数参考资料

https://www.cnblogs.com/bingabcd/p/6671368.html

-参数分类

  -普通参数

  -默认参数

    -有默认值的参数可以不传参

  -关键字参数

    -调用的时候区别于默认参数

    -语法:

      def func(p1=v1, p2=v2,...):

        func_body

    -调用函数:

      func(p1=v1, p2=v2,...)

    -好处:使用关键字参数,可以不考虑参数位置,按照关键字传值        

  -收集参数

    -语法

      def func(*args):

        func_body

    -调用

      func(p1, p2, p3, ...)

    -访问args时用列表格式(for)访问

 def stu(*args):
print("Hello")
print(type(args))
for item in args:
print(item)
stu("JYh", 18, "吉林")
stu("JYh")
stu() #可以不带任何参数

    -收集参数之关键字收集参数

      -语法

        def func( **kwargs):

          func_body

      -调用

        func(p1=v1, p2=v2, p3=v3, ...)

      -访问kwargs需要按照字典格式访问

 def stu( **kwargs):
print("Hello")
print(type(kwargs))
#字典的访问
for k,v in kwargs.items():
print(k, "-----", v)
stu(name="JYh", age=18, addr="吉林")
print("*" * 20)
stu(name="JYh")

    -收集参数混合调用的顺序问题

      -定义的时候一般找普通参数,收集参数tuple,关键字参数,收集参数dict

 def stu( name, age, *args, hobby="None", **kwargs):
print("Hello")
print("我叫{0}, 我{1}了。".format(name,age))
if hobby=="None":
print("我没有hobby")
else:
print("我的爱好是{0}".format(hobby))
print("*" * 20) for item in args:
print(item) for k,v in kwargs.items():
print(k, "-----", v) stu( "JYh", 25,"刘亦菲", hobby="素描", addr="吉林")

    -收集参数的解包问题

      -语法。调用时需要使用解包符号:*

      -list用*,dict用**

 def stu(*args):
print("Hello")
for i in args:
print(type(i))
print(i)
l = ["JYh", 25, "吉林", "刘亦菲"]
stu(*l)

Python学习过程笔记整理(三)的更多相关文章

  1. Python学习笔记整理(三)Python中的动态类型简介

    Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之 ...

  2. Python学习过程笔记整理(四)

    变量作用域 -分类 -全局(global):在函数外部定义:整个全局范围都有效 -局部(local):在函数内部定义:仅在局部范围有效 -提升局部变量为全局变量 -使用global -globals, ...

  3. Python学习过程笔记整理(一)

    编码方式 -Utf8编码方式:# -*- coding: utf-8 -*- 注释 -行注释 # -块注释 '''...'''或"""...""&qu ...

  4. Python学习过程笔记整理(二)

    程序三大结构 -顺序 -分支 -循环 分支 -语法: if 条件表达式: 语句 ... -双向分支 if 条件表达式: 语句 ... else: 语句 ... -多路分支 if 条件表达式: 语句 . ...

  5. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  6. python学习笔记整理——集合 set

    python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...

  7. python 学习笔记整理

    首先自我批评一下,说好的一天写一篇博客,结果不到两天,就没有坚持了,发现自己做什么事情都没有毅力啊!不能持之以恒.但是,这次一定要从写博客开始来改掉自己的一个坏习惯. 可是写博客又该写点什么呢? 反正 ...

  8. Python学习笔记整理总结【语言基础篇】

    一.变量赋值及命名规则① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="sol ...

  9. Python基础笔记系列三:list列表

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...

随机推荐

  1. Hadoop HBase概念学习系列之HBase里的存储数据流程(二十三)

    这个,很简单,但凡是略懂大数据的,就很清楚,不多说,直接上图.

  2. mac osx 升级到10.10 软件无法打开的问题

    osx升级到10.9.5 和10.10后,很多软件出现无法打开的问题, This patch seems to be corrupted.Please make sure you get your p ...

  3. python3: 字符串和文本

    1. 分割字符串-使用多个界定符[re.split()] >>> line = 'asdf fjdk; afed, fjek,asdf, foo' >>> impo ...

  4. Session攻击

    1.简介 Session对于Web应用无疑是最重要的,也是最复杂的.对于web应用程序来说,加强安全性的第一条原则就是 – 不要信任来自客户端的数据,一定要进行数据验证以及过滤,才能在程序中使用,进而 ...

  5. HDU1407 测试你是否和LTC水平一样高

    题目大意:给出一个num,计算方程x^2+y^2+z^2 = num的第一个正整数解(字典序),0 < num <= 10000. 方法参考了网上的博客,自己打了一波,发现还有很多不懂的地 ...

  6. ubuntu 12.04配置mac的Lion主题的风格

    1.下载mac壁纸 http://drive.noobslab.com/data/wallpapers/Mac-os-x-Wallpapers%28NoobsLab.com%29.zip 根据自己喜好 ...

  7. Day15 集合(二)

    Set简介 定义 public interface Set<E> extends Collection<E> {} Set是一个继承于Collection的接口,即Set也是集 ...

  8. 集合之HashMap

    HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...

  9. js判断设备信息,安卓、ios、还是pc端

    前端开发获取设备信息的代码if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { window.location.href =" ...

  10. boost::bind 学习

    最近学习了太多与MacOS与Iphone相关的东西,因为不会有太多人有兴趣,学习的平台又是MacOS,不太喜欢MacOS下的输入法,所以写下来的东西少了很多.    等我学习的东西慢慢的与平台无关的时 ...