首页 文章 精选 留言 我的

精选列表

搜索[python解释器],共10000篇文章
优秀的个人博客,低调大师

python-函数入门(一)

1.什么是函数: 可重复使用的,用来实现单一,或相关联功能的代码段。 函数分为内置函数和自定义函数,这里先讲自定义函数 2.如何定义函数: #语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 注:函数必须先定义才能使用,定义阶段不执行代码只检测语法.意思就是语法错误在定义阶段就会检测出来,代码的逻辑错误只有在执行时才会提示. 3.定义函数的三种形式 无参:用于执行一些打印等操作,不需要参数传进去 有参:需要根据传进去的参数进行运算 空函数:用于设计代码结构 # 1.无参函数 # def foo(): # print('from foo') # foo() # # 2.有参函数 # def bar(): # print(x,y) # bar(1,2) # # 3,空函数 # def func(): # pass 4.函数调用 函数调用就是函数名加个()即可 4.1调用函数的三种形式: # 1.语句形式 # def foo(): # print('from foo') # foo() # # 2.表达式形式 # def foo(x,y): # res = x+y # return res # res = foo(1,2) # 3.可以当做参数传给另外一个函数 # def max2(x,y): # if x>y: # return x # else: # return y # res = max2(max2(1,2),3) # print(res) 4.2函数的返回值 1.返回值没有类型限制 2.返回值没有个数限制 注:返回多个值的结果就是返回一个元组,0个值返回为None return是函数结束的标准,可以有多个return但只执行一次 # def f1(): # print('111') # return 1 # print('222') # return 2 # print('333') # return 3 #def f1() #只执行 print('111') 4.3函数的参数 函数的参数分为形参和实参.形参即为变量名,实参为变量值,在函数调用时,把值绑定到变量名上,在函数调用结束后,解除绑定 形参与实参的具体分类(重点) 1.位置参数 1.1位置形参 在定义函数阶段按照从左到右的顺序定义的形参. 注:按位置定义的形参必须被传值,多一个不行,少一个也不行 # def foo(x,y) # print(x,y) # # foo(1,2) #正确 # foo(1,2,3) #错误 1.2位置实参 在调用函数阶段按照从左到右的顺序依次传入的值. 2.关键字参数 关键字实参:在调用函数阶段,按照key=value的形式指名道姓的为指定值传值 注:可以完全打乱顺序,仍可以为指定的形参传值 可以混合使用位置实参和关键字实参,但必须注意(1)位置实参必须放在关键字实参前面(2)不能对一个形参重复赋值 def foo(name,age): print(name,age) foo('zfj',18) foo(age=18,name='egon') # foo(name='zfj',18)#报错 # foo('zfj', age=18) 3.默认参数 指的是在定义阶段就已经为某个形参赋值了,该形参称之为有默认值的形参 注意:1.在定义阶段就已经被赋值,意味着在调用阶段就可以直接使用,默认参数 2.位置形参应该放到默认形参前面 3.默认参数的值,通常应该为不可变类型 def foo(x,y=2): print(x,y) foo(1)#1,2 foo(1,3)#1,3 4.可变长度参数 站在实参的角度,参数长度可变指的是在调用函数时,传入的实参的值个数不固定 4.1在形参中带“*”:会将调用函数时溢出的位置实参保存为元组的形式,然后赋值给*后的变量 def foo(x,y,*z): print(x,y,z) foo(1,2,3,4,5)#1 2 (3, 4, 5) 4.2在形参中带“**”:会将调用函数时溢出的关键字实参保存成字典的形式,然后赋值给**后的变量名 def foo(x,y,**z): print(x,y,z) foo(1,2,a=1,b=2)#1 2 {'a': 1, 'b': 2} 4.3在实参中带“*”:在传值前先被打散成位置实参,然后再进行赋值 def foo(x,y,*z): print(x,y,z) foo(1,*[2,3,4,5,6])#1 2 (3, 4, 5, 6) 4.4在实参中带“**”:在传值前先被打散成关键字实参,然后再进行赋值 def foo(x,y,z): print(x,y,z) foo(1,**{'y':2,'z':1})#1 2 1 5.命名关键字参数 放到*与**之间的参数称为命名关键字参数。函数的调用者可以传入任意不受限制的关键字参数 注意:命名关键字参数必须按照key = value的形式传值 补充: 在形参中带*与**的,*后的变量名应该为args,**后应该是kwargs # 当我们想要将传给一个函数的参数格式原封不动地转嫁给其内部的一个函数,应该使用下面这种格式 def bar(x,y,z): print(x,y,z) def wrapper(*args,**kwargs): bar(*args,**kwargs) wrapper(1,2,z=3) #虽然调用的是wrapper,但是要遵循的却是bar的参数标准 焚膏油以继晷,恒兀兀以穷年。

优秀的个人博客,低调大师

使用python绘出常见函数

'''''' ''' mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False用来解决不能使用汉字问题,需要导入matplotlib ''' import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False import math x=np.arange(0.05,3,0.05) #设置X坐标轴 y1=[5 for i in x] plt.plot(x,y1,linewidth=2,label=u'常函数:y=5') #常函数 y2=[2*i+1 for i in x] plt.plot(x,y2,linewidth=2,label=u'一次函数:y=2x+1') #二次函数,在$内的内容能正确显示x^2 y3=[1.5*i*i-3*i+1 for i in x] plt.plot(x,y3,linewidth=2,label=u'二次函数:y=1.5$x^2$-3x+1') #幂函数,math,pow(x,y) x是底数 y是指数 y4=[math.pow(i,2) for i in x] plt.plot(x,y4,linewidth=2,label=u'幂函数:y=$x^2$') #指数函数 y5=[math.pow(2,i) for i in x] plt.plot(x,y5,linewidth=2,label=u'指数函数:y=$2^x$') #对数函数,math.log(x,y) y是可以设置的底数 y6=[math.log(i,2) for i in x] plt.plot(x,y6,linewidth=2,label=u'对数函数:y=logx2(x)') #-4pi到4pi之间产生一百个等差值 x1=np.linspace(-4*np.pi,4*np.pi,100) y7=[np.sin(i) for i in x1] y8=[np.cos(i) for i in x1] plt.plot(x1,y7,label='y=sin(x)',c='g',linewidth=2) plt.plot(x1,y8,label='y=cos(x)',c='r',linewidth=2) #突出某条具体的线 # plt.plot([1,1],[-3],5,'--',color='#999999',linestyle=2) #plt.grid(True)是否显示网格线 plt.legend(loc='lower right') plt.grid(True) plt.show()

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册