python函数
来源:互联网 发布:mac的顿号怎么打 编辑:程序博客网 时间:2024/05/18 12:01
# -*-coding:utf-8-*-# -----------------# 函数# -----------------print abs(-100) # abs函数:取绝对值print cmp(1, 2) # cmp函数,比较大小,如果x<y,返回-1,如果x=y,返回0,如果x>y,返回1# ---------------# 数据类型转换:# 数据的不同类型之间的转换# ---------------print int('123') # int()可以将其他类型转换为整数类型print int(12.35)print float('12.36')print str(12.37)print unicode(100)print bool(1)print bool(0)# -------------------# 函数定义,使用def进行函数定义# -------------------def my_abs(x): if x > 0: return x else: return -xprint my_abs(12)# -------------------# 函数参数# -------------------def power(x): # 一个参数 return x * xprint power(100)def powern(x, n): # 两个参数 s = 1 while n >= 1: s = s * x n = n - 1 return sprint powern(2, 3)def new_list(l=[]): # 函数中使用list元组 return lprint new_list([1, 2, 3])def cal(number): sum = 0 for n in number: sum = sum + n * n return sumprint cal([1, 2, 3, 4, 5])print cal((1, 3, 5, 6))def calc(*number): # 可变参数 sum = 0 for n in number: sum = sum + n * n return sumprint calc(1, 3, 5, 6)# ---------------# 默认参数一定要用不可变对象,如果是可变对象,就会出现逻辑错误!# *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 fact(n): # 使用递归来求阶乘n! if n == 1: return 1 return n * fact(n - 1)print fact(5)# -----------------# 使用递归函数需要注意防止栈溢出,函数调用是通过栈这种数据结构来实习的,每当进入一个函数调用,栈就会加一层栈帧,# 每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多。## 解决递归调用栈溢出的方法是通过尾递归优化,事实上尾递归和循环的效果是一样的,# -----------------# 尾递归调用,仍然会导致栈溢出问题def fact(n): return fact_iter(n, 1)def fact_iter(num, product): if num == 1: return product return fact_iter(num - 1, num * product)print fact(100)
0 0
- python函数
- python 函数
- python 函数
- Python 函数
- python 函数
- PYTHON函数
- python 函数
- Python函数
- python 函数
- Python 函数
- Python 函数
- Python 函数
- python函数
- python函数
- python 函数
- Python 函数
- Python函数
- Python函数
- js 获取元素所有兄弟节点实例
- 用 Lua 实现一个微型虚拟机-基本篇
- struts2中跳转页面中不执行jquery mobile页面中的$(function()
- PAT甲级1116
- Hrbust 1545
- python函数
- 每日170215
- AngularJs模块加载 配置块
- css的鼠标手势大全
- 混合应用开发框架Cordova源码学习总结
- C++:在成员函数后面放const的作用
- 链表之单链表重复元素的删除
- sql常用语句(1)
- vert.x详细介绍,全异步框架