Python参数

1. 普通参数

  • 必须要传入和定义时个数相同的参数
 def miao(acfun, bilibili):
print(acfun, bilibili) miao(11, 22) >>>11 22

2. 带有默认参数

  • 参数赋有默认值,使用时可以不传默认值,但好像默认值必须是最后一个参数?
 def miao(acfun, bilibili = 000):
print(acfun, bilibili) miao(11) >>>11 000

1. * 带参数

  • 表示可以传无限的参数,传入的参数会自动拼接,当不传参数时会拼成空元祖(tuble)

栗子:

不穿参数 ---> ()

传一个参数11 ---> (11,) ---> 逗号用于区别元祖跟普通的常量

传两个参数11,22 ---> (11,22)

※tuble( )与list[ ]的区别

  • tuble一旦定义了就不能修改, list可以在后续的操作中进行数据的修改
 def miao(*acfun):
print(acfun) miao(11, 22 ,33 ,44) >>>(11, 22, 33, 44)

2. ** 带参数

  • 表示可以传无限的参数,传入的参数会自动拼接成map(python中称为字典)

栗子:

不穿参数 ---> {}

传一个参数a = 11 ---> {'a':11}

传两个参数a = 11, b = 22 ---> {'a': 11, 'b': 22}

 def miao(**acfun):
print(acfun) miao(acfun = 11, bilibili = 22 ,cilicili = '' ,dilidili = '') >>>{'acfun': 11, 'bilibili': 22, 'cilicili': '', 'dilidili': ''}

3. *, 带参数——具名参数

  • 后面所有的参数的参数名都会被限定,必须长得一模一样呢

下面的bilibili和cilicili就是具名参数

 def miao(acfun, *, bilibili, cilicili):
print(acfun)
print(bilibili)
print(cilicili) miao(111,bilibili=222,cilicili=333) >>>111
>>>222
>>>333

※第一个参数前面有1个*时,后面的所有参数都是具名参数

下面栗子中的bilibili和cilicili也都是具名参数,如果给他们乱改名字,他们是会生气变红的

 def miao(*acfun, bilibili, cilicili):
print(acfun)
print(bilibili)
print(cilicili) miao(111,bilibili=222,cilicili=333) >>>111
>>>222
>>>333

4. self参数

  • 在类中的方法会有该参数,相当于java类方法中的this~
 class miaomiao(object):
def __init__(self):
self.param1 =123
def __str__(self):
print("I love acfun"); MM = miaomiao()
print(MM.param1)
print(MM) >>>I love acfun

Python参数笔记的更多相关文章

  1. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  2. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  3. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  4. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  5. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  6. Python学习笔记(九)

    Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...

  7. Python学习笔记(七)

    Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[ ...

  8. Python学习笔记(八)

    Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...

  9. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

随机推荐

  1. Shiro 与spring 整合的及简单使用(转)

    文章完全转载自: http://www.cnblogs.com/learnhow/p/5694876.html  ,大家可以点击访问原文链接,个人仅作学习收藏 ! 本篇内容大多总结自张开涛的<跟 ...

  2. linux命令 xxd

    xxd,能够查看linux下文件的二进制表示.man一下xxd.能够得到下面信息 NAME       xxd - make a hexdump or do the reverse. SYNOPSIS ...

  3. Redis(四)-持久化

    1.Redis将所有数据存储在内存中,从内存同步到磁盘上,就做持久化过程. 2.持久化有两种方式:rdb(Redis Database)和aof(Append of file) # rdb持久化方法: ...

  4. (8)socketserver并发

    (1)client客户端: import socket sk = socket.socket() sk.connect( ("127.0.0.1",9000)) while Tru ...

  5. 在docker中运行mariadb程序

    安装docker 获取mariadb镜像 docker pull mariadb 首先在https://hub.docker.com查找mariadb官方镜像,相关参数设置https://hub.do ...

  6. 服务定位器(Service Locator)

    服务定位器(Service Locator) 跟DI容器类似,引入Service Locator目的也在于解耦.有许多成熟的设计模式也可用于解耦,但在Web应用上, Service Locator绝对 ...

  7. 【nowcoder】 4th T1 动态点分治

    题目链接:https://www.nowcoder.com/acm/contest/175/A 题目名字吓死人 std: 我 太可啪了 一道简单的模拟题.虽然我把题意想错了. 按照题意模拟输出和继承. ...

  8. Django中 media资源配置

    # 用户上传的文件可以在外网通过接口直接访问 配置媒体跟路由: settings.py 用来存放用户上传的静态文件,可以对外公开的文件!!! MEDIA_ROOT = os.path.join(BAS ...

  9. 数据库的数据进行改动,Cognos报表展示未及时更新

    1. 问题描述 手工修改了DB中的测试数据,但是返回报表看,数据还没有更新 2. 问题分析 这是因为Cognos为了查询效率设计了高速缓存的选项 3. 解决方案 方法1:在数据包端禁用高速缓存,那么所 ...

  10. tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决

    现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...