---恢复内容开始---

数组list

添加用.append(i,'xxx')方法

删除用.pop(i)方法,其中i为索引位置

数组可以直接作为元素插入数组

元组tuple(初始化后不能改变,所谓不变是指指向的位置不能变)

tuple中定义一个元素的时候要加一个逗号用来区分数组与数据赋值

list和tuple是python内置的有序集合,根据不同的需求去选择使用

python中的循环,在if条件语句中,是自上而下的进行判断,如果在上层中有为True的语句,就会执行相应的结果,而省略其他的判断语句

1.for...in循环    2.while循环 (依靠用户输入进行判断时,要注意数据类型的转换)

使用dict和set:感觉这个的话和java里面的set一样的,不过中间的处理有一点出入,dict的话就是key对应相应的value值,通过get()方法可以在key不存在的时候返回None或者自己指定的值,

利用pop()方法可以删除指定的key同时将其value带走。    set是一组key的集合,通过一组list作为输入集合,其中的值就算重复的话在打印的时候所显示的将会是唯一的key值,相当于告诉你有什么元素在里面

可以通过add(key)方法向set中添加元素,如果重复不会显示效果,通过remove(key)可以移除元素.

函数:定义函数时,需要确定函数名和参数个数;如果想保证函数的完整性可以先对参数的数据类型做检查。用return可以随时返回函数结果,函数中返回多个值实际上就是返回一个元组。

函数的参数:参数分为位置参数,默认参数,可变参数,关键字参数

默认参数一定要用不可变对象,如果是可变对象,程序运行会出现逻辑错误。

*args 是可变参数,args接收的是一个tuple。

**kw是关键字参数,kw接收的是一个dict。

示例:可变参数直接传入func(1,2,3),又可以先组装list或tuple,再通过*args传入func(*(1,2,3));

关键字参数:func(a=1,b=2),又可以先组装dict,在通过**kw传入:func(**{‘a’:1,‘b':2})。

命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。

定义命名的关键字参数在没有可变参数的情况下要记得有分隔符*,否则定义的就是位置参数。

递归函数:常见的递归函数,在函数内部去调用函数本身,从而达到循环的效果。

  1. def act(n):
  2. if n == 1:
  3. return n
  4. return n*act(n-1)

不过这样容易产生栈溢出,处理方式是尾递归优化,

  1. def act(n):
  2. return act_iter(n,1)
  3.  
  4. def act_iter(num,product)
  5. if num == 1:
  6. return product
  7. return act_iter(num-1,num*product) 

---恢复内容结束---

学习python的日常2的更多相关文章

  1. 学习python的日常

    今天是开始正式接触python语言的第一天,然后来自前辈的知道开始了在学习过程当中用博客来记录自己的学习历程,以供自己更快地掌握这门编程语言. 大概的总结一下的话,还是按照我的编程的习惯,要学写代码, ...

  2. 学习python的日常7

    ---恢复内容开始--- 正则表达式: 在正则表达式中,用\d可以匹配一个数字,\w可以匹配一个字母或数字,'.'可以匹配任意字符,用*表示任意个字符,用+表示至少一个字符,用?表示0个货一个字符,用 ...

  3. 学习python的日常6

    错误.调试和测试: 错误处理: try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: p ...

  4. 学习python的日常5

    形如__xxx__的变量或者函数名,在python中是有特殊用途的,例如__slots__是为了绑定属性的名称, __len()__方法是为了让class作用于len()函数,很多这样的函数都可以帮忙 ...

  5. 学习python的日常4

    偏函数: 偏函数是functools模块提供的一个功能,偏函数可以通过设定参数的默认值,降低函数调用的难度 其中设定的参数默认值实际上是可以被传入为其他值的,最后创建偏函数时可接收函数对象.*args ...

  6. 学习python的日常3

    python的一些高级特性: 切片(跟名字一样,把一个完整的东西选取一部分自己想要的去切下来):通过切片可以快速的去除一些元素,只要确定好索引位置,避免的循环导致的多写代码 数组,元组,字符串都可以用 ...

  7. D03——C语言基础学习PYTHON

    C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...

  8. 人工智能时代,应立即学习python

    人工智能时代,应立即学习python 应用:web开发,自动化运维开发,自动化测试,数据分析,机器学习 1.python 快速易学习2.python 基于web开发(zhihu:tornad web框 ...

  9. 国内某Python大神自创完整版,系统性学习Python

    很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...

随机推荐

  1. 运维笔记--linux环境提示python: command not found

    场景描述: 新部署的容器环境,终端执行python命令,提示没有该命令. 从报错异常可以看出,可能是python环境未安装. 分析思路: 检查python路径: 方式一:type -a python ...

  2. 纯CSS样式实现数字加减按钮的最佳方案

    前言: 对于数字加减按钮的实现,以前用过不少方案,诸如: 1.使用背景图片——这种效果比较好,缺点是样式控制有点复杂了,还需要使用图片: 2.直接使用“+”“-”——这种方法简单粗暴,最容易实现,缺点 ...

  3. Python3基础 tuple(list) 改变list元素的内容时,元组的id值不变

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  4. Jmeter-Critical Section Controller(临界区控制器)(还没看,是一个控制请求按顺序执行的东东)

    The Critical Section Controller ensures that its children elements (samplers/controllers, etc.) will ...

  5. EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解

    背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以 ...

  6. Kubernetes 使用 ingress 配置 https 集群(十五)

    目录 一.背景 1.1 需求 1.2 Ingress 1.3 环境介绍 二.安装部署 2.1.创建后端 Pod 应用 2.2 创建后端 Pod Service 2.3.创建 ingress 资源 2. ...

  7. LeetCode 151. 翻转字符串里的单词(Reverse Words in a String)

    151. 翻转字符串里的单词 151. Reverse Words in a String

  8. [转帖]Merkle树

    Merkle树 https://www.jianshu.com/p/fc439a8fd0de 所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全.一个交易一旦发生那么就是 ...

  9. 分布式全文搜索引擎(ElasticSearch)

    1. ElasticSearch介绍(简称ES) ES即为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案. 首先,ES的索引库管理支持依然是基于Ap ...

  10. SQL——IN操作符

    一.IN操作符基本用法 IN操作符用于在WHERE字句中规定多个值. 语法格式如下: SELECT 列名1,列名2... FROM 表名 WHERE 列名 IN(值1,值2...); 示例studen ...