您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Python介绍及命令行解释
Python命令行假设你已经安装好了Python,那么在Linux命令行输入:$python将直接进入python。然后在命令行提示符后面输入:print('HelloWorld!')可以看到,随后在屏幕上输出:HelloWorld!print是一个常用函数,其功能就是输出括号中得字符串。(在Python2.x中,print还可以是一个关键字,可写成print'HelloWorld!',但这在3.x中行不通)写一段小程序另一个使用Python的方法,是写一个Python程序。用文本编辑器写一个.py结尾的文件,比如说hello.py在hello.py中写入如下,并保存:print('HelloWorld!')退出文本编辑器,然后在命令行输入:$pythonhello.py来运行hello.py。可以看到Python随后输出HelloWorld!脚本我们还可以把Python程序hello.py改成一个可执行的脚本,直接执行:#!/usr/bin/envpythonprint('HelloWorld!')需要修改上面程序的权限为可执行:chmod755hello.py然后再命令行中,输入./hello.py就可以直接运行了总结print命令行模式:运行Python,在命令行输入命令并执行。程序模式:写一段Python程序并运行。变量不需要声明Python的变量不需要声明,你可以直接输入:a=10那么你的内存里就有了一个变量a,它的值是10,它的类型是integer(整数)。在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。printaprinttype(a)那么会有如下输出:10type'int'这里,我们学到一个内置函数type(),用以查询变量的类型。回收变量名如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。a=1.3printa,type(a)会有如下输出1.3type'float'我们看到print的另一个用法,也就是print后跟多个输出,以逗号分隔。基本数据类型a=10#int整数a=1.3#float浮点数a=True#真值(True/False)a='Hello!'#字符串以上是最常用的数据类型,对于字符串来说,也可以用双引号。(此外还有分数,字符,复数等其他数据类型,有兴趣的可以学习一下)总结变量不需要声明,不需要删除,可以直接回收适用。type():查询数据类型整数,浮点数,真值,字符串sequence序列sequence(序列)是一组有顺序的元素的集合(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)序列可以包含一个或多个元素,也可以没有任何元素。我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。序列有两种:tuple(定值表;也有翻译为元组)和list(表)s1=(2,1.3,'love',5.6,9,12,False)#s1是一个tuples2=[True,5,'smile']#s2是一个listprints1,type(s1)prints2,type(s2)tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。一个序列作为另一个序列的元素s3=[1,[3,4,5]]空序列s4=[]元素的引用序列元素的下标从0开始:prints1[0]prints2[2]prints3[1][2]由于list的元素可变更,你可以对list的某个元素赋值:s2[1]=3.0prints2如果你对tuple做这样的操作,会得到错误提示。所以,可以看到,序列的引用通过s[int]实现,int为下标其他引用方式范围引用:基本样式[下限:上限:步长]prints1[:5]#从开始到下标4(下标5的元素不包括在内)prints1[2:]#从下标2到最后prints1[0:5:2]#从下标0到下标4(下标5不包括在内),每隔2取一个元素(下标为0,2,4的元素)prints1[2:0:-1]#从下标2到下标1从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。尾部元素引用prints1[-1]#序列最后一个元素prints1[-3]#序列倒数第三个元素同样,如果s1[0:-1],那么最后一个元素不会被引用(再一次,不包括上限元素本身)字符串是元组字符串是一种特殊的元素,因此可以执行元组的相关操作。str='abcdef'printstr[2:4]总结tuple元素不可变,list元素可变序列的引用s[2],s[1:8:2]字符串是一种tuple数学运算print1+9#加法print1.3-4#减法print3*5#乘法print4.5/1.5#除法print3**2#乘方print10%3#求余数判断判断是真还是假,返回True/Falseprint5==6#=,相等print8.0!=8.0#!=,不等print33,3=3#,小于;=,小于等于print45,4=0#,大于;=,大于等于print5in[1,3,5]#5是list[1,3,5]的一个元素(还有is,isnot等,暂时不深入)逻辑运算True/False之间的运算printTrueandTrue,TrueandFalse#and,“与”运算,两者都为真才是真printTrueorFalse#or,或运算,其中之一为真即为真printnotTrue#not,“非”运算,取反可以和上一部分结合做一些练习,比如:print5==6or3=3总结数学+,-,*,/,**,%判断==,!=,,=,,=,in逻辑and,or,not缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if(i0){x=1;y=2;}如果i0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于if。在Python中,同样的目的,这段话是这样的ifi0:x=1y=2在Python中,去掉了i0周围的括号,去除了每个语句句尾的分号,表示块的花括号也消失了。多出来了if...之后的:(冒号),还有就是x=1和y=2前面有四个空格的缩进。通过缩进,Python识别出这两个语句是隶属于if。Python这样设计的理由纯粹是为了程序好看。if语句写一个完整的程序,命名为ifDemo.py。这个程序用于实现if结构。i=1x=1ifi0:x=x+1printx$pythonifDemo.py#运行程序运行到if的时候,条件为True,因此执行x=x+1,。printx语句没有缩进,那么就是if之外。如果将第一句改成i=-1,那么if遇到假值(False),x=x+1隶属于if,这一句跳过。printx没有缩进,是if之外,不跳过,继续执行。这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到。强制缩进增强了程序的可读性。复杂一些的if选择:i=1ifi0:print'positivei'i=i+1elifi==0:print'iis0'i=i*10else:print'negativei'i=i-1print'newi:',i这里有三个块,分别属于if,elif,else引领。Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件;如果还是假,那么执行else块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。整个if可以放在另一个if语句中,也就是if结构的嵌套使用:i=5ifi1:print'ibiggerthan1'print'good'ifi2:print'ibiggerthan2'print'evenbetter'ifi2后面的块相对于该if缩进了四个空格,以表明其隶属于该if,而不是外层的if。总结if语句之后的冒号以四个空格的缩进来表示隶属关系,Python中不能随意缩进if条件1:statementelif条件2:statementelif条件3:statementelse:statement循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。for循环for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。基本构造是for元素in序列:statement举例来说,我们编辑一个叫forDemo.py的文件forain[3,4.4,'life']:printa这个循环就是每次从表[3,4.4,'life']中取出一个元素(回忆:表是一种序列),然后将这个元素赋值给a,之后执行隶属于for的操作(print)。介绍一个新的Python函数range(),来帮助你建立表。idx=range(5)printidx可以看到idx是[0,1,2,3,4]这个函数的功能是新建一个表。这个表的元素都是整数,从0开始,下一个元素比前一个大1,直到函数中所写的上限(不包括该上限本身)(关于range(),还有丰富用法,有兴趣可以查阅,Python3中,range()用法有变化,见评论区)举例forainrange(10):printa**2while循环while的用法是while条件:statementwhile会不停地循环执行隶属于它的语句,直到条件为假(False)举例whilei10:printii=i+1中断循环continue#在循环的某一次执行中,如果遇到continue,那么跳过这一次执行,进行下一次的操作break#停止执行整个循环foriinrange(10):ifi==2:continueprinti当循环执行到i=2的时候,if条件成立,触发continue,跳过本次执行(不执行print),继续进行下一次执行(i=3)。foriinrange(10):ifi==2:breakprinti当循环执行到i=2的时候,if条件成立,触发break,整个循环停止。总结range()for元素in序列:while条件:continuebreak函数最重要的目的是方便我们重复使用相同的一段程序,将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。函数的定义首先,我们要定义一个函数,以说明这个函数的功能。defsquare_sum(a,b):c=a**2+b**2returnc这个函数的功能是求两个数的平方和。首先,def,这个关键字通知python:我在定义一个函数。square_sum是函数名。括号中的a,b是函数的参数,是对函数的输入。参数可以有多个,也可以完全没有(但括号要保留)。我们已经在循环和选择中见过冒号和缩进来表示的隶属关系。c=a**2+b**2#这一句是函数内部进行的运算returnc#返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用return。return可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)。returna,b,c#相当于return(a,b,c)在Python中,当程序执行到return的时候,程序将停止执行函数内余下的语句。return并不是必须的,当没有return,或者return后面没有返回值时,函数将自动返回None。None是Python中的一个特别的数据类型,用来表示什么都没有,相当于C中的NULL。None多用于关键字参数传递
本文标题:Python介绍及命令行解释
链接地址:https://www.777doc.com/doc-6376419 .html