Python学习过程笔记整理(三)
函数
-函数使用
-函数需要先定义,定义不会执行函数
-使用函数,俗称调用
-定义函数
-格式: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学习过程笔记整理(三)的更多相关文章
- Python学习笔记整理(三)Python中的动态类型简介
Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之 ...
- Python学习过程笔记整理(四)
变量作用域 -分类 -全局(global):在函数外部定义:整个全局范围都有效 -局部(local):在函数内部定义:仅在局部范围有效 -提升局部变量为全局变量 -使用global -globals, ...
- Python学习过程笔记整理(一)
编码方式 -Utf8编码方式:# -*- coding: utf-8 -*- 注释 -行注释 # -块注释 '''...'''或"""...""&qu ...
- Python学习过程笔记整理(二)
程序三大结构 -顺序 -分支 -循环 分支 -语法: if 条件表达式: 语句 ... -双向分支 if 条件表达式: 语句 ... else: 语句 ... -多路分支 if 条件表达式: 语句 . ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- python学习笔记整理——集合 set
python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...
- python 学习笔记整理
首先自我批评一下,说好的一天写一篇博客,结果不到两天,就没有坚持了,发现自己做什么事情都没有毅力啊!不能持之以恒.但是,这次一定要从写博客开始来改掉自己的一个坏习惯. 可是写博客又该写点什么呢? 反正 ...
- Python学习笔记整理总结【语言基础篇】
一.变量赋值及命名规则① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="sol ...
- Python基础笔记系列三:list列表
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
随机推荐
- Mac环境下WingIDE切换python版本
https://www.cnblogs.com/fastLearn/p/6514442.html
- PHP最全防止sql注入方法
(1)mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count ...
- bzoj1808 [Ioi2007]training 训练路径
Description 马克(Mirko)和斯拉夫克(Slavko)正在为克罗地亚举办的每年一次的双人骑车马拉松赛而紧张训练.他们需要选择一条训练路径. 他们国家有N个城市和M条道路.每条道路连接两个 ...
- python第十四课--排序及自定义函数
1.排序 特点: 1).升序:从小到大 2).降序:从大到小 课堂实现选择排序:参看老郭选择排序.py文件 2.函数:(方法/method) 自定义函数: 概念:它表示一段作用范围(作用域),当中封装 ...
- leetcode第一刷_N-Queens
八皇后问题应该是回溯法的教学典范.在本科的时候,有一门课叫面向对象.最后的附录有这个问题的源码.当时根本不懂编程,照抄下来,执行一下出了结果都非常开心,哎. 皇后们的限制条件是不能同行同列,也不能同对 ...
- 【洛谷】【二分答案+贪心】P1316 丢瓶盖
[题目描述:] 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? [ ...
- javascript:typeof与instanceof区别
from:http://www.wxwdesign.cn/article/skills/javascript_typeof_instanceof.htm JavaScript中typeof和insta ...
- [Java123]软件自动生成接口文档
需求场景:进入新项目,开始老本行读源码. 急需要快速了解项目的各个接口架构. https://www.jianshu.com/p/4c31e9920537
- react中受控组件相关的warning
在表单中,报如下的错,意思是非受控的输入框变成了受控的,报错信息如下 Warning: A component is changing an uncontrolled input of type te ...
- c++——深拷贝和浅拷贝
深拷贝和浅拷贝 默认复制构造函数可以完成对象的数据成员值简单的复制 对象的数据资源是由指针指示的堆时,默认复制构造函数仅作指针值复制 1浅拷贝问题 1.c++默认的拷贝构造函数 2.=号操作符 都是浅 ...