[1] [1, 2] [1, 2, 3] 这是因为默认值L在函数定义时生成,后面的调用(使用默认值,不给L传值)就会不断给定义时生成的默认list添加元素。 c=3, d=4, e='a') 1 b : 2 c : 3 d : 4 e : a 可见,**kwargs把a后面的所有关键字参数都接收了。 In [215]: func = lambda a, b: a * b In [216]: func(1,2) Out[216]: 2 In [217]: func(3,5) Out[217]: 15 In [4]: x = 'hello' In [5]: def func2(): ...: print(x) ...: In [6]: func2() hello In [ ipython-input-14-0e6ad11a93c1> in <module> ----> 1 func4() NameError: name 'func4' is not defined 在Python
和 Python 2.x 版本相比,Python 3.x 版本在语句输出、编码、运算和异常等方面做出了一些调整,本节就对这些调整一一做一下简单介绍。 Python 3.x print函数代替了print语句 在 Python2.x 中,输出数据使用的是 Print 语句,例如: >>> print "3,4" 3,4 或者 >>> print (3,4) (3,4) 但是在 Python 3.x 中,print 语句没有了,取而代之的是 print 函数,例如: >>> print(3,4) 3 4 如果还像 Python 2.x 中那样使用 ^ SyntaxError: Missing parentheses in call to 'print' Python 3.x 默认使用 UTF-8 编码 相比 Python 2.x 默认采用的 例如,输出一句中文,使用 Python 2.x 和 Python 3.x 的区别如下: #Python 2.x
//获得 2d 上下文对象 var ctx = canvas.getContext (‘2d’); 检测支持性 if(canvas.getContext){ var ctx = canvas.getContext 0弧度是指的x轴正方形 radians=(Math.PI/180)*degrees //角度转换成弧度· 1 2.arcTo(x1, y1, x2, y2, radius) 根据给定的控制点和半径画一段圆弧 ); ctx.closePath(); ctx.stroke(); ctx.beginPath(); ctx.arc(50,150,40,-Math.PI/2, Math.PI/2, ctx.moveTo(50,50); //参数1、2:控制点1坐标 参数3、4:控制点2坐标参数5:圆弧半径 ctx.arcTo(200,50,200,200,100); ctx.lineTo 第 2 条切线:控制点1 和控制点2决定的直线。 其实绘制的圆弧就是与这两条直线相切的圆弧。 糟了!手臂麻了,下节讲绘制贝赛尔曲线,读完下一章,你就能绘制下面这幅图:? ?
>>> def output(x): print x ... >>> x = 1 >>> y = 2 >>> output(y) 2 ====== 重绑定全局变量: 如果在函数内部将值赋予一个变量,它将会自动成为局部变量 >>> change_global() >>> x 2 ====== 嵌套作用域 Python的函数是可以嵌套的: def foo(): def bar(): print "Hello 由于Python的嵌套作用域,来自(`multiplier的)外部作用域的这个变量,稍后会被内层函数访问: >>> double = multiplier(2) >>> double(5) 10 >>> 补充:函数式编程 Python在应对“函数式编程”方面有一些有用的函数:map、filter和reduce函数(Python3.0中都被移至fuctools模块中)。 Python中有两类参数:位置参数 和 关键数参数。参数在给定默认值时是可选的。 作用域。变量存储在作用域(也叫作命名空间)中。Python有两类主要的作用域——全局作用域 和 局部作用域。
在python中最基本的数据结构是序列(sequence)。其中每一个元素都有编号,位置或者是索引,但从0开始的记号模式,0怎么说呢其实就是一种偏移量的的设计,更容易的回到末尾把。 序列也有很多种。 Python支持一种数据结构叫容器(container)就是可以包含其他对象的对象。两个主要的容器是序列和映射。 序列里面,每个元素都有编号 映射里面。
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x ? 什么是Numpy Numpy = Numerical + Python,它是Python中科学计算的核心库,可以高效的处理多维数组的计算。 由Python结构(list, tuple等)转换 创建数组最简单的办法就是使用array对象,它可以接受任何序列型的对象,然后产生一个新的含有传入数据的numpy数组(ndarray)。 使用特殊库函数(random等) 索引和切片 基础操作 一维数组中的索引表面看起来和Python list的功能差不多。 Python list类似,对于高维对象,花样比较多,可以在一个或者多个轴进行切片,也可以跟整数索引混合使用(降低维度)。
Python 基础教程 本文是第三篇 @Author:Runsen @Date:Writern By 2019/04/15 and supplied By 2020/3/31 @CSDN:https:/ /maoli.blog.csdn.net/article/details/89316328 往期回顾: Python基础(一) Python基础(二) 上面两个基本搞定了Python中数据结构,下面花一篇讲讲最重要的类 _f2() 报错:pub. _f2() 但是私有属性和方法可以在同一个类中被调用 pub.get() ####### '私有类型的变量' 上面是很多人不知道的,下面,我来声明一个Person类 class Person python中可以使用try ... except处理。
基本使用 不同编程语言都有 for 语言,比如 C# 语言中的 foreach, Java 语言中的 for,在 Python 中的基本使用方法如下。 实例 example_list = [1,2,3,4,5,6,7,12,543,876,12,3,2,5] for i in example_list: print(i) 输出的结果为 1,2,3,4,5,6,7,12,543,876,12,3,2,5 , 内容依次为 example_list 中的每一个元素 注意 Python 是使用缩进表示程序的结构,如果程序这样编写, example_list = [1,2,3,4,5,6,7,12,543,876,12,3,2,5 进阶 range使用 在 Python 内置了工厂函数,range 函数将会
(2)不妨举一个做菜的例子吧,假设现在我们需要厨师给我们做一道西红柿炒鸡蛋的菜,在这里厨师就相当于计算机,而菜谱就相当于给计算机的下的指令,计算机会根据我们所下达的指令来完成某一项任务便相当于厨师根据菜谱做出西红柿炒鸡蛋这道菜 Python 解释器及丰富的标准库,提供了适用于各个主要系统平台的源码或机器码,这些可以到 Python 官网 https://www.Python.org/免费获取,并可自由地分发。 2.Python可以干什么? (1)Python 拥有强大的生态,使得它能够在很多领域得到广泛的应用,下图是 Python 可以应用的一些典型的领域。 下面的 **Python 之禅(The Zen of Python)**列出了 Python 所提倡的一些编程理念(进入到 Python 的命令行界面,输入 import this 便可以看到下面的文字 ’ (2)下列引号的使用符合规范的是: A.print('盘古开天辟地”) B.print('盘古开天辟地’) C.print(‘盘古开天辟地’) D.print("'盘古开天辟地’) (3
下面我们先看一段Python代码: ? Python 的行 在Python里面,行分为逻辑行和物理行。物理行就是以行结束符(\n)结尾算作一行,通常一个物理行也就是一个逻辑行。 但是同一个源文件(.py文件)中缩进必须相同,也就是说,要么都用Tab键,要么都用2个空格,要么都用4个空格。官方的编码规范(PEP 8)中规定用4个空格作为一个缩进。 Python给起名字做了相关的规定。 Python2只支持ASCII码作为标识符的字符集, 而Python 3 扩展了标识符字符集,我们可以在程序中起中文名字,但是打中文会累死人的哦。 def 加法(加数, 被加数): return 加数 + 被加数 计算机 = 1 编程 = 2 print(加法(计算机, 编程)) 保留关键字 虽然Python程序中可以使用那么多的字符,
In [26]: mytuple[-2] Out[26]: 8.9 Python的元组的索引可以是正索引(从头到尾),也可以是负索引(从尾到头),总结为下面的关系: 元组: ('a', 'b', In [66]: sorted((3, 9, 0, 5)) Out[66]: [0, 3, 5, 9] In [68]: sorted(('python', 'yuanrenxue', 'good') ) Out[68]: ['good', 'python', 'yuanrenxue'] (6)tuple() 生成一个空元组,或把其它类型数据转换成元组。 In [69]: tuple() Out[69]: () In [70]: tuple('python') Out[70]: ('p', 'y', 't', 'h', 'o', 'n') (7)any (开箱) Python的中如果要初始化多个变量,可以用下面的方式: In [141]: a,b,c,d = 1,2,3,4 In [142]: a,b,c,d Out[142]: (1, 2, 3,
@Author:Runsen 往期回顾: Python基础教程(一) Python基础教程(二) Python基础教程(三) Python标准库 Python标准库是随Pthon附带安装的,包含了大量极其有用的模块 当参数非0时,会引发一个SystemExit异常,可以在程序中捕获该异常 sys.version #获取Python解释程器的版本信息 sys.maxsize #最大的Int值,64位平台是2**63 1, 2, 3)) #14 1^2+2^2+3^2 = 14 def displaydic(**args): for key,value in args.items(): (func2(2, 3)) #6 exec/eval exec语句用来执行储存在字符串或文件中的Python语句 eval语句用来计算存储在字符串中的有效Python表达式。 arr = [1, 2, 3] print(arr) #[1, 2, 3] print(repr(arr)) #[1, 2, 3] 其实Python就是这么简单,学Python就是看官方文档
= my_arr * 2 # Wall time: 25 ms %time for _ in range(10): my_list2 = [x * 2 for x in int32, boolean, string, float a.ndim ## 2-D a = np.array([[0,1,2],[3,4,5]]) # Method 2:使用函数(arange D a = np.ones((3,3)) a[2] # second row a[2].copy() # slice without view a[0][2] # 是数字的话就可以做替换工作,比如我们将随机生成的array中大于0的替换为2,小于0的替换为-2 arr = np.random.randn(4, 4) np.where(arr > 0, 2, -2) # 大于0改为2,小于0改为-2 np.where(arr > 0, 2, arr) # 大于0改为2,小于0不变 2.5.
文章目录 一、引言 二、Python模块解析 三、创建Python模块 四、导入Python模块 1. 使用import语句导入整个模块 2. 使用import语句导入整个模块 # main.py import math_operations result = math_operations.add(2, 3) print (result) # 输出:5 2. 3) result_subtract = subtract(5, 2) print(result_add) # 输出:5 print(result_subtract) # 输出:3 3 使用import … as …语句为模块指定别名 # main.py import math_operations as mo result = mo.multiply(2, 3)
setmetatable(table1,table1_meta) table_test = setmetatable({0,1,"three",2},{ __index = function return "meta_table_t" end end }) print(table_test.great) print(table_test[2] 重载了+运算符 ,其他的同理 table_test =setmetatable({66,99,77}, { __add = function(tb1,tb2) for k,v in pairs(tb2 (k,v) end 重载元表的 __call 与 __tostring table_test =setmetatable({66,99,77}, { __call = function(tb1,tb2) --1 coroutine.resume(co2) --2 coroutine.resume(co2) --3 print(coroutine.status(co2)) -- suspended
作者:一叶 介绍:放不下灵魂的搬砖者 全文共1899字,阅读全文需8分钟 Python版本3.8.0,开发工具:Pycharm Python函数 1> Python提供了许多内建函数,例如print( 就是python给你提供的,拿来直接⽤的函数, 比如print, input等等 1# Python官方文档中print函数 2print(*object, sep=' ', end='\n', file 3, 4, 5, 6] 15a_list 16 17b_list = list(map(lambda x: x * 2, a_list)) 18b_list 19 20# 输出: 21[1, 2, 3 , 4, 5, 6] 22[2, 4, 6, 8, 10, 12] 「左右滑动查看更多」 函数中注意参数和返回值,额外需要注意自定义函数名称不能与关键字相同,且Python函数可以返回多个不同类型的值。 下节将介绍Python文件 学习Python,我们不只是说说而已 End
字典(dict, dictionary的简写)是Python中另一个非常重要的内置数据类型,是Python中映射类型(Mapping Type),它把“键”(key)映射到“值”(value),通过key Python字典(dict)的创建 字典可以通过dict()或一对花括号创建一个空字典: d = {}。 ('c') # 删除某个键及其值并得到其值 Out[39]: 3 In [40]: myd Out[40]: {'a': 9, 'b': 2} Python字典(dict)相关的内置函数 Python Python 2时,返回的是list,现在是dict_keys。 0} 总结 字典是Python中很重要的一个数据结构,也是Python内置的数据类型。
创建文件 使用Python 的内建函数 open()创建一个新文件 1# 创建一个新文件 2open(file, mode='r') 3# 参数file:文件的本地路径 4# 参数mode:打开方式。 r:只读,w:写入,+:读写,b:二进制... 1# 以写入的方式打开文件,输出文件名,并关闭文件 2file_f = open('替换成自己的文件路径', 'w') 3print(file_f.name ) 4file_f.close() 「左右滑动查看更多」 删除文件 删除文件需要用到 os 模块 1import os 2 3# 若文件存在则删除文件,否则删除失败 4 5file_f = open 1# 写入文件新的内容 2file_f = open('替换成自己的文件路径', 'w') 3file_f.write('first line\nsecond line\nthird line\n' 下节将介绍Python模块 学习Python,我们不只是说说而已 End
模块 Python内建的模块 变量名、函数名,不能与关键字重名一样,模块名称最好别与系统内建模块名称重合。 1# 获取系统内建模块的列表 2import sys 3sys.builtin_module_names Python引入指定模块中的函数 不管你执行了多少次import,一个模块只会被导入一次 1. 向当前工作空间引入了 my_module_code 文件中定义的所有函数 1import my_module_code 2# 等价于 3from my_module_code import * 2. 以一个字符串列表的形式返回 1# 输出my_module_code模块的所有函数 2import my_module_code 3dir(my_module_code) 1# 输出 2['__builtins 下节将介绍Python异常 学习Python,我们不只是说说而已 End
Python异常:运行期检测到的错误被称为异常。 「左右滑动查看更多」 注: 一个 try 语句可能包含多个except子句 一个except子句可以同时处理多个异常 1# 在多个except子句中捕捉除0异常 2try: 3 print( 「左右滑动查看更多」 Python断言 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。 2assert 1==1 3# 条件为 false 触发异常AssertionError 4assert 1==2 「左右滑动查看更多」 当然,如果你的程序写的足够优秀,健壮性足够好,可以不用考虑异常处理 下节将介绍Python进阶教程部分 学习Python,我们不只是说说而已 End