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列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
随机推荐
- SDN2017 第一次实验作业
1. 安装mininet 从github上获取Mininet源码并运行安装脚本 $ git clone git://github.com/mininet/mininet $ ./mininet/uti ...
- Nodejs Redis 全部操作方法
安装 npm install redis --save demo var redis = require('redis'); var client = redis.createClient('637 ...
- Python 3 实现定义跨模块的全局变量和使用
尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但 ...
- PostgreSQL学习----命令或问题小结
PostgreSQL学习--命令或问题小结 小序 接触PostgreSQL也有好长时间了,知识不总结梳理,似乎总不是自己的,继续努力吧少年!以此记录我的软件工艺之路! 1,查看模式搜索路径 SHOW ...
- ES6新特性3:函数的扩展
本文摘自ECMAScript6入门,转载请注明出处. 一.函数参数默认值 1. ES6允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') ...
- ethereumjs/ethereumjs-common-2-API文档
https://github.com/ethereumjs/ethereumjs-common/blob/master/docs/index.md 该API的调用的详细例子可见ethereumjs/e ...
- Python之括号()[]{}
Python主要有三种数据类型:字典.列表.元组.其分别由花括号,中括号,小括号表示.如:字典:dic={'a':12,'b':34}列表:list=[1,2,3,4]元组:tup=(1,2,3,4)
- python pyspark入门篇
一.环境介绍: 1.安装jdk 7以上 2.python 2.7.11 3.IDE pycharm 4.package: spark-1.6.0-bin-hadoop2.6.tar.gz 二.Setu ...
- 认识BPM
什么是BPM BPM,即业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法,常见商业管理教育如EMBA.MBA等均将BPM包含在内. BPM能干什 ...
- 使用putty进行ssh tunnel远程内网机器
通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网 ...