python学习06
流控制 和函数
1)流控制
1.条件语句
if elif else if else
2.循环语句
while for
3.continue 和break
continue是跳过本次循环,执行下一次循环
break是跳出当前循环体,执行下一条语句
举例:九九乘法表:
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(j,i,i*j),end='\t')
print('')
2)函数
1.函数定义:def 函数名():
2.python中的内置函数:可以用导入import builtins dir(builtins) 来查看内置函数,参考网址:https://www.runoob.com/python/python-built-in-functions.html
3.python中的匿名函数用lamba x:表达式,返回值为表达值
eg:a=lambda x:x*2 a(1) 返回1
4.递归函数:斐波那锲序列
eg:
def f(n):
if n==1 or n==0:
return 1
else:
return f(n-1) + f(n-2)
print(f(6))
5.高阶函数:函数当作参数一块调用
def func_gj(func,num):
print(type(func))
a =func(num)
print(a)
a = lambda x: 1
func_gj(a,100)
6.函数的作用域LEGB
L: 局部变量 局部作用域 local
E: 闭包变量 闭包空间 enclosing
G: 全局变量 整个文件 global
B: 内置变量 整个解释器 builtins
举例说明:
a=1 #G
b=2 #G
def func_a(a,b):
a=1 #l
c=10 #l
print(b)
def func_b(arg1,arg2):
global b
nonlocal c
b = a+4 #G
c+=3 #E
print(a,b,c)
return func_b
func_a(3,90)(1,2)
#90 1 5 13
print(a,b)
#1 5
7.函数中的参数:位置参数,默认参数,可变参数,命名关键字参数,命名关键字参数
举例:
def my_sum(*args,**kwargs):
ret =0.0
for i in args:
ret+=i
for v in kwargs.values():
for i in v:
ret+=int(i)
return ret
ret1 = my_sum()
ret2=my_sum(10)
ret3=my_sum(1,2,3)
ret4=my_sum(1,2,**{"nums":[3,1]})
ret5=my_sum(**{"nums":['1','2','3']})
print(ret1,ret2,ret3,ret3,ret4,ret5)
python学习06的更多相关文章
- Python学习06——列表的操作(2)
笨办法学Python第39节 之前用的第三版的书,昨天发现内容不对,八块腹肌又给我下了第四版,这次的内容才对上.本节的代码如下: ten_things = "Apples Oranges C ...
- Python学习--06切片
Python里提供了切片(Slice)操作符获取列表里的元素. 示例: >>> L = [1,2,3,4,5] # 取前2个元素,传统方法 >>> [L[0],L[ ...
- python学习06循环
'''while''''''while 布尔表达式:冒号不能省略''''''1+2+3+...+10'''i=1sum1=0while i<=10: sum1+=i i+=1print(sum1 ...
- Python 学习文章收藏
作者 标题 rollenholt Python修饰器的函数式编程 - Rollen Holt - 博客园 rollenholt python操作gmail - Rollen Holt - 博客园 ro ...
- Python学习的个人笔记(基础语法)
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...
- Python 学习教程汇总
Python快速教程http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html简明Python教程https://bop.molun.ne ...
- python学习博客地址集合。。。
python学习博客地址集合... 老师讲课博客目录 http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 http://www.cnblogs. ...
- Python学习day5作业
目录 Python学习day5作业 ATM和购物商城 1. 程序说明 2. 基本流程图 3. 程序测试帐号 4. 程序结构: 5. 程序测试 title: Python学习day5作业 tags: p ...
- python 学习笔记 13 -- 经常使用的时间模块之time
Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: * time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...
随机推荐
- 分布式系统CAP理论
在单机的数据库系统之中,我们很容易实现一套满足ACID 特性的 事务处理系统, 事务的一致性不存在问题. 但是在分布式系统之中,由于数据分布在不同的主机结点上,如何对着些数据进行分布式的事务处理就具有 ...
- about-php
鉴于本人收集的php资料多,感觉查询起来不怎么方便.特意在github上建立了一个分支:about-php 主要是介绍围绕php的相关资料,包括php入门知识,php框架,开发工具,php项目,php ...
- windows下为qt msvc版本配置调试器
原文:https://blog.csdn.net/whatnamecaniuse/article/details/80716616 根据开发机的环境,下载 我的机器是win10,因此下载win 10 ...
- CENTOS重新安装JDK
centos 删除默认安装的JDK 重新安装JDK 1.删除JDK 通过xshell工具成功连接安装好的虚拟机之后可通过 rpm -qa | grep java 或 rpm -qa | gre ...
- IntelliJ IDEA 最新激活码
C40PF37RR0-eyJsaWNlbnNlSWQiOiJDNDBQRjM3UlIwIiwibGljZW5zZWVOYW1lIjoiemhhbmcgeW9uZyIsImFzc2lnbmVlTmFtZ ...
- js操作文章、字符串换行
操作前: 操作后: 第一步: 把中英文的逗号和顿号置换为 '\n’ support_unit = support_unit.replace(/,|,|./g, '\n') 第二步: //为了使\n ...
- LVM 磁盘分区扩容
前提:将磁盘中未分区磁盘进行分区操作 https://www.cnblogs.com/guoxiangyue/p/10033367.html 然后进行vg扩容 pvcreate /dev/sdc lv ...
- Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html
Cordova入门系列(三)Cordova插件调用 版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...
- js创建对象,放进js集合
var list=[]; for (var i=0;i<nodes.length;i++){ if(nodes[i].type=='user'){ person=new Object(); pe ...
- fuel一键部署openstack
一.安装环境: 1. 所需物理主机的要求如下 内存:8GB+,推荐16GB:(少于8GB的就免谈了) 磁盘:500GB+: 物理机OS:ubuntu-desktop-amd64 14.04(推荐) 或 ...