函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 def test(x): ''' 函数功能:计算 2*x+1 正规军写函数前都会写注释,说明这个函数要实现的功能 :param x:整形数字 :return: 返回计算结果 ''' y=2*x+1 return y #函数的调用,需要传入参数…
写在前面 在it行业混了差不多十年了,懊悔自己开始写博客的时间太晚.有那么一天就开始写了,也不知道自己会不会坚持写下去.不知不觉日子过到了今天,回头看看,也算是坚持写了.现在写博客的感觉好奇怪,一天天的过去了,看着自己的博客数量一点点的变多,积分一点点的变多,排名一点点的靠前,好奇怪,竟然有种小开心的感觉.虽然知道这些博客数量,积分排名没啥用,也不能换钱,但每次打开博客开始写的时候,我都会瞄两眼自己这几个数字,每增多一点,我便更欢喜一点. 1.例子 写了很多仅仅用作数据结构的类,不想写太多烦人的…
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现了二维数组的初始化功能,根据给定的宽高初始化二维数组. 本篇阅读的代码片段来自于30-seconds-of-python. initialize_2d_list def initialize_2d_list(w,h, val = None): return [[val for x in range(w)] for y in range(h)] # EXAMPLES initialize_2d_list…
本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础的数据结构开始:元组.列表.字典和集合.然后会讨论创建你自己的.可重复使用的Python函数.最后,会学习Python的文件对象,以及如何与本地硬盘交互. 3.1 数据结构和序列 Python的数据结构简单而强大.通晓它们才能成为熟练的Python程序员. 元组 元组是一个固定长度,不可改变的Pyt…
数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. 因此,这一章的目的就是讨论这些比较常见的问题和算法. 另外,我们也会给出在集合模块 collections 当中操作这些数据结构的方法. 1.1 解压序列赋值给多个变量 问题 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 解决方案 任何的序列(或者是可迭代对象)…
1.查找最大或最小的N个元素 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, nums)) # Prints [42, 37, 23] print(heapq.nsmallest(3, nums)) # Prints [-4, 1, 2] # 可以接受关键字参数,用于更复杂的数据结构 portfolio = [ {'name': 'IBM', 'shares': 100, 'p…
collections简介 python提供了4种基本的数据结构:list.tuple.dict.set.基本数据结构完全可以hold住所有的场景,但是在处理数据结构复杂的场景时,这4种数据结构有时会显的单一,比如将相同字母组成的字符串归类到列表中,是一个key为字符串,value为列表的数据结构,复杂度为O(1)的情况下完成LRU(力扣原题). 这个时候今天的主角collections包就可以登场了.collections是基本数据结构的高性能优化版,它提供了多个有用的集合类,熟练掌握这些集合…
内建常用数据类型 分类 数值型 int.float.complex.bool 序列sequence 字符串str.字节序列bytes.bytearray 列表list.元组tuple 键值对 集合set.字典dict 数值型 int.float.complex.bool都是class,1.5.0.2+3j都是对象即实例 int:python3的int就是长整型,且没有大小限制,受限于内存区域的大小 float:由整数部分和小数部分组成.支持十进制和科学计数法表示.C的双精度型实现 complex…
命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数.至于到底传入了哪些,就需要在函数内部通过kw检查. 仍以person()函数为例,我们希望检查是否有city和job参数: def person(name, age, **kw): if 'city' in kw: # 有city参数 pass if 'job' in kw: # 有job参数 pass print('name:', name, 'age:', age, 'other:', kw) 但是调用者仍可以传入…
Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编号.Python中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode字符串.buffer对象和xrange对象.下面重点介绍下列表.元组和字符串. 1.列表 列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. (1).创…
函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: function.__doc__ 注意:不加小括号 3.例: 你可能会想,假如我不传入参数能直接打印函数文档吗? 测试一下就知道: 结果是可以的 接着想,前面说不能带小括号,我确认一下是不是真的不能带小括号呢: 果然是不行的,接着看: 有没有什么发现?总结一下: 函数的.__doc__属性里,因为函数加括号…
1.python中默认缺省参数----定义默认参数要牢记一点:默认参数必须指向不变对象! 1 def foo(a,b=1): 2 print a,b 3 4 foo(2) #2 1 5 foo(3,100) #2 100 定义有默认参数的函数时,默认值参数位置必须都在非默认值参数后面. 调用时提供默认值参数值时,使用提供的值,否则使用默认值. 2.Python可以根据参数名传参数 1 def foo(ip,port): 2 print "%s:%d" % (ip,port) 3 4 f…
Python基本数据结构 数据结构:通俗点儿说,就是存储数据的容器.这里主要介绍Python的4种基本数据结构:列表.元组.字典.集合: 格式如下: 列表:list = [val1, val2, val3, val4],用中括号: 元组:tuple = (val1, val2, val3, val4),用小括号: 字典:dict = {key1: val1, key2: val2, key3: val3},用大括号: 集合:set = {val1, val2, val3, val4},用大括号:…
在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如下: def getsum(num) : sum = 0 for n in num : sum = sum + n * n return sum 但是调用的时候必须定义一个元组或者列表.比如getsum([1,2,3]) 如果利用可变参数调用函数的方式可以变成这样的话就方便的多比如getsum(1,…
http://www.cnblogs.com/jeffwongishandsome/archive/2012/08/05/2623660.html Python常见数据结构整理 Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) 序列中的每个元素都有自己的编号.Python中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode字符串.buffer对象和…
修饰器 之前我一直有一个疑惑,就是修饰器里面对函数的操作为什么不能直接写进函数里面就好了吗?何必这么麻烦呢,当我进一步理解之后,原来修饰器的作用就是完成那些不能写进函数里面的功能的,好比必须要等到函数完成后的一些操作一样,(那么函数完成之前的工作怎么办呢?) 之前的学习笔记:https://www.cnblogs.com/Gaoqiking/p/10470407.html map/reduce 能够将函数的参数一下传进去,他能按顺序每次调用几个去自动执行完所有的 参考链接:https://www…
转自:https://www.liaoxuefeng.com/wiki/897692888725344/897693568201440 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这…
如果需要限制关键字参数的输入名字,就需要使用到命名关键字参数的形式,所谓命名关键字参数就是给关键字参数限定指定的名字,输入其他名字不能识别.命名关键字参数和位置参数之间使用独立的星号(*)分隔,星号后面为命名关键字参数,星号本身不是参数.凡是命名关键字参数,在调用时必须带参数名字进行调用,否则会报错. 命名关键字参数与关键字参数的区别有2点: 1.命名关键字参数是固定参数,不支持可变参数: 2.命名关键字参数在位置参数之后,二者之间用星号隔开. 可参考<Python中sorted(iterabl…
Python3.8 新增了一种语法,可以使用斜杠 / 占据一个参数的位置,表示在此之前的参数都只接受位置参数的传参形式. 例如,对以下函数声明: def func(a, b, /, c, d, *, e, f): pass 那么参数 a 和 b 都只能以位置参数的形式传入,参数 e 和 f 都只能以关键字参数的形式传入,而 c 和 d 则不受限制,可以按任意形式传入参数.因此,调用该函数时,前两个参数必定代表 a 和 b ,并且必定存在 e=... 和 f=... 的关键字参数. 如果查阅 Py…
关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看示例: def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw) 函数person除了必选参数name和age外,还接受关键字参数kw.在调用该函数时,可以只传入必选参数: >>> person(…
不支持关键字“metadata”问题的解决方法 原来的语句: metadata=res://*/Models.CallCenterEntities2.0.csdl|res://*/Models.CallCenterEntities2.0.ssdl|res://*/Models.CallCenterEntities2.0.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.1.55;i…
在上面的文章中,我写了python中的一些特性,主要是简单为主,主要是因为一些其他复杂的东西可以通过简单的知识演变而来,比如装饰器还可以带参数,可以使用装饰类,在类中不同的方法中调用,不想写的太复杂,接下来,我打算写一下python 与数据结构,以下是提纲: 一.python数据结构之单链表的实现 二.python数据结构之双链表的实现 三.python数据结构之栈.队列的实现 四.python数据结构之二叉树的实现 五.python数据结构之二叉树遍历的实现 六.python数据结构之图的实现…
自从工作后就没什么时间更新博客了,最近抽空学了点Python,觉得Python真的是很强大呀.想来在大学中没有学好数据结构和算法,自己的意志力一直不够坚定,这次想好好看一本书,认真把基本的数据结构和算法补一补. Python讲数据结构和算法的书,我想说的是真的太少了!!广泛搜索,中文的图书基本上没有,倒是找到两本外文的: Problem Solving with Algorithms and Data Structures (用Python讲解数据结构与算法) Python Algorithms…
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看示例: #!/usr/bin/env python # -*- coding: utf-8 -*- # 关键字参数:**kw def person(name,age,**kw): print('name:',name,'age:',age,'other:',kw) person(') person(',city='Shanghai') person(',gender='M',job='Engine…
def fun(arg,args=1,*arg,**keywords): python 一共有这四类参数,第一类最常见,不用多说,第二类,关键字参数,python能通过关键字找到参数,python函数的这种特性使得函数参数更加灵活,不一定要按顺序来传,第三类:一个星号是将非关键字参数收集起来,以tuple的形式保存,第四类则必须要提供”传递参数名=传递参数值”形式传递参数. 至于怎么传,相信大家都知道,这里不多说. 要说明的是在python2中这四类参数传递时是有优先顺序的,不管是定义函数,还是…
原文地址:http://docs.pythontab.com/python/python3.4/controlflow.html#tut-functions 函数可以通过 关键字参数 的形式来调用,形如 keyword = value .例如,以下的函数: def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'): print("-- This parrot wouldn't", action,…
运行程序提示:不支持关键字: “userid”. 找了很久在一篇博客里面提示web.config数据库字符串链接出错.…
Python -- 堆数据结构 heapq - I love this game! - 博客频道 - CSDN.NET Python -- 堆数据结构 heapq 分类: Python 2012-09-17 14:56 458人阅读 评论(0) 收藏 举报 python数据结构arraysalgorithmlistencoding import heapq help(heapq) heapq 是一个最小堆,堆顶元素 a[0] 永远是最小的. 和 Java 中的优先队列类似. ----------…
python模块:网络协议和支持 webbrowser 调用浏览器显示html文件 webbrowser.open('map.html') [webbrowser - Convenient Web-browser controller] 皮皮blog uuid/hmac/hashlib生成唯一ID 在有些情况下你需要生成一个唯一的字符串.我看到很多人使用md5()函数来达到此目的,但它确实不是以此为目的. uuid是基于Python实现的UUID库,它实现了UUID标注的1,3,4和5版本,在确…