Python 自学笔记(七)
1.定义函数和调用函数
1-1.定义函数
定义函数的语法书写:def 函数名(参数名)(注:括号内可以为空,也可以为多个参数,多个参数间用逗号隔开即可)

由上可以看出,函数默认返回None
2.函数的重要概念
2-1.默认参数
默认参数必须放在位置参数之后。若调用函数时没有传递参数就为默认值,但是如果调用时向默认参数传递了数据,测默认参数被新参数代替。

2-2、不定长参数
一个星号*加上参数名。当传入此处的参数数量不确定时使用。数据类型为元祖(元祖(tuple)):写法是把数据放在小括号()中,它的用法和列表用法类似,主要区别 在于列表中的元素可以随时的修改,但元组中的元素不可更改。列表一样,元组是可迭代的对象,这意味着我们可以用for循环来遍历它。
当默认参数在不定长参数后面的时候,若想更改默认参数,需要注明参数=‘参数’,例如

注意:当有参数在不定长参数后面,且没有默认值的时候,在调用函数的时候一定要写成 参数=‘具体数据’,的形式,不然报错。例如

2-3、return语句
其实长度计算语句len()也是个内置函数,他的格式大概如下:
3、变量作用域
3-1、局部变量
在函数内定义的变量,仅能在函数内部使用(局部作用域)

变量a只能在函数内部使用
3-2、全局变量
所有函数之外复制的变量,可以再程序的任何位置使用(全局作用域)

3-3、global语句
可以将局部变量转换为全局变量,一般写在函数体的第一行

注意:局部变量和全局变量尽量不要重名,系统会混淆,从而报错。
4扩展
4-1、list()函数
可以将数据转换成列表

4-2、reversed()函数
reversed()函数可以将数据反转,从后往前迭代。
reversed()之后,第二次for循环、list()、tuple()以及join()得到的结果都为空,原因就是b不是反转列表本身,而是一个列表反向迭代器,所以直接输出函数返回值会是类似于乱 码,且reversed()之后,只在第一次遍历时返回值。

Python 自学笔记(七)的更多相关文章
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- python自学笔记(一)
我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...
- python自学笔记(七)排序与多级排序
一.sorted内置方法 a = [1,2,3,4] 从大到小(翻转) a = sorted(a,reverse = True) #生成新对象,不会原地修改,需要重新赋值 print a --> ...
- python自学笔记一
之前看过一段时间的小甲鱼零基础自学python,b站上有高清免费资源[av4050443],但是作为零基础实在学得艰难,下载了python核心编程pdf,在这里做一些笔记. 虽然使用的是第二版的教材, ...
- Python 自学笔记(一)环境搭建
一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...
- python 自学笔记(四) 列表
有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- 如何深入系统的学习一门编程语言——python自学笔记
前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...
- Python学习笔记七
面向对象编程 面向对象的特性如下: 类:具有相同属性和方法的一类事物,成为类. 对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性. 封装:在类中对数据的赋值,类里面包含着类 ...
随机推荐
- 开始Swift学习之路
Swift出来好几个月了,除了同事分享点知识外,对swift还真没有去关心过.GitHub上整理的学习Swift资料还是很不错的,目前也推出了电子书和PDF格式. Swift的语法和我们平常开发的语言 ...
- linux文件比较
Linux文件比较指令有两个,comm和diff,其中comm要求的是排序过得文件.Diff则没有这个要求,diff的输出结果主要是用来表明文件一经过怎样的修改可以得到文件二. Comm Comm的语 ...
- 软件自带依赖库还是共享对象库/为什么linux发行版之间不能有一个统一的二进制软件包标准
接前文:Linux软件包(源码包和二进制包)及其区别和特点 在前文,我们知道了linux软件包分为源码包和二进制包两种方式,而不同的发行版之间又有着自己的二进制打包格式. 首先,软件运行依赖着各种各样 ...
- Haddop完全分布式集群搭建
hadoop完全分布式搭建 建议(遇到的坑): 如果自己用的操作系统就是linux,我本身是deepin系统,装了两台虚拟机,结果,用户名没有配置,导致启动不了,因为hadoop的master节点启动 ...
- docker 推送镜像到阿里云
1. 登录阿里云Docker Registry $ sudo docker login --username=www.18860363800@hotmail.com registry.cn-beiji ...
- 【年度盘点】10个热门Python练习项目
这10个项目,约有270000人学习过. 今天给大家盘点一下实验楼最热门的10个Python练习项目.第二名是<200 行 Python 代码实现 2048>,第三名是<Python ...
- “key_share”和"pre_shared_key" 的区别
越是基本的问题或者概念越是难解释或者讲清楚,论文写到现在真的好无助的样子 . 在LTS协议中牵扯到握手的认证和秘钥建立的时候,这连个概念经常混淆,TLS1.3版本协议为参照,区别这两个概念 1.概念的 ...
- Codeforces Round #582 (Div. 3)-G. Path Queries-并查集
Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...
- mybatis3.1-[topic-16-17]-映射文件_增删改查_insert_获取自增主键的值
笔记要点出错分析与总结 /**测试第16章的增,删,改 的内容 * 错误1: <insert id="addEmp" parameterType="com.bean ...
- vuetify使用时遇到的坑:默认颜色显示不了
原文链接: https://blog.csdn.net/weixin_44015248/article/details/86579777