学习python的日常2
---恢复内容开始---
数组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的更多相关文章
- 学习python的日常
今天是开始正式接触python语言的第一天,然后来自前辈的知道开始了在学习过程当中用博客来记录自己的学习历程,以供自己更快地掌握这门编程语言. 大概的总结一下的话,还是按照我的编程的习惯,要学写代码, ...
- 学习python的日常7
---恢复内容开始--- 正则表达式: 在正则表达式中,用\d可以匹配一个数字,\w可以匹配一个字母或数字,'.'可以匹配任意字符,用*表示任意个字符,用+表示至少一个字符,用?表示0个货一个字符,用 ...
- 学习python的日常6
错误.调试和测试: 错误处理: try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: p ...
- 学习python的日常5
形如__xxx__的变量或者函数名,在python中是有特殊用途的,例如__slots__是为了绑定属性的名称, __len()__方法是为了让class作用于len()函数,很多这样的函数都可以帮忙 ...
- 学习python的日常4
偏函数: 偏函数是functools模块提供的一个功能,偏函数可以通过设定参数的默认值,降低函数调用的难度 其中设定的参数默认值实际上是可以被传入为其他值的,最后创建偏函数时可接收函数对象.*args ...
- 学习python的日常3
python的一些高级特性: 切片(跟名字一样,把一个完整的东西选取一部分自己想要的去切下来):通过切片可以快速的去除一些元素,只要确定好索引位置,避免的循环导致的多写代码 数组,元组,字符串都可以用 ...
- D03——C语言基础学习PYTHON
C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...
- 人工智能时代,应立即学习python
人工智能时代,应立即学习python 应用:web开发,自动化运维开发,自动化测试,数据分析,机器学习 1.python 快速易学习2.python 基于web开发(zhihu:tornad web框 ...
- 国内某Python大神自创完整版,系统性学习Python
很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...
随机推荐
- BUG处理流程图
流程描述: 1. 测试人员发现bug提交给开发. 2. 开发人员判断是否是bug. 3. 如果是bug,进行修改,修改完成后更改bug状态为已解决. 4. 如果不是bug,退回给测试人员并描述退回原因 ...
- [LeetCode] 275. H-Index II H指数 II
Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize ...
- fiddler 捕捉不到代码发出去的HTTP请求
检查代码里是不是把代理设置为空了,null. 或是通过.config文件禁用了代理.
- consul删除无效实例
consul删除无效实例删除无效服务删除无效节点删除无效服务http://127.0.0.1:8500/v1/agent/service/deregister/test-9c14fa595ddfb8f ...
- 【原创】C++11:左值和右值(深度分析)
——原创,引用请附带博客地址 2019-12-06 23:42:18 这篇文章分析的还是不行,先暂时放在这以后再更新. 本篇比较长,需要耐心阅读 以一个实际问题开始分析 class Sub{} Sub ...
- 设置程序崩溃时产生 core 文件的配置
/* 不限制 core 文件的大小 */ ulimit -c unlimited /* 使用 pid 进行命名 */ echo " > /proc/sys/kernel/core_us ...
- svn服务安装教程
https://www.cnblogs.com/yankyblogs/p/7282752.html
- 2019年广东外语外贸大学程序设计竞赛(新手赛)-F题(好快的刀)题解
题面: 题目意为,任意连接两个圆的圆心形成一条直线,计算与该直线相交或相切的圆的数量,求这些直线最多能相交或相切多少个圆 解题思路: 遍历所有的圆,计算出两圆圆心生成的直线,再遍历其他的圆,检测这些圆 ...
- 状态机的Verilog写法
“硬件设计很讲究并行设计思想,虽然用Verilog描述的电路大都是并行实现的,但是对于实际的工程应用,往往需要让硬件来实现一些具有一定顺序的工作,这就要用到状态机思想.什么是状态机呢?简单的说,就是通 ...
- jquery 根据后台传递过来的三维数组动态生成三级菜单
根据后台传递过来的三维数组动态生成三级菜单 <!DOCTYPE html> <html lang="en"> <head> <meta c ...