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列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
随机推荐
- December 04th 2016 Week 50th Sunday
Learn wisdom by the follies of others. 前车之鉴,后人之师. Maybe my personal state is that others can learn w ...
- 查看oracle数据库版本
1. 登录sysdba用户 sqlplus / as sysdba 2. 方法一:v$version SQL> select * from v$version; 3. 方法二:product_ ...
- JPEG图片扩展信息读取与改动
近日项目中须要用到往jpg图片中写入信息(非水印),经调研发现Android中已经封装了读写jpg图片扩展信息的api(ExifInterface). 相应api地址:http://developer ...
- 项目--解决MySQL数据库插入中文乱码
转载自:http://blog.csdn.net/zzh920625/article/details/51226312 情景再现] 如图,在项目中使用MySQL数据库,在做插入操作时,写入英文字符没有 ...
- Java多线程和并发基础面试总结
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题.收藏起来,希望给予即将找 ...
- docker 部署 redmine 项目管理软件
最近部署一套redmine项目管理程序, ruby部署各种问题,用docker 直接run, 简单方便. . docker run --name=mysql-redmine -d -p : -v /d ...
- django 表结构
django 表结构 一:查看orm写的sq语句:如果对某个语句不清楚的话可以调用queryset的的query方法来查看sql. 1 obj=Hostinfo.objects.filter(id=v ...
- 关于html5 audio 标签在ios系统上不能正常自动播放的解决办法
由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio, 因此我们通过一个用户交互事件来主动 play 一下 audio. ...
- hdfs的java接口简单示例
public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, ...
- EF 解除属性映射到数据库中 NotMappedAttribute无效解决办法
可以通过NotMappedAttribute标记模型某个属性可以使该属性不必映射到数据库. public class Unicorn { public int Id { get; set; } [No ...