天才教育网合作机构 > 培训机构 >

天才领路者

欢迎您!
朋友圈

400-850-8622

全国统一学习专线 9:00-21:00

位置:培训资讯 > 终于领会怎样去学习python

终于领会怎样去学习python

日期:2019-09-18 17:27:09     浏览:470    来源:天才领路者
核心提示:算术最基本的操作符,是小学数学的+-*/,对于整数,还可以用+=,*=的操作符,对自身的值进行改变(对象引用)。以下是小编为你整理的怎样去学习python 对于整数的加减乘除,但需要注意的是,整数相除的结果是小数 PS:在一些其他语言,比如

算术最基本的操作符,是*数学的+ - * / ,对于整数,还可以用+=,*=的操作符,对自身的值进行改变(对象引用)。以下是小编为你整理的怎样去学习python  

对于整数的加减乘除,但需要注意的是,整数相除的结果是小数  

PS:在一些其他语言,比如c语言,java,两个整数相除,如果产生小数,直接把小数给忽略掉,而Python刚刚相反,比如1/3,在其他语言的结果是0,在Python则是0.333333333......  

如果需要把整数相除的商作为int类型整数结果,需要转化,int(小数值)  

PS:直接把小数忽略掉,不会进行四舍五入的运算  

列表的相加

怎样去学习python

 

2个列表相加之后,元素进行合并  

需要注意的是,不能直接用运算符进行减法,乘法,除法运算  

str类型相加(连接符)  

数值相加的数学运算,字符串相加是连接  

比如:'abc'+'def',结果是'abcdef'  

需要注意的是,字符串只能用+号连接,不能用乘除减符号  

+=,-=,*=,/=  

需要注意的是,这种赋值不是改变原本的数据,而且进行运算之后产生一个新的数据,然后a重新指向新数据,原来的数据如果没有被任何标识符引用,那么会进入等待垃圾回收器清理  

另外,这类操作符的左边是一个集合的时候,右边也需要是集合  

有一个需要注意的是  

字符串集合与字符串相加  

比如,['abc']与'def'相加,不能用a = a + b,要用a += b  

解析:直接相加,相当于用列表与字符串相加,如果用+=,会默认把后面的字符串转成列表  

python的注释

注释是什么?  

我们写程序的时候,是否要标明程序的作用。例如函数、对象、方法的作用、源代码的作者等。  

也就是说python解释器不解释的部分,用来我们开发时可以一目了然的功能标明,就是注释。  

怎么注释呢?  

这里分单行注释和多行注释。  

什么是单行注释?  

也就是说单行注释,标识符为#  

什么是多行注释?  

多行注释一般用于作者、版本标明。标识符为3个'''或者"""  

当然你也可以用单行注释来实现多行注释。  

例如:  

#!/usr/bin/python  

# 这是一个python程序  

# 作者 binn louis zeng  

# 版本:1.0  

# 功能:1.xxxxxx  

# 2.xxxxx  

import sys  

......  

但是多行的情况是这样的:  

#!/usr/bin/python  

'''  

这是一个python程序  

作者 binn louis zeng  

版本:1.0  

功能:1.xxxxxx  

2.xxxxx  

'''  

import sys  

......  

或者把'''替换成"""  

跟着我做一遍你就完全能理解啦。  

首先touch test.py  

新建一个py文件。  

vim打开它。  

然后按a插入。  

输入以下代码:  

#!/usr/bin/python  

#print 'test'  

print 'test'  

先来看看我们的代码  

#!/usr/bin/python  

这个是声明解释器路径  

#print 'test'  

这个是注释,不起作用的注释  

print 'test'  

这是一个打印test这个字符串的操作。  

如果#注释生效的话,那么只会打印一个test对不对?  

也就是只执行print 'test'这一条语句  

我们:wq保存退出,然后python test.py看看结果?  

二进制的实用方法

0b是二进制,比如a = 0b1001100110100110  

注意:无论几进制,打印出来的都是十进制  

0o表示八进制  

注意:前面是数字0,后面是小写字母x  

0x表示十六进制  

注意:前面的是数字0,后面的是小写字母x,数值用大写字母,A~E  

/与//

 

a/b,带小数的结果  

a//b,忽略小数的结果  

注意:带不带小数,它的结果都是小数  

%取模(余数)  

比如,10/3,正常结果的3.333333  

如果需要*算术那样,10/3,求余数  

可以用10 % 3  

divmod(x,y)  

如果需要同时求商与余数,可以用这个函数,这个函数是返回一个元组的  

abs(x)  

获取某个数的*,这个计算比较常用  

 

_PyDict_GetItemId

/** Our callback function will be named op_target **/

PyObject *target = NULL;

_Py_IDENTIFIER(op_target);

target = _PyDict_GetItemId(f->f_globals, &PyId_op_target);

if (target == NULL && _PyErr_OCCURRED()) {

if (!PyErr_ExceptionMatches(PyExc_KeyError))

goto error;

PyErr_Clear();

DISPATCH();

}

为了方便理解,对这一段代码做一些说明:

f 是当前的帧,f->f_globals 是它的全局区域

如果我们没有找到 op_target,我们将会检查这个异常是不是 KeyError

goto error; 是一种在 main loop 中抛出异常的方法

PyErr_Clear() 抑制了当前异常的抛出,而 DISPATCH() 触发了下一个操作码的执行

下一步就是收集我们想要的堆栈信息。

/** This code create a list with all the values on the current stack **/

PyObject *value = PyList_New(0);(www.wenbangcai.com)

for (i = 1 ; i <= STACK_LEVEL(); i++) {

tmp = PEEK(i);

if (tmp == NULL) {

tmp = Py_None;

}

PyList_Append(value, tmp);

}

如果本页不是您要找的课程,您也可以百度查找一下: