python3 关键字和可变参数笔记
"""普及一下字典的知识"""
# dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# print(dict.keys())#以列表返回一个字典所有的键
# print(str(dict))#输出字典,以可打印的字符串表示。
# print(dict["Name"])#返回键对应的值
# print(dict.get("Name"))#返回键值
# print(sorted(dict.keys()))#重新排序,按照字母排序
def Foo(name,*other,**information):#一个*号,是一个可变参数,代表该参数是元组(tuple)或者列表(list)类型。两个**号表明该参数是一个的字典类型(dict)
print("name:"+name)
for a in other:
print("other"+a)
for b in information.keys():
print(b+":"+information[b])
Foo("lys","1","2","3",c="sex",d="Japan",e="10000")
从下面的输出可以看出,name="lys",other=[1,2,3],information=[c="sex",d="Japan",e="10000"]
关键字参数:用于函数调用,通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
可变参数:例如在定义一个函数时,不确定传入的参数是有那些参数组成的时候,那就可以用可变参数,这样达到一个可扩展性。
输出:
name:lys
other1
other2
other3
e:10000
c:sex
d:Japan
这里还有一个关于赋值的问题:
a="A"
b=["A","B","C"]
c={"y":"Y","z":"Z"} def kew(a,*b,**c):
print("A" + a)
for B in b:
print("B" + B)
for C in c.keys():
print("C" + C) kew(a,*b,**c)
python3 关键字和可变参数笔记的更多相关文章
- Python3 系列之 可变参数和关键字参数
刚开始接触 python 的时候,对 python 中的 *wargs (可变参数) 和 **kwargs (关键字参数)的理解不是很透彻,看了一下 <Explore Python>一书, ...
- Python3基础 函数 可变参数,将传进来的参数转成列表
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- python学习笔记 可变参数关键字参数**kw相关学习
在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如 ...
- JAVA笔记4__static关键字/对象数组/foreach/方法的可变参数
/** * static关键字:修饰属性(实质就是全局变量).方法(无需本类的对象即可调用此方法).类. * 1.static方法只能调用static方法 * 2.static方法只能访问static ...
- Python学习笔记7-把函数当参数传递、指定可变参数
把函数当参数传递 # 函数参数传递 # 面向对象编程就是把对象传来传去 # 面向函数编程就是把函数传来传去 def mytest(num): return num * 2 # # 不光可以传递变量,还 ...
- python的位置参数、默认参数、关键字参数、可变参数区别
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...
- python中可变参数和关键字参数总结
#_*_coding='utf-8' #可变参数 def person(name,age,*args): #定义了可变参数args print('传入的名字为:',name) print('传入的年龄 ...
- Python基础(六)_全局变量声明、可变参数、关键字参数
1. global声明全局变量 #声明name这个变量为全局变量,只是写在函数里面 #写代码时,尽量不要用全局变量,会一直占用内存. ------->{'name':'abc','s ...
- [Python学习笔记-004] 可变参数*args和**kwargs
在Python中,可变参数的传递使用*args和**kwargs来实现,其中: *args表示任意个位置参数(positional argument),被表示为一个只读的数组(tuple): **kw ...
随机推荐
- day18-事务与连接池 5.关于不考虑事务隔离性出现的问题
- Tensorflow练习
# coding: utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # ...
- javascript使用setTimeout、setInterval时找不到变量的问题
我们在某个作用域内或者在自己定义的一个类里调用setTimeout.setInterval会经常会遇到找不到某个变量的错误. 比如下面这个例子: window.onload = function(){ ...
- 数字图像处理实验(2):PROJECT 02-02, Reducing the Number of Gray Levels in an Image 标签: 图像处理MATLAB 2017-
实验要求: Reducing the Number of Gray Levels in an Image Objective To understand how the number of gray ...
- 196D The Next Good String
传送门 题目大意 给定n和一个字符串,求一个新字符串使得这个字符串不存在长度大于等于n的回文子串且在字典序大于原串的情况下最小. 分析 我们知道如果有一个长度为n+2的回文串,那它一定由一个长度为n的 ...
- Pig Latin程序设计1
Pig是一个大规模数据分析平台.Pig的基础结构层包括一个产生MapReduce程序的编译器.在编译器中,大规模并行执行依据存在.Pig的语言包括一个叫Pig Latin的文本语言,此语言有如下特性: ...
- SDUT 3341 数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知二叉 ...
- 《Head First Servlets & JSP》-10-定制标记开发
标记文件:很想include,但是比include更好 建立和使用标记文件的最简方法 取一个被包含文件(如Header.jsp),把它重命名为带有一个.tag扩展名(Header.tag): 把标记文 ...
- c#操作json 使用JavaScriptSerializer
需要引用:System.Web.Extensions /// <summary> /// json的信息.保证定义的变量和json的字段一样(也可以使用struct) /// </s ...
- Docker 的优势
下面我们主要从Docker对业务架构和生产实践的角度来分析. 随着业务规模的逐渐扩大,产品复杂度也随着增加,企业需要解决快速迭代.高可靠和高可用等问题,一个自然的选择是服务化的拆分,把一个单体架构拆分 ...