[Python] 函数基本
使用def 函数名(): 来定义一个函数,函数体一缩进块的形式写,返回结果是return xx
例如:
def myAbs(x):
if x >= 0:
return x
else:
return –x
可变参数
在参数的前面加一个*号,函数里面接收到的参数是tuple类型,遍历一下
#可变参数
def myCalc(*nums):
sum=0
for num in nums:
sum+=num
return sum
print(myCalc(1,2,3))
迭代
通过for循环来遍历list或者tuple,这种遍历称为迭代
使用for in来迭代list,for key in list:,例如:
for item in myList:
print(item)
使用for in来迭代dict,for k,v in d.items:,例如:
user={"name":"taoshihan","age":"100"}
for k,v in user.items():
print(k+"=>"+v)
切片
取一个list或tuple的部分元素,使用切片操作符list[a:b],取list的元素从a开始到b结束(不包含b)
例如:myList=[1,2,3]
print(myList[0:2]) 输出[1, 2]
函数递归
求n的阶乘(n!)
def myFact(n):
if n==1:
return 1
return myFact(n-1)*n
print(myFact(30))
使用尾递归优化来解决栈溢出问题,return语句里面不能包含表达式,但是Python语言没有引入尾递归,因此不能使用
解决汉诺塔问题:
def myMove(n,source,bridge,destination):
if n==1:
print("从"+source+"移动"+"到"+destination)
else:
myMove(n-1,source,destination, bridge)
print("从"+source+"移动"+"到"+destination)
myMove(n-1,bridge,source,destination)
myMove(5,"a","b","c")
函数式编程的特点:允许把函数本身作为参数传入另一个函数,还允许返回一个函数
[Python] 函数基本的更多相关文章
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数讲解
Python函数
- Python函数信息
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
- Python函数解析
对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- Python函数1
Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...
- python函数传参是传值还是传引用?
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
随机推荐
- Python 数据结构与算法—— 快排
1. 先从待排序的数组中找出一个数作为基准数(取第一个数即可),然后将原来的数组划分成两部分:小于基准数的左子数组和大于等于基准数的右子数组.然后对这两个子数组再递归重复上述过程,直到两个子数组的所有 ...
- linux 下查看redis内存等占用量
用客户端连接redis服务器: ./redis-cli -h ip :port >>info server : 一般 Redis 服务器信息,包含以下域: redis_version : ...
- html5 Ajax 访问.net WebApi获取视频流
http://localhost//api/Test/GetVideo?filename=/GoodVideo/e36a144b-52cd-4174-93d2-cfc41aea6c1d.mp4 是AP ...
- Python 关于 encode与decode 中文乱码问题
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...
- WINDOWS平台下的栈溢出攻击从0到1(篇幅略长但非常值得一看)
到1的这个过程.笔者也希望能够通过这些技术分享帮助更多的朋友走入到二进制安全的领域中.2.文章拓扑由于本篇文章的篇幅略长,所以笔者在这里放一个文章的拓扑,让大家能够在开始阅读文章之前对整个文章的体系架 ...
- xamarin自定义 application 无法调试
我们在默认使用application 的时候发现 调试会爆异常 [application] public class DemoApplication:Application { } 根本原因是构造器 ...
- 原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)
原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想) 总体思想: 希望让调用方通过 http调用传入一个需要生成图片的网页链接生成一个网页的图片并返回图片链接 ...
- 解释一下核主成分分析(Kernel Principal Component Analysis, KPCA)的公式推导过程(转载)
KPCA,中文名称”核主成分分析“,是对PCA算法的非线性扩展,言外之意,PCA是线性的,其对于非线性数据往往显得无能为力,例如,不同人之间的人脸图像,肯定存在非线性关系,自己做的基于ORL数据集的实 ...
- Numpy 常用矩阵计算函数
基本属性 在做一些数据分析的时候,我们通常会把数据存为矩阵的形式,然后python本身对于矩阵的操作是不够的,因此出现了numpy这样一个科学开发库来进行python在次上面的不足. Numpy's ...
- ES6快到碗里来---一个简单的爬虫指南
学习ES6的时候,没少看ES6入门,到现在也就明白了个大概(惭愧脸).这里不谈ES6,只谈怎么把ES6的页面爬下来放到一起成为一个离线文档. 之前居然没注意过作者把这本书开源了..瞎耽误功夫...地址 ...