if语法:基于python3语法 if a<b: 冒号结尾 print("yes") 注意语句的缩进需要一致,不然会报语法错误. elif a==b: print("a=b") else: print("no") 注释符: # 代表单行注释 '''' '''' 代表多行注释 """""" """""" 也代表多行注释 标准…
python的函数中,有时会有类似*args,**keys这样的参数,代表的是可变参数,一个*表示元祖,两个*表示字典,就是说这个函数可以接受任何类型的参数,都不会报错,有些函数为了提高可用性,会加这样的参数描述,防止调用者传入不同类型的参数而报错 #encoding=utf-8def fun(a,b=100,*args,**keys):    print "args type=%s"%type(args)    print "args=%s"%str(args) …
一 LIST方法 列表操作包含以下函数:1.cmp(list1, list2):比较两个列表的元素 2.len(list):列表元素个数 3.max(list):返回列表元素最大值 4.min(list):返回列表元素最小值 5.list(seq):将元组转换为列表 列表操作包含以下方法:1.list.append(obj):在列表末尾添加新的对象2.list.count(obj):统计某个元素在列表中出现的次数3.list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新…
1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" >>> print(s[0])                        #坐标是从0开始算 0 >>> print(s[9]) 9 >>> s=[0,1,2,3,4,5] >>> print(s[2])             …
#!/usr/bin/env python # -*- coding: utf-8 -*- def fact(n): if n == 1 : return 1 return n * fact(n-1) print(fact(100))…
def consumer(): while True: x = yield print('处理了数据:',x) def producer(): pass c = consumer() #构建一个生成器 next(c) #一开始先next, 走到x=yield c.send(1) print(c) >>> *** 1 <generator object consumer at 0x01EB5150>…
最近在做一个图像分类的比赛,作为初次接触深度学习的菜鸟,上手了keras.说实话,除了keras教程,中文博客的技术支持太差了.正在头大的学习中...废话不多说,记录一下学习中的一些小细节.在遇到generator.flow_from_directory('data/train'...)这个函数时,需要输入训练图片的路径.此时训练图像和验证图像都在一个目录下,所以我需要重建两个文件来分别放训练图像和验证图像.开始,我想,利用opencv将每张图片读出来,然后再根据是否为训练图像或者验证图像分别重…
一.通用序列操作: 列表中所有序列都可以进行特定的操作,包括索引(indexing).分片(slicing).序列相加(adding).乘法,成员资格,长度,最小值,最大值,下面会一一介绍这些操作法. 1.索引:序列是python中最基本的数据结构,序列中所有的序列都是有编号的,从0开始递推,可通过编号对序列的元素进行访问,并且支持正负索引. >>>string='hello' #自定义变量并赋值 ] #根据编号取元素>>>print string[-1] 最后输出是下…
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类   Python中函数参数定义及调用函数时传参大体可分必备参数.关键字参数.默认可省略参数.不定长元组参数.不定长关键字参数等,下面通过函数定义及调用上的不同情况深入解析这些中参数的不同及应用场景.   为了更好的理解不同参数的具体意义,所以下面演示代码中,使用的参数数量较多.具体是一个调用MySQL数据库配置参数的函数所需要的参数,我们用这个…
可变数据类型:列表.字典 不可变数据类型:整型.浮点型.字符串.元组 为什么可变数据类型不能作为python函数的参数?请看以下例子: def foo(a=[]): a.append(1) return a print(foo()) print(foo()) print(foo()) 结果: [1] [1, 1] [1, 1, 1] 我们继续打印下每次函数的返回值的内存地址: print(id(foo())) print(id(foo())) print(id(foo())) 结果: 14034…
按"指针"传递 python中变量赋值.参数传递都是通过"指针"拷贝的方式进行的.除了按"指针"拷贝,还有一种按值拷贝的方式,关于按值.按指针拷贝的细节,参见按值传递 vs. 按指针传递. 所以在python中,变量赋值.参数传递,都只是拷贝了源数据的一个地址,而不会拷贝内存中完整的数据对象副本.所以,如果在函数内部修改变量指向的数据对象,会影响函数外部的数据. 例如: def f(x): print(x+3) a=4 f(a) 在将a赋值给本地…
python自定义函数中有两中不定长参数,第一种是*name,第二种是**name.加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数.加了两个星号 ** 的参数会以字典的形式导入. 第一种形式的不定长参数,在传入额外的参数时可以不用指明参数名,直接传入参数值即可,第二种因为返回的是字典,所以传入时需要指定参数名. 下面是两个简单的栗子: ‘ *name ’形式: def funA(a, b, *args): print(a) print(b) print(args)…
函数1 (1)定义: def 函数名(参数列表) 函数体 (2)参数传递: 在python中,一切都是对象,类型也属于对象,变量是没有类型的. a = [1,2,3] a = "helloworld" 以上代码中,[1,2,3]是list类型,"helloworld"是string类型,而变量a是没有类型的,它仅仅是一个对象的引用(一个指针),可以是指向list类型对象,也可以指向string类型对象. 可更改(mutable)和不可更改(immutable)对象:…
为什么使用函数? 答:函数的返回值可以确切知道整个函数执行的结果   函数的定义:1.数学意义的函数:两个变量:自变量x和因变量y,二者的关系                      2.Python中函数的定义:函数是逻辑结构化过程化得编程方法 定义面向过程:过程 def ( 在Python中,过程是没有返回值的函数) #定义函数 def func1(): """testing""" print('in the func1') return…
# 函数:1.减少重复代码:# 2.使程序变的可扩展# 3.使程序变的易维护# 永远只能且返回一个值#def 定义内容# a,b = 5,8# c = a** b# print(c)## def calc (x,y):# res = x**y# return res #返回函数执行结果# c = calc(x,y) # def sayhi():# print("hello")# print("my name is xiaoxiao")# print(sayhi)#…
主要内容:     1.函数初识     2.函数传参方式        (1)位置参数        (2)默认参数        (3)关键参数        (4)非固定传参 一.函数初识 1.定义: 将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 2.好处: 代码重用:保持一致性:可扩展性. 3.示例如下: # -*-coding:utf-8-*- def sayHello(): print('Hello world!') sayHello()…
1.函数 1.1 定义函数 ·函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). ·任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ·函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明. ·函数内容以冒号起始,并且缩进. ·return [表达式] 结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返回 None. 1.2 函数参数 [python 传参 传递的是一个引用] ·普通参数 def userinfo(name,use…
小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def func(*args, **kwargs): 在形参上用*,** 表示聚合. 实参表示打散 顺序: 位置 *args 默认值 **kwargs # def chi(*food): # * 表示的是不定参数. 可以传递任意个信息 参数名是food, 接受到的是元组 # print("我要吃", f…
先来实践一把: def f1(*args): print(args) f1(1,2,3,4) 得出:(1, 2, 3, 4) ----- 是一个元祖 Part 1: *args可以传递任意多的数,args返回的是一个元祖,可迭代 如果要传入一个列表或元祖,变成多个参数传递,比方说我输入[1,2,3,4],传入到f1变成f1(1,2,3,4)四个参数 def f1(*args): print(args) f1([1,2,3,4]) 得出:([1,2,3,4],), 如果我这么做传入的只是一个参数,…
date:2018421 day3 一.函数定义 def  函数名(首字母大写) 增加程序可读性 #直接写函数名即可调用函数 #参数 ①.形参 ②.实参 ③.缺省参数 如果有默认值,调用的时候没有传递参数,就会使用默认值:如果传递了参数,就使用新的数据 #函数定义了几个参数,调用的时候就要传递几个参数:函数的参数传递是有顺序的(如果按照赋值表达式来传递,就不需要按照顺序,如[ Fun(a=1,b=2)/ Fun(b=2,a=1)]) #函数必须要return,而不是print #一个函数可能有多…
1.    定义函数 def   函数名(形参): 函数体 return  xxx--------其下面的内容不再执行 --------------------------------------------------------------------------------------------------------------- 2.执行函数 函数名(实参) ---------------------------------------------------------------…
1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 names='zhangyang guyun xiangpeng xuliangwei' names = ['zhang', 'zhuang', 'chen', 'qiang'] name_list = [['zhang', 'zhuang'], ['chen', 'qiang']] list_num = [1, 4, 5, 2, 3, 4, 52, 54] print(len(names))…
『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所有序列元素(元素1,元素2, ......), 列表使用中括号[元素1,元素2, .......]. 元组被称为只读列表,数据可被查询,但不能被修改. 对于一些不想被修改的数据,可以用元组来保存 元组中的元素是不允许删除的,但可以使用del语句来删除整个元组 元组没有列表中的增.删.改的操作,只有查…
""" 列表:可变数据类型,对列表内部的元素可以进行修改 元祖: tuple,不可变数据类型,是不可以进行增删查改 元祖的方法: count 查找元素的数量 index 从前往后依次查询元素的下标位置 字符串.列表.元祖总结: 序列类型:字符串.列表.元祖内部元素是有序的 通用操作: 下标取值 切片 获取元素的总数:len() 字典 字典中的数据,每条都是由键值对组成(key:value) key:只能是不可变类型的数据(尽量用字符串) value:可以是任意类型的数据 字典…
元祖tuple(,) 元祖就是不可变的列表 元祖用()表示,元素与元素之间用逗号隔开,数据类型没有限制 tu = ('科比','詹姆斯','乔丹') tu = tuple('123') 小括号中 有一个元素,有逗号就是元祖,没有就是它本身 空的小括号就是元祖 索引和切片与列表和字符串相同 不可变指的是,第一层元素不可变 元祖:() 只读列表,可循环查询,可切片 儿子不能变孙子可能会变 for i in range() 排序 正向排序sort() 反向排序sort(reverse=True) 索引…
初学Python的同学们看到代码中类似func(*args, **kwargs)这样的函数参数定义时,经常感到一头雾水. 下面通过一个简单的例子来详细解释下Python函数可变参数*args及**kwargs,先给出标准答案: 1. *args是arguments单词缩写,表示任意多个无名参数,是一个tuple,如 (1,2,3,'a','b','c') 2. **kwargs是keyword arguments单词缩写,表示关键字参数,是一个dict,如{'a':1,'b':2,'c':3}…
写python的都知道,python函数或者方法可以使用默认参数,比如 1 def foo(arg=None): 2 print(arg) 3 4 foo() 5 6 foo("hello world") 一个很简单的函数,参数arg默认使用None,当调用foo函数时,可以传入一个参数,也可以不传入参数,运行结果如下 1 None 2 hello world 这很好理解.默认参数是python一个很好的特性. 但是如果使用可变对象作为默认参数,就会引发问题.之前写过一个脚本,bug不…
在python函数中,可以定义可变参数,顾名思义,可变参数就是,传入的参数是可变的例如,给定一组数字a,b,c...  请计算a2 + b2 + c2 + …… 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把a,b,c....作为一个list或者tuple传进来,这样,函数可以定义如下: def calc(numbers): sum=0 for n in numbers: sum=sum+n*n return sum 调用的时候先组装出一个list或者tuple…
可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下: def calc(numbers): sum = 0 for n in numbers: sum = sum +…
在Python函数中,还可以定义可变参数. 如:给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下: def calc(numbers): sum = 0 for n in numbers: sum = sum + n * n return sum 但是调用的时候,需要先组装出一个list或tuple: >>> ca…