python函数手册 stata_python函数参数与文档_weixin_39794385的博客-程序员宅基地

技术标签: python函数手册 stata  

函数参数

1.位置参数

定义形式:

deffunc(p1, p2, ...):pass

实例:

#位置参数,调用时传入的实参必须与形参一一对应(包括个数与位置)

defintroduce(name, age):print("I am {0}, and I am {1} years old.".format(name, age))

introduce("zhangsan", 18)

运行结果:

I am zhangsan, and I am 18 years old.

2.关键字参数

定义形式与位置参数相同

实例:

#正确的调用方式

introduce(name="lisi", age=20)

introduce(age=20, name="lisi")

introduce("lisi", age=20)

运行结果:

I am lisi, and I am 20 years old.

I am lisi, and I am 20 years old.

I am lisi, and I am 20 years old.

ps. 函数定义形式都是一样的,只是在调用的时候传入实参的时候形式不同:

1)若实参的个数与位置和形参都一样,则可以不必声明对应的形参名称。

2)若传参时顺序不同或想给后面的默认参数传参,则必须声明实参传给了哪个形参。

3.默认参数

定义形式:

默认参数必须位于普通参数的后面

def func(p1, p2=v2, p3=v3, ...):

func body

实例:

def introduce2(name, age, sex="boy", address="shanghai"):print("I am {0}, a {2}, and I am {1} years old, living in {3}".format(name, age, sex, address))

introduce2("zhangsan", 18)

introduce2("zhangsan", 18, "girl")

introduce2("zhangsan", 18, address="beijing")

introduce2(sex="girl", name="zhangsan", age=18)

运行结果:

I am zhangsan, a boy, and I am 18 years old, living in shanghai

I am zhangsan, a girl, and I am 18 years old, living in shanghai

I am zhangsan, a boy, and I am 18 years old, living in beijing

I am zhangsan, a girl, and I am 18 years old, living in shanghai

4.收集参数

当你不知道会有多少个参数传入进来的时候,可以使用收集参数将他们全部传入进来,也可以不传参。

1)普通收集参数

定义形式:

def func(*args):

func body

实例:

def introduce3(*args):print(type(args))print('Hello everyone, I am going to tell you something about myself')for i inargs:print(i)print('位置收集参数'.center(50,"#"))

introduce3()print('*'*30)

introduce3("zhangsan", 18)print('*'*30)

introduce3("zhangsan", 18, "boy")

运行结果:

######################位置收集参数######################

Hello everyone, I am going to tell you something about myself

******************************

Hello everyone, I am going to tell you something about myself

zhangsan

18

******************************

Hello everyone, I am going to tell you something about myself

zhangsan

18

boy

2)关键字收集参数

定义形式:

def func(**kwargs):

func body

实例:

print('关键字收集参数'.center(50,"#"))def introduce4(**kwargs):print(type(kwargs))for k,v inkwargs.items():print(k,'-----',v)

introduce4()print('*'*30)

introduce4(name="lisi", age=18, sex="man", hobby="music")

运行结果:

#####################关键字收集参数######################

******************************

name ----- lisi

age ----- 18

sex ----- man

hobby ----- music

5.解包参数

当你的普通参数位于一个列表中,或者关键字参数位于一个字典中,直接传入列表或字典只能代表一个参数,可以使用解包参数将它们的每一个元素传给不同的参数。

1)列表解包参数

定义形式:

调用函数时:func(*list)

实例:

print('列表解包参数'.center(50,"#"))

zhangsan= ["zhangsan", 18, "boy"]

introduce2(*zhangsan)print('*'*50)

introduce3(*zhangsan)

运行结果:

######################列表解包参数######################

I am zhangsan, a boy, and I am 18 years old, living in shanghai

**************************************************

Hello everyone, I am going to tell you something about myself

zhangsan

18

boy

2)字典解包参数

定义形式:

调用函数时:func(**dict)

实例:

print('字典解包参数'.center(50,"#"))

lisi={'name':'zhangsan','age':18,'sex':'man','hobby':'reading'}

introduce4(**lisi)

运行结果:

######################字典解包参数######################

name ----- zhangsan

age ----- 18

sex ----- man

hobby ----- reading

6.参数的混合使用

定义与调用顺序:普通位置参数,普通收集参数,默认参数,关键字收集参数

实例:

def stu(name, age, *args, sex="boy", **kwargs):print('Hi guys, I am happy to tell you about myself, my name is {0}, a {2}, {1} years old'.format(name, sex, age))for i inargs:print(i)for k,v inkwargs.items():print(k,'----',v)

stu("zhangsan",18)print('*'*30)

stu("lisi", 20, "girl")print('*'*30)

stu("lilei", 18, 'shanghai', 'freshman', hobby="dancing", state="single")

运行结果:

Hi guys, I am happy to tell you about myself, my name is zhangsan, a 18, boy years old

******************************

Hi guys, I am happy to tell you about myself, my name is lisi, a 20, boy years old

girl

******************************

Hi guys, I am happy to tell you about myself, my name is lilei, a 18, boy years old

shanghai

freshman

hobby ---- dancing

state ---- single

函数文档

定义形式:

deffunc(p1, p2, ...):'''func document

parameters statament

return statament'''func body

实例:

def stu(name, age, *args, sex="boy", **kwargs):'''this is the func document, where you can get help message

:param name: your name

:param age: your age

:param args: other info

:param sex: your sex

:param kwargs: other info

:return: print the the screen return none'''

pass

print(stu.__doc__)print('*'*30)

help(stu)

运行结果:

this is the func document, where you can get help message

:param name: your name

:param age: your age

:param args: other info

:param sex: your sex

