1.定义函数和调用函数

    1-1.定义函数

     定义函数的语法书写:def 函数名(参数名)(注:括号内可以为空,也可以为多个参数,多个参数间用逗号隔开即可)

      

    由上可以看出,函数默认返回None

2.函数的重要概念

  2-1.默认参数

  默认参数必须放在位置参数之后。若调用函数时没有传递参数就为默认值,但是如果调用时向默认参数传递了数据,测默认参数被新参数代替。

  

  2-2、不定长参数

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

  当默认参数在不定长参数后面的时候,若想更改默认参数,需要注明参数=‘参数’,例如

  

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

  

  2-3、return语句

    其实长度计算语句len()也是个内置函数,他的格式大概如下:    

    def len('内容'):
      (计算'内容'长度)
      return 长度值
    a='内容'
    print(len(a))
    

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 自学笔记(七)的更多相关文章

  1. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  2. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  3. python自学笔记(七)排序与多级排序

    一.sorted内置方法 a = [1,2,3,4] 从大到小(翻转) a = sorted(a,reverse = True) #生成新对象,不会原地修改,需要重新赋值 print a --> ...

  4. python自学笔记一

    之前看过一段时间的小甲鱼零基础自学python,b站上有高清免费资源[av4050443],但是作为零基础实在学得艰难,下载了python核心编程pdf,在这里做一些笔记. 虽然使用的是第二版的教材, ...

  5. Python 自学笔记(一)环境搭建

    一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...

  6. python 自学笔记(四) 列表

    有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...

  7. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  8. 如何深入系统的学习一门编程语言——python自学笔记

    前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...

  9. Python学习笔记七

    面向对象编程 面向对象的特性如下: 类:具有相同属性和方法的一类事物,成为类. 对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性. 封装:在类中对数据的赋值,类里面包含着类 ...

随机推荐

  1. Django 启动报错 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7

    pycharm 报错 cmd 报错 解决办法 首先 是计算机 编码问题  是 django 读取你的  用户host名 但是 windos 用户名 如果是中文 就会报这个错  要改成 英文

  2. MySQL处理达到百万级数据时,如何优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  3. Spring 的 @Primary 注解

    简单的说,就是当Spring容器扫描到某个接口的多个 bean 时,如果某个bean上加了@Primary 注解 ,则这个bean会被优先选用,如下面的例子: @Component public cl ...

  4. Codeforces Round #519 D - Mysterious Crime

    题目 题意: 在m组数,每组有n个数(数的范围1-n)中,找到某些序列 使它是每组数的一个公共子序列,问这样的某些序列的个数? 思路: 不难想出答案ans是≥n的. 创立一个next数组,使每组中第i ...

  5. pypython解构

    *******重点 解构:把线性结构的元素解开,并按顺序的赋给其他变量 左边接纳的要与右边解开的个数一致. lst = [3,5] first,second = lst print(first,sec ...

  6. 去除chrome网站https的安全检测

    chrome://net-internals/#hsts  访问该网址,把要禁止检测的网址放在下面:

  7. Robot Framework--Scalar变量

    一.变量赋值 1)Set赋值 通常使用Set Variable关键字对变量进行赋值,其他Set相关的带Variable的关键字也可以进行赋值 赋值的时候,变量后面写不写『=』都可以,如下: 如果${v ...

  8. Javascript基础(1)

    1 Javascript介绍 1.1 js是一款运行在客户端的网页编程语言 1.2 组成部分 (1)ECMAScript:ECMAScript不是一门语言,而是一个标准.符合这个标准的比较常见的有:J ...

  9. java中为什么不能通过getClass().getName()获取父类的类名

    例如: class A{} public class B extends A{ public void test(){ System.out.println(super.getClass().getN ...

  10. String字符串常量池简介

    直接贴代码---> public class Test { public static void main(String[] args) { /** * 为了提升字符串的访问效率,在程序中使用了 ...