Python3快速入门——(5)函数基础

#函数基础
def printhello(): # def 定义函数
print ( 'hello python' ) #函数执行部分
def printNum():
for i in range ( 0 , 10 ):
print (i)
return
def add(a,b):
return a+b
printhello() #调用函数
print (printNum())
print (add( 1 , 2 ))

#定义函数并函数调用 #把my_abs()的函数定义保存为funct.py文件中
from funct import my_abs #用 from afunct import my_abs来导入my_abs()函数 ,注意funct是文件名(不含.py扩展名)
b=my_abs(- 12 )
print (b) # 12

def m(): #定义空函数
pass #实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来

import math #import math语句表示导入math包 ,并允许后续代码引用math包里的sin、cos等函数
#返回多个值得函数
def move(x,y,step,angle= 0 ): #定义一个函数
nx=x+step*math.cos(angle)
ny=y-step*math.sin(angle)
return nx,ny
x,y=move( 100 , 100 , 60 ,math.pi/ 6 )
print (x,y) #结果 151.96152422706632 70.0
r=move( 100 , 100 , 60 ,math.pi/ 6 ) #Python的函数返回多值其实就是返回一个tuple
print (r) #结果 (151.96152422706632, 70.0)
#递归函数
#如果一个函数在内部调用自身本身,这个函数就是递归函数
def fact(n): #定义一个求阶乘的函数
if n== 1 :
return 1
else :
return fact(n- 1 )*n
b=fact( 5 )
print (b) #结果是120
#使用递归函数需要注意防止栈溢出。
# 在计算机中,函数调用是通过栈(stack)这种数据结构实现的
# 每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。
# 由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出


全部评论

相关推荐

Gardenia06...:刚开始学是这样的,可以看看左神和灵神都讲的不错
点赞 评论 收藏
分享
03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务