:param kwargs: other info

:return: print the the screen return none

******************************

Help on function stu in module __main__:

stu(name, age, *args, sex='boy', **kwargs)

this is the func document, where you can get help message

:param name: your name

:param age: your age

:param args: other info

:param sex: your sex

:param kwargs: other info

:return: print the the screen return none

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39794385/article/details/110176911

智能推荐

python-opencv-SVM (-215:Assertion failed) !_descriptors.empty() in function ‘cv::BOWTrainer::add‘_生长的菠萝的博客-程序员宅基地

今天对python使用svm过程中出现的问题进行一下记录先将代码插入进来import cv2import numpy as npfrom os.path import joindatapath = r"D:/BaiduNetdiskDownload/opencv/CarData/TrainImages"def path(cls,i): return "%s/%s%d.pgm" % (datapath,cls,i+1)pos, neg = "pos-","neg-"detect

若依框架刷新页面出现 正在加载系统资源,请耐心等待_苏格拉的底的博客-程序员宅基地

若依框架vue页面刷新页面出现 正在加载系统资源,请耐心等待这个在public/index.html注释就没了

ubuntu14 mysql数据库_Mysql数据库迁移 Ubuntu14.04_舜祎魂的博客-程序员宅基地

1. 停止数据库服务sudo service mysql stop2. 创建数据迁移目标文件夹(实际应该是挂载到新硬盘上)cd /var/libls -ldrwx------ 6 mysql mysql 4096 1月 9 09:26 mysql/ #文件夹权限700, 只有mysql用户能访问sudo mkdir /mysqldata #创建目录sudo ...

RealSense D435i下运行开源双目SLAM_d435是双目吗_TYINY的博客-程序员宅基地

转载自:https://blog.csdn.net/qq_39266065/article/details/108275010RealSense D435i下运行开源双目SLAM秃头队长 2020-08-28 15:24:23 604 收藏 6 分类专栏: SLAM版权一丶ORB SLAM2参考README文件Add the path including Examples/ROS/ORB_SLAM2 to the ROS_PACKAGE_PATH environment var

基于SSH三大框架的员工管理系统——总结_基于ssh的管理系统心得_magi617的博客-程序员宅基地

基于SSH三大框架的员工管理系统,系统角色包括普通用户和管理员两种,首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。

随便推点

Xcode 8.0以上(我用的8.1)无法注释的问题_xcode8 注释失效_shengdaVolleyball的博客-程序员宅基地

本次Xcode更新,其实苹果自己添加了类似于VVDocument 标注的功能,并且快捷键是Command + / .注意之前Command + /是注释一行代码的,不是写标注的,所以是快捷键的问题,我们可以在Command + ‘,’ 来修改快捷键: 绿色部分的就是注释和标注的快捷键了,红色标出来的是标注的快捷键也就是类似于VVDocument 的功能,而代码的真正注释被修改为了第二个快捷键,

2020/06/08 mysql主主+nginx反代mysql_mysql能否使用nginx反代_48N6E的博客-程序员宅基地

1、环境描述及注意事项角色ip主nginx,mysql-master110.211.7.11备nginx,mysql-master210.211.7.12注意事项:确保selinux和firewalld,处于disable和关闭状态。此部署搭建需要在没有安装mysql,nginx的机器上搭建,不然可能导致安装不成功。安装mysql由于节省时间,部分操作指定两台机器可以同步执行2.检测系统是否自带mysql,两台机器可以同步操作[[email protected]

立创商城这有个自动给你分析BOM单的_立创商城bom配单器件数量_TYINY的博客-程序员宅基地

立创这有个自动给你分析BOM单的,感觉非常不错,我PCB工程自动导出的BOM清单它大部分都给你匹配到具体元件了,少数几个没识别到的就是接口,我自己再处理一下,可以大大减少我的工作量。https://bom.szlcsc.com/bom.html?from=dh...

一文搞懂企业级数据仓库实战_圆觉_的博客-程序员宅基地

数据仓库总结项目上线了,结合数据仓库实战视频,复盘总结下。历史的浪潮1、数仓痛点感受到疼痛的点烟囱式开发形成的数据孤岛和重复计算:–建模规范和开发规范各业务系统都存在汇率、证券信息等公开市场信息的重复计算,重复做;客户信息表是全量,更新很少,但需要某个历史时刻的客户状态,重复做;指标口径不一致导致数据可信度下降 : --指标字典同样的股基交易量,要和...

决策树以及XGBoost 树分裂图的多种可视化工具盘点_xgboost可视化_悟乙己的博客-程序员宅基地

之前有专门研究过,在各自的文中,这里进行罗列:文章目录1 pydotplus安装2 XGBoost画出分裂图3 决策树画出分裂图1 pydotplus安装文档:PyDotPlus Homepage如果要画出决策树图,一般需要该库,需要先下载:http://www.graphviz.org/download/然后记住下载的路径,pip install pydotplus就可以按下面使用了:import osos.environ["PATH"] += os.pathsep + 'C:\

VTK 中画直线的方法汇总(一) C++ code_vtk画线_CSUMIKE的博客-程序员宅基地

     VTK 中经常涉及到如何去画一条直线,有的时候是为了将医疗数据在可视化的基础上,比如在神经外科上,有时候关于穿刺针进入病人脑部时,需要医生给出进入的路径及方向,这时候就在可视化软件上,可通过直线的方向及长短来更形象的展示医生在医疗软件上的初步规划。另一方面,有时候需要在软件上部署一些小工具,通过工具在软件界面上来测量长度,或角度。(后面将讨论一下vtkDistanceWidget)。...

推荐文章

热门文章

相关标签