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

数组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})。

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

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

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

def act(n):
if n == 1:
return n
return n*act(n-1)

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

def act(n):
return act_iter(n,1) def act_iter(num,product)
if num == 1:
return product
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. IISExpress.无法启动IIS Express Web 服务器.Starting IIS Express... IIS Express is running

    x 提示: 无法启动IIS Express Web 服务器. 来自IIS Express的输出: Starting IIS Express... IIS Express is running 总结: ...

  2. 如何确定垃圾?JVM GC ?

    如何确定垃圾? 正文 如何确定垃圾? 前面已经提到 JVM 可以采用 引用计数法 与 可达性分析算法 来确定需要回收的垃圾,我们来具体看一下这两种算法: 引用计数法 该方法实现为:给每个对象添加一个引 ...

  3. 问题三:Appium 的 UIAutomator2 模式下使用 sendKeys 出现错误

    在Appium默认的模式下,可以对TextFiled控件进行sendKeys操作: 设置capabilities.setCapability("automationName",&q ...

  4. JVM的内存分配垃圾回收策略

    之前看过<深入了解Java虚拟机>感觉容易忘,今天写一篇博客加深一下印象. JVM的内存分配和垃圾回收(GC)主要发生在Java堆中.而Java堆根据对象的存活时间可以分为新生代和老年代, ...

  5. 微信小程序的登入与授权

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 小程序登录 小程序可以通 ...

  6. PAT(B) 1035 插入与归并(Java)

    题目链接:1035 插入与归并 (25 point(s)) 参考博客:PAT乙级--1035(插入排序和归并)java实现熊仙森 题目描述 根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据, ...

  7. AVR单片机教程——按键状态

    好久没更新了,今天开始继续,争取日更. 今天我们来讲按键.开发板的右下角有4个按键,按下会有明显的“咔嗒”声.如何检测按键是否被按下呢?首先要把按键或直接或间接地连接到单片机上.与之前使用的4个LED ...

  8. Matplotlib:绘图和可视化

    Matplotlib:绘图和可视化 简介 简单绘制线形图 plot函数 支持图类型 保存图表 一 .简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分 ...

  9. linux shell程序常用功能

    一.循环读取文件 循环读取文件方式有多种,推荐下列方法 while read line;do local include=$(echo ${line} | grep "filter" ...

  10. PHP CLI中,三个系统常量:STDIN、STDOUT、STDERR

    PHP CLI中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. /** *@ 标准输入 *@ php://stdin & STDIN *@ STDIN是一个文件 ...