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列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
随机推荐
- XtraEditors三、LookUpEdit、GridLookUpEdit、SearchLookUpEdit
https://documentation.devexpress.com/WindowsForms/DevExpress.XtraEditors.LookUpEditBase.class 一.Look ...
- 【websocket-sharp】使用
一 介绍 WebSocket# 提供了实现WebSocket协议客户端和服务器. WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信——允 ...
- Nginx总结.md
基本配置 注意:下面的nginx版本是1.10,安装是在CentOS 7中通过epel源进行安装的nginx默认配置文件. # egrep -v "(^$)|(^#)|#" /et ...
- python第十四课--排序及自定义函数之自定义函数(案例五)
演示函数的定义和使用细节: 默认参数:#在设计自定义函数的时候,就存在一个默认值,就算在调用的时候不显示的传入实参,也不会报错.#会用默认值来代替参与后期的运算 def m1(name='张三',ag ...
- [转]SVN服务器搭建和使用(一)
Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安 ...
- error: OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat
问题原因: You are probably working outside of the image dimensions. Does any of the values you pass to t ...
- 【vue知识点】2)vue登录认证
要点: 客户端登录要唯一 ——> token除了客户端要验证外,服务器端也要校验 (处理:token应该包含用户的基本信息,这样服务端解密token的时候就知道是哪个账户) (如果只是使用to ...
- ThreadLocal理解
ThreadLocal 概述 ThreadLocal实例仅作为线程局部变量的==操作类==,以及==线程存储局部变量时的Key==.真正的线程局部变量是存储在各自线程的本地,通过Thread类中的Th ...
- SAP函数PREPARE_STRING:提取字符串中的数字
今天调整一个同事的需求时,要计算一个含税金额.报表内已经取到税率,但存在的形式是字符串格式:16%. 正好SAP内有一个标准函数:PREPARE_STRING 可以处理字符串,将特别标志替换为有效标志 ...
- 在用AJAX跨域请求时遇到的问题
刚刚接触ajax就遇到一个词--跨域. 在我百度了各种资料以后总结了一句话:“只要不是在一个协议.域.名端口下,都属于跨域(127.0.0.1本地也属于跨域)”. 在做ajax请求的时候,请求不到并且 ...