首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python基础】06、Python函数

(匿名)函数:仅是一个表达式 方法:与特定数据类型关联的函数,并且只能与数据类型关联一起使用 函数和过程的联系:每个Python函数都有一个返回值,默认为None,也可以使用“return value...有默认值的参数 混用有默认值和无默认值的参数时,无默认值放前面,有默认值的放后面 In [23]: c=3 In [24]: def f2(x,y,z=10):print x,y,z In [25]...:` filter(func,seq)    过滤器 调用一个布尔函数func来迭代遍历每个seq中的元素,返回一个使func返回值为true的元素序列  filter()为已知的序列的每个元素调用给定的布尔函数...将函数func作用于给定序列(s)的每个元素,并用一个列表来提供返回值;如果func为None,func表现为一个身份函数,返回一个含有每个序列中元素集合的n个元祖的列表值的列表 In [45]: l1...而对于函数的local命名空间是在函数每次被调用的时候创建,调用完成函数返回时消亡,而对于模块的global命名空间是在该模块被import的时候创建,解析器退出时消亡。

2.6K10

计算布尔值统计信息2. 构建多个布尔条件3. 用布尔索引过滤4. 用标签索引代替布尔索引5. 用唯一和有序索引选取6. 观察股价7. 翻译SQ

recent call last) /Users/Ted/anaconda/lib/python3.6/site-packages/pandas/core/ops.py in na_op(x, y)...用唯一和有序索引选取 # 读取college数据集,使用STABBR作为行索引,检查行索引是否有序 In[27]: college = pd.read_csv('data/college.csv')...确定股票收益的正态值 # 加载亚马逊的股票数据,使用Data作为行索引 In[57]: amzn = pd.read_csv('data/amzn_stock.csv', index_col='Date...# 计算平均值和标准差 In[60]: mean = amzn_daily_return.mean() std = amzn_daily_return.std() # 计算每个数据的...z-score的绝对值:z-score是远离平均值的标准差值得个数 In[61]: abs_z_score = amzn_daily_return.sub(mean).abs().div(std) #

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python快速学习第四天

    y,z=1,2,3 >>> print x,y,z 1 2 3 >>>  交换变量 >>>x,y=y,x >>>print x,y,z 21 3 4、   链式赋值   >>>x=y=[1,2,3] >...,在python中用冒号(:)用来标识语句快的开始巨快中的每个语句都是缩进相同的 条件和条件语句 布尔变量 真值 下列值作为布尔表达式会被解释器看做假: False  None  0  “”  ()  ... to 1 y corresponds to 2 ------从输出可以看出,字典唯一对应的是键值,输出顺序随机,并无 固定顺序 d={'x':1,'y':2,'z':3} for key,values...三人行 pass,del,exec Pass---做占位符 del --------移除一个对象的引用和名字 >>> x=['hello','world'] >>> y=x >>> del x >>>... y ['hello', 'world'] >>>  ------x和y指向同一列表,删除x只是删名称,而不是值本 身,python是没办法删除值得,解释器会自动回收内存 使用exec和eval执行和求值字符串

    811100

    《Python基础教程》 读书笔记 第五章(上)条件语句

    y,z=1,2,3>>> print x,y,z1 2 3>>> x,y=y,x>>> print x,y,z2 1 3 序列解包(sequence unpacking)或可选代解包--将多个值的序列解开...所解包的序列中的元素数量必须和放置在赋值符号=左边的变量数量完全一致,否则Python会在赋值时引发异常: >>> x,y,z=1,2Traceback (most recent call last...这种写法叫做增量赋值(augmented assignment),对于*、/、%等标准运算符都适用. >>> x=2>>> x+=1>>> x*=2>>> x6 5.3语句块:缩排的乐趣 语句块是在条件为真...Python将一个tab字符解释为到下一个tab字符位置的移动,而一个tab字符位置为8个空格,但是标准且推荐的方式是只用空格,尤其是在每个缩进需要4个空格的时候。...因为is运算符是判定同一性而不是相等性的。变量x和y都被绑定到同一个列表上,而变量z被绑定在另外一个具有相同数值和顺序的列表上。它们的值可能相等,但是却不是同一个对象。

    62020

    Python快速学习第三天

    字典是Python语言中唯一的映射类型。 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。...k的项 >>>dict1={'x':1,'y':2} >>>dict1 {'y':2, 'x': 1} >>>dict1['z']=3 >>>dict1 {'y':2, 'x': 1, 'z': 3}...>>>dict1['z']=4 >>>dict1 {'y':2, 'x': 1, 'z': 4} >>>del dict1['z'] >>>dict1 {'y':2, 'x': 1} >>>'x' in...,因为值本身就是相同的,而不是副本) 相比于直接把某个字典赋给一个引用变量的区别如下: >>>x={'x':1,'y':2} >>>y=x >>>y {'y':2, 'x': 1} >>>x['x']=...,完完全全是独立的了 >>>dc {'name':['tom', 'tg']} 3、   fromkeys fromkeys方法使用给定的键建立新的字典,每个键默认对应的值为None >>>dict1=

    1K80

    JAX 中文文档(五)

    从重构的堆栈跟踪中,创建泄漏 Tracer 的代码行。 错误消息中不包括泄漏位置,因为难以确定!JAX 只能告诉你泄漏值的外观(其形状和创建位置)以及泄漏的边界(变换的名称和转换后函数的名称)。...y) 模板化的矩阵乘法 在这个示例中,我们通过对输入数组的行和列的块进行展开累加来计算输出的瓦片。...假设我们有输入矩阵 (X) 和 (Y) 并计算 (Z = XY)。我们首先将 (X) 和 (Y) 表达为块矩阵。(X) 将有“行”块,而 (Y) 将有“列”块。...计算每个输出块相当于在 (X) 的“行”块和 (Y) 的“列”块之间进行较小的矩阵乘法。 要表达这种模式,我们使用 BlockSpec。...让我们通过一个简单的例子来演示: 假设我们将数组 x 和 y 分成 x1, x2 和 y1, y2(例如,沿着主轴进行分割,每个输入结果为两个 (256, 512) 的数组)。

    45010

    python之条件-循环和其他语句

    所解包的序列中的元素数量必须和放置在赋值符号=左边的变量数量完全一致,否则python会在赋值时引发异常: >>> x,y,z = 1,2 Traceback (most recent call last...5.2.2 链式赋值 链式赋值是将同一个值赋给多个变量的捷径.它看起来有些像上节中的并行赋值,不过这里只处理一个值: x = y = somefunction() 和下面语句的效果是一样的 y = somefunction...这种行为对于or来说也同样适用。在表达式x or y中,x为真时,它直接返回x值,否则返回y值。...它可以用来在任何条件为真的情况下重复执行一个代码块。一般情况下这样就够用了,但是有些时候还得量体裁衣。比如要为一个集合(序列和其他可迭代对象)的每个元素都执行一个代码块。...exec语句会执行一些列python语句,而eval会计算python表达式,并且返回结果值,例如,可以使用下面的代码创建一个python计算器: >>> eval(raw_input("Enter an

    75510

    Python 自动化指南(繁琐工作自动化)第二版:四、列表

    ['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z'] >>> spam = [1, 2, 3] >>> spam = spam + ['A', 'B', 'C']...但是在所有这些复杂行为的基础上,高级行为是一个相当简单的程序。 我们可以用一列列表来表示二维场。内部列表表示每一列方块,并为活方块存储一个'#'散列字符串,为死方块存储一个' '空格字符串。...我们细胞自动机的第一步将是完全随机的。我们需要创建一个列表的列表数据结构来存储代表活细胞或死细胞的'#'和' '字符串,它们在列表列表中的位置反映了它们在屏幕上的位置。每个内部列表代表一列单元格。...细胞的生存或死亡状态取决于邻居,所以让我们首先计算细胞在当前 x 和 y 坐标左侧、右侧、上方和下方的索引。 %取模操作符执行“回绕”。最左列0中单元的左邻居将是0 - 1或-1。...如果你掷一枚硬币 100 次,并写下每个正面的H和每个反面的T,你将创建一个看起来像T T T T H H H H T T的列表。

    1.5K20

    python 对传参进行参数检查的装饰器

    不过最重要的是创建了一个有序字典 bound_types.arguments 。 这个字典会将参数名以函数签名中相同顺序映射到指定的类型值上面去。...不过这个方案还有点小瑕疵,它对于有默认值的参数并不适用。...不过最重要的是创建了一个有序字典 bound_types.arguments 。 这个字典会将参数名以函数签名中相同顺序映射到指定的类型值上面去。...不过最重要的是创建了一个有序字典 bound_types.arguments 。 这个字典会将参数名以函数签名中相同顺序映射到指定的类型值上面去。...@typeassert def spam(x:int, y, z:int = 42): print(x,y,z) 一个可能的原因是如果使用了函数参数注解,那么就被限制了。

    87920

    python布尔类型和逻辑运算

    None None为假,它不是表示对象为空,也不是表示对象未定义。它自身就是一个实实在在的数据对象,在内存中有自己的内存地址,而且整个python全局只有一个唯一的None对象。...X and Y:X和Y都为真时,返回真 X or Y:X或Y为真,返回真 not X:X真假取反 not优先级很低,所以not a == b等价于not (a == b) 需要注意,and和...例如,如果变量a为False,就赋值为某个值,否则采用a原有的值。 a = a or "hhhh" 更通用的,变量A取X、Y、Z等表达式中的一个。...A = X or Y A = X or Y or Z 不仅如此,and/or还能实现if中选择值的功能。...例如,下面是等价的: A = (( X and Y) or Z) if X: A = Y else: A = Z 当然,这种用and/or实现逻辑的可读性太差,能用if的当然用if。

    1.7K10

    技术阅读-《MySQL 必知必会》

    将把一个表想成一个网格,网格里每一列存储数据都是属于该字段下的,每列相互独立。 每列都有对应的数据类型,就是说每个字段都有数据类型限制,这个类型能帮助我们排序数据和检索数据。...行 == 记录 主键:具有唯一标识的列,它的值能唯一区分表里的每一行,起到唯一行的作用。 主键特点: 行之间主键的值不能重复 每个行都必须有一个主键值,不能为 NULL 好比身份证,唯一且必须有。...聚集函数 对查询出来的数据进行汇总统计 AVG 函数,返回一列的平均值 COUNT 函数,返回一列的行数,使用 COUNT(*) 时包含该列值为 NULL 的行,否则不在统计范围内 MIN/MAX 函数...SELECT x,(SELECT y FROM b_table WHERE z = x) AS v FROM a_table; 当列名可能有多义性时,就必须使用表名和列名由一个句点分隔的语法,防止冲突...创建主键:PRIMARY KEY(id) 创建自增序号:AUTO_INCREMENT (每个表只能有一列自增,并且必须有索引) 使用默认值:DEFAULT value 设置数据库引擎类型:ENGINE=

    4.6K20

    python中的函数

    python会创建一个和全局变量一样的变量,并把它设置为局部变量。但是如果我们想要去修改全局变量,可以实现吗,答案是肯定的。...它属于Fun2中的全局变量,但是对于整个代码来说,他是一个局部变量,其实x=5是非全局变量的外部变量;在Fun2中的x和Fun1中的x不是一个变量,和之前全局变量和局部变量中讲到的一样,在python函数中定义一个全局变量...该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。...lambda的表达式我们一行代码就搞定了,对于python来说是很美观的。...= int(input('请输入一个数字:')) hanoi(n,'X','Y','Z') # 结果如下: 请输入一个数字:4 X --> Y X --> Z Y --> Z X --> Y Z

    1.7K10

    Python中的字典及举例

    字典 字典是python中的唯一的映射类型(哈希表) 字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。...现有一个字典dict1 保存的是小写字母a-z对应的ASCII码     dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103...: 121, 'x': 120, 'z': 122}     1) 将该字典按照ASCII码的值排序 print sorted(dict1.iteritems(), key=lambda d:d[1]...用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法) dict2 = dict(zip(string.uppercase,range...将dict2与第一题排序后的dict1合并成一个dict3 dict3 = dict(dict1, **dict2) # dict3 = dict(dict1, **dict2)等同于下面的两行代码

    51320

    Pandas 2.2 中文官方教程和指南(十一·二)

    注意 在应用可调用对象之前,将元组键解构为行(和列)索引,因此无法从可调用对象中返回元组以索引行和列。 从具有多轴选择的对象中获取值使用以下表示法(以.loc为例,但.iloc也适用)。...注意 对于.iloc索引,不支持从可调用返回元组,因为在应用可调用之前会发生行和列索引的元组解构。...结合设置新列,您可以使用它在条件确定的情况下扩展 DataFrame 的值。 假设你在以下 DataFrame 中有两个选择可供选择。当第二列为‘Z’时,你想将新列颜色设置为‘green’。...此图是使用每个包含使用numpy.random.randn()生成的浮点值的 3 列 DataFrame 创建的。...每个方法都以用于标识重复行的列作为参数。 duplicated返回一个布尔向量,其长度为行数,指示行是否重复。 drop_duplicates会删除重复的行。

    25210
    领券