Python学习心得(三)函数之任意数量实参、任意数量关键字实参、导入模块中的函数

#!/usr/bin/python
# -*- coding:utf-8 -*-

‘‘‘
1.传递任意数量的实参
  Python允许函数传入任意数量的实参,例如:
  *messages形参名中的*表示让Python创建一个空的名称为messages的元组,接收传入的所有值

‘‘‘

def get_person_message(*messages):
    concat = ‘‘
    for message in messages:
        concat += ‘ ‘ + message
    print "\nShow Person‘s Message:" + concat
get_person_message(‘CSDN‘,‘http://blog.csdn.net/binguo168‘)
get_person_message(‘http://www.cnblogs.com/binguo2008/‘)
get_person_message(‘binguo‘,‘27‘,‘male‘)
get_person_message(‘binguo168‘,‘27‘,‘male‘,‘basketball‘,‘football‘)    

‘‘‘
2.使用位置实参和任意数量的实参
  如果函数需要接收不同类型的位置实参,需要将接收任意数量的实参放在最后。
‘‘‘

def set_computer_configure(cpu,memory,*others):
    concat = ‘‘
    for info in others:
        concat += ‘ ‘+ info
    print ‘cpu:‘+cpu+‘ ‘ + memory + ‘memory:‘ + ‘ ‘ +‘others:‘ +concat

set_computer_configure(‘Core i7‘,‘32g‘ ,‘monitor:LG 27UD68‘,‘Display Card:GeForce GTX 1060‘)

set_computer_configure(‘Intel Xeon E5-2679‘,‘128g‘ ,‘monitor:LG 27UD68‘)

‘‘‘
3.使用任意数量的关键字实参(接收任意数量的键值对)
  通过**arguname来实现接收任意数量的实参,其中两个**表示让Python创建一个空的字典,传入的所有键值对都放在这个字典中
‘‘‘       

def build_user_profile(username,**othersinfo):
    dict_profile = {}
    dict_profile[‘username‘] = username
    for userkey,uservalue in othersinfo.items():
        dict_profile[userkey] = uservalue
    return dict_profile
test_user_profile1 = build_user_profile(username = ‘binguo‘,age = 27,gender = ‘male‘)
print test_user_profile1
test_user_profile2 = build_user_profile(username = ‘binguo168‘,hobby = ‘basketball‘,blogs = ‘CSDN‘,blog_url = ‘http://blog.csdn.net/binguo168‘)
print test_user_profile2

‘‘‘
4.将函数存储在模块中
‘‘‘
#导入整个模块
import importModel
systemInfo = importModel.get_system_info(1)
print systemInfo

#导入指定的函数
from importModel import get_system_info,get_system_owner
get_system_info(1)
get_system_owner()       

#使用as对模块设定别名
import importModel as testModel
testModel.get_system_info(1)

#导入模块中所有的函数
from importModel import *
get_system_info(1)
get_system_owner()

  

时间: 2024-10-22 11:11:10

Python学习心得(三)函数之任意数量实参、任意数量关键字实参、导入模块中的函数的相关文章

python 学习笔记 三 字典

字典 Python的高效的key/value哈希表结构叫做"dict", dict的内容可以写成一系列的key:value对并放入{ }中, 相当于: dict = {key1:value1, key2:value2, ...}, 一个空的字典就是俩个大括号{ }. 下面是从一个空字典创建字典以及一些关键点: 数字, 字符串和元组可以作为字典的key, value可以是任何类型(包括字典). ## Can build up a dict by starting with the the

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

Python学习(三)数据结构

Python 数据结构 本章介绍 Python 主要的 built-type,包括如下: Numeric types          int float Text Sequence Type       str Boolean              bool Sequence  Types        list tuple range Mapping Types          dict Set Types             set type() 函数 type(object)

Python学习心得:类与对象

教材:<简明Python教程> Python面向对象: 如shell这种面向过程的程序都是通过"操作数据的函数"或者"语句块"来设计函数. python的程序(面向对象): 类是一个"class"类型,对象是类中的一个实例. 类的属性包括了:域和方法.(即变量和函数) 属于一个对象或类的变量被称为域,一个定义在类中的函数,叫做类的方法. 类使用关键字"class"来创建.域和方法放在同一个缩进块中. 1.域有两种:

Python学习第三天--数据类型

数据类型: int()  整型 float()浮点型 e记法   (有点像数学中的科学计数法) 知识点概括: 字符相加,结果为和 >>> 520 + 5201040 2.字符串相加,结果为"拼接" >>> '520'+'1314''5201314' 3.逻辑运算,python认为True=1,False=0,(True和False第一个字母必须为大写) >>> True + True 2 >>> True - Tr

Python学习(三):入门篇:Python中怎么编写类

Python中怎么编写类 Last Edit 2013/5/2 先看一个例子: #person.py class person: """class to representaion a person""" def __init__(self,name,age): self.name=name if 0<age<=150: self.age=age else: print 'age is no valid!' def display(s

Python学习(三) 八大排序算法的实现(下)

本文Python实现了插入排序.基数排序.希尔排序.冒泡排序.高速排序.直接选择排序.堆排序.归并排序的后面四种. 上篇:Python学习(三) 八大排序算法的实现(上) 1.高速排序 描写叙述 通过一趟排序将要排序的数据切割成独立的两部分,当中一部分的全部数据都比另外一部分的全部数据都要小,然后再按此方法对这两部分数据分别进行高速排序,整个排序过程能够递归进行,以此达到整个数据变成有序序列. 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全

python学习笔记三---segmaphore信号量学习

# *-* coding=gb2312 *-* ''' 信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问.信号量维护着一个计数器,指定可同时访问资源或者进入临界区的线程数. 每次有一个线程获得信号量时,计数器-1.若计数器为0,其他线程就停止访问信号量,直到另一个线程释放信号量. ''' import threading import random import time class MyThread(threading.Thread): availableTables=[

Python学习笔记三:模块

一:模块 一个模块就是一个py文件,里面定义了一些业务函数.引用模块,可以用import语句导入.导入模块后,通过 模块.函数名(参数)  来使用模块中的函数.如果存在多个同名模块,则前面模块名需要加上包路径. 如果我们只需导入模块中的几个函数,可以用 from 模块名 import 函数名,函数名,..的形式来导入,这样就可以在代码中使用函数名来调用函数,无需路径. 为了避免同名冲突,还可以在导入函数的同时设置别名,from 模块名 import 函数名 as 别名,然后在代码中就可以使用别名