版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python课程教师信息:
python讲义01基础知识第1章基础知识python讲义01基础知识主要内容Python是一种怎样的语言如何选择Python版本Python安装与简单使用Python基础知识Python代码规范Python文件名Python脚本的“__name__”编写自己的包与模块Python快速入门3python讲义01基础知识1.0Python是一种怎样的语言计算机(Computer)的概念根据指令操作数据的机器计算机功能:指对数据的操作,表现为数据计算、输入输出处理和结果存储等必须告知计算机如何操作,计算机才会完成计算
计算机程序:为了完成某项任务,解决某个问题由计算机执行的一系列指令(步骤)
4python讲义01基础知识1.0Python是一种怎样的语言程序设计语言的历史
•机器语言:二进制代码表示的一种机器指令的集合
•汇编语言:在机器语言上增加了人类可读的助记符
•高级语言:向自然语言靠近的语言
5python讲义01基础知识1.0Python是一种怎样的语言Python由“龟叔”GuidovanRossum在1989创建6python讲义01基础知识1.0Python是一种怎样的语言Python的要求:1994年,Python12000年,Python22008年,Python3(本课程使用Python3.6.x)更高级别的3.0系列不兼容早期2.0系列2011年1月,TIOBE将Python评为编程语言排行榜2010年度语言2017年7月,IEEESpectrum编程语言排行榜中Python直接上升到了第1位Python3.x系列已经开始全面普及,成为一种必然的趋势
7python讲义01基础知识1.0Python是一种怎样的语言Python是一门跨平台、开源、免费的解释型高级动态编程语言伪编译,Python源程序转换为字节码,Jythonpy2exe工具将Python程序转换为扩展名为“.exe”的可执行程序Python支持命令式编程函数式编程面向对象编程支持各领域的扩展库Python为“胶水”语言,与不同语言编写的程序无缝拼接优点:明确,简单,优雅,减轻构思性脑力劳动;缺点:慢,略提高记忆性脑力劳动在科学计算、大数据、人工智能等领域应用越来越广泛8python讲义01基础知识1.0Python是一种怎样的语言9python讲义01基础知识1.0Python是一种怎样的语言10python讲义01基础知识1.0Python是一种怎样的语言如何学习Python,对过程的要求:根据Python的特点,注重记忆和理解系统学习和点滴学习并重,前半学期更注重后者PPT上红色部分代表第一次出现的、难点、重点课后必须将书本或者PPT看3遍,第一遍理解第二遍浓缩,PPT上的红色部分第三遍记忆独立完成作业和实验,熟练掌握重要示例至考前书本或者PPT阅读次数必须达到6遍以上11python讲义01基础知识1.1如何选择Python版本安装好Python以后,在“开始”菜单中启动“IDLE(PythonGUI)”即可启动Python解释器并可以看到当前安装的Python版本号。如果您喜欢的话,也可以启动“Python(commandline)”来开始美妙的Python之旅。在“IDLE(PythonGUI)”和“Python(commandline)”两种界面中,都以三个大于号“>>>”作为提示符,在提示符后面输入要执行的语句。12python讲义01基础知识1.1如何选择Python版本2.x:一边鄙视一边用3.x:必然的趋势,本课程主要对象多版本共存与切换简便方法:更改系统环境变量path查看已安装版本的方法(在所启动的IDLE界面也可以直接看到):>>>importsys>>>sys.version>>>sys.version_info13python讲义01基础知识1.1如何选择Python版本如安装多个不同的版本,例如同时安装Python2.7.8和Python3.4.2,并根据不同的开发需求在两个版本之间进行切换。只需要启动相应版本的IDLE即可。在命令提示符环境中运行Python程序时在调用Python主程序时指定其完整路径修改系统Path变量来实现不同版本之间的切换14python讲义01基础知识1.2Python安装与简单使用1.打开Python官网,如下图选择15python讲义01基础知识1.2Python安装与简单使用2.下载exe后缀的可执行文件,根据自己系统选择32位或64位16python讲义01基础知识1.2Python安装与简单使用3.执行下载的安装文件,选择Customizeinstallation17python讲义01基础知识1.2Python安装与简单使用4.选择Next18python讲义01基础知识1.2Python安装与简单使用5.修改安装地址,选择Install19python讲义01基础知识1.2Python安装与简单使用6.验证是否环境变量是否设置,按win+R,输入cmd,键入python,出席python版本号说明环境变量设置成功。20python讲义01基础知识1.2Python安装与简单使用7.否则在控制面板-系统-高级系统设置-环境变量设置-系统变量中的Path项加上Python安装目录。21python讲义01基础知识1.2Python安装与简单使用安装好以后,默认以IDLE为开发环境,当然也可以安装使用其他的开发环境,例如PythonWin。以IDLE为例,使用交互式编程模式,IDLE提示符“>>>”回车,看执行结果,执行出错否抛出异常。>>>3+58>>>importmath>>>math.sqrt(9)3.0>>>3*(2+6)24>>>2/0Traceback(mostrecentcalllast):File"<pyshell#18>",line1,in<module>2/0ZeroDivisionError:integerdivisionormodulobyzero22python讲义01基础知识1.2Python安装与简单使用23python讲义01基础知识1.2Python安装与简单使用第一个程序HelloWorld——第一种方式:shell方式或者交互方式在IDLE界面中提示符>>>之后键入代码输入代码 >>>print(‘HelloWorld’)#代码
HelloWorld#输出
#
1.函数print(‘Helloworld’)在显示器上打印()中的内容#2.‘Helloworld’为字符串,引号不能少#3.引号‘
’和括号(),必须是英文符号24python讲义01基础知识1.2Python安装与简单使用第一个程序HelloWorld——第二种方式:文件方式在IDLE界面中使用菜单“>“NewFile”创建一个程序文件输入代码并保存为文件,务必要保证扩展名为“.py”,如果是GUI程序可以保存为“.pyw”文件。菜单“Run”==>“CheckModule”来检查程序中是否存在语法错误菜单“Run”==>“RunModule”运行程序,程序运行结果将直接显示在IDLE交互界面上。执行上述两项操作时系统会要求先保存文件假设有程序HelloWorld.py内容如下:print(‘Helloworld’)25python讲义01基础知识1.2Python安装与简单使用26python讲义01基础知识1.2Python安装与简单使用27python讲义01基础知识1.2Python安装与简单使用关于执行的补充:也可以通过在资源管理器中双击扩展名为“.py”或“.pyc”的Python程序文件直接运行;可命令提示符环境中运行Python程序文件,按win+R,键入cmd,回车,转至HelloWorld.py所在目录,键入pythonHelloWorld.py;28python讲义01基础知识1.2Python安装与简单使用在实际开发中,如果您能够熟练使用集成开发环境IDLE提供的一些快捷键,将会大幅度提高您的编写速度和开发效率。在IDLE环境下,除了撤销(Ctrl+Z)、全选(Ctrl+A)、复制(Ctrl+C)、粘贴(Ctrl+V)、剪切(Ctrl+X)等常规快捷键之外,其他比较常用的快捷键如下表所示。快捷键功能说明Alt+p浏览历史命令(上一条)Alt+n浏览历史命令(下一条)Ctrl+F6重启Shell,之前定义的对象和导入的模块全部失效F1打开Python帮助文档Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,则在多个单词中循环选择Ctrl+]缩进代码块Ctrl+[取消代码块缩进Alt+3注释代码块Alt+4取消代码块注释。29python讲义01基础知识1.2Python安装与简单使用其他常用集成开发环境IDLE:Anaconda(),
PyCharm30python讲义01基础知识1.2Python安装与简单使用Anaconda中的Spyder31python讲义01基础知识1.2Python安装与简单使用作业回顾Python历史,课外阅读《Python简史》
92628.html在机房或者手机、本地电脑上安装Python环境,手机上请在应用市场找到并安装QPython3APP上机编写第一个示例程序HelloWorld,尝试将print函数拼写错误等,查看输出结果
32python讲义01基础知识1.3*
使用pip管理第三方包Python3安装包默认包含pip,或在下载get-pip.py文件安装方法:win+R,cmd==>pythonget-pip.py用法示例pipinstallNumPy#安装Numpy包piplist#列出已安装包pipinstall--upgradeSomePackage#升级SomePackage包pipuninstallSomePackage#卸载SomePackage包33python讲义01基础知识1.4Python基础知识对象模型基本数据类型变量运算符与表达式内置函数34python讲义01基础知识1.4.1Python的对象模型概念引入:值和类型值(Value):程序操作的最基本的东西,字母,
或者数字类型(Type):数据从不同角度看有不同的含义
使用type()查看类型
>>>type(2)<class‘int’>#整数
>>>type(20.0)<class‘float’>#浮点数
>>>type("HelloWorld!")<class‘str’>#字符串
35python讲义01基础知识1.4.1Python的对象模型对象是python语言中最基本的概念,在python中处理的均为对象。内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random()等。36python讲义01基础知识1.4.1Python的对象模型常用内置对象对象类型示例数值1234,
3.14,
3+4j字符串'swfu',"I'mstudent",'''Python'''
布尔型True,False日期2012-08-25列表[1,2,3]元组(2,-5,6)字典{1:'food',2:'taste',3:'import'}集合set('abc'),{'a','b','c'}文件f=open('data.dat','r')空类型None编程单元类型函数、模块、类37python讲义01基础知识1.4.2Python变量在Python中有:常量(LiteralConstants):值不发生改变的元素,这里的值用的就是字面意义上的值或者内容。例:5、1.23、"这是一串文本"、"Thisisastring“变量(Variable):就是某个值的标签
38python讲义01基础知识1.4.2Python变量39python讲义01基础知识1.4.2Python变量
在Python中,不需要事先声明变量名及其类型(方便,函数声明等场合也会有麻烦),直接赋值即可创建各种类型的对象变量。例如语句
>>>x=3
创建了整型变量x,并赋值为3,3是常量,x是变量
>>>x='Helloworld.'创建了字符串变量x,并赋值为'Helloworld.'。这一点适用于Python任意类型的对象。注意:Python解释器会根据赋值或运算来自动推断变量类型。Python仍属于强类型编程语言40python讲义01基础知识1.4.2Python变量使用变量时需要程序员确定所进行的运算是否合适,避免出现异常。同一个运算符对于不同类型数据操作的含义和计算结果也是不一样的。Python还是一种动态类型语言,变量的类型是可以随时变化的。>>>x=3>>>print(type(x))#type()返回变量类型<class'int'>>>>x='Helloworld.'>>>print(type(x))<class'str'>>>>x=[1,2,3]>>>print(type(x))<class'list'>>>>isinstance(3,int)#isinstance()用来测试对象是否为指定类型True>>>isinstance('Helloworld',str)True41python讲义01基础知识1.4.2Python变量变量出现在赋值符或复合赋值运算符(例如+=、*=等等)左边表示创建变量或修改变量的值,在右边表示引用变量的值。这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义对象中元素的情况。>>>x=3
#创建整型变量>>>print(x**2)9>>>x+=6
#修改变量值,效果上相当于x=x+6>>>print(x)
#读取变量值并输出显示9>>>x=[1,2,3]
#创建列表对象>>>print(x)[1,2,3]>>>x[1]=5
#修改列表元素值>>>print(x)
#输出显示整个列表[1,5,3]>>>print(x[2])
#输出显示列表指定元素342python讲义01基础知识1.4.2Python变量字符串和元组属于不可变序列,不能通过下标来修改其中的元素值。>>>x=(1,2,3)>>>print(x)(1,2,3)>>>x[1]=5#不能修改元组,出错。Traceback(mostrecentcalllast):File"<pyshell#7>",line1,in<module>x[1]=5TypeError:'tuple'objectdoesnotsupportitemassignment43python讲义01基础知识1.4.2Python变量允许多个变量指向同一个值:>>>x=3>>>id(x)#获取x的内存地址1786684560>>>y=x>>>id(y)1786684560为其中一个变量修改值以后,此变量内存地址将会变化:>>>x+=6>>>id(x)1786684752>>>y3>>>id(y)178668456044python讲义01基础知识1.4.2Python变量Python采用的是基于值的内存管理方式:如多个变量赋值相同,该值在内存中只有一份,多个变量指向同一块内存地址:>>>x=3>>>id(x)>>>y=3>>>id(y)>>>y=5>>>id(y)>>>id(x)对于没有任何变量指向的值,Python自动将其删除,程序员一般情况下不需要太多考虑内存管理的问题。显式使用del命令删除不需要的值或显式关闭不再需要访问的资源,仍是一个好的习惯。45python讲义01基础知识1.4.2Python变量变量名定义基本规则:变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义;变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等);不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字;>>>importkeyword>>>keyword.kwlist['and','as','assert','break','class','continue','def','del','elif','else','except','exec','finally','for','from','global','if','import','in','is','lambda','not','or','pass','print','raise','return','try','while','with','yield']>>>and=3SyntaxError:invalidsyntax不建议使用系统内置对象名称,如模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义,可以通过dir(__builtins__)查看所有内置模块、类型和函数;变量名对英文字母的大小写敏感,例如student和Student是不同的变量。46python讲义01基础知识1.4.3数字数字是python中最常用的对象,属于不可变对象。可以表示任意大小的数字。>>>a=99999999999999999999999999999999>>>a*a999999999999999999999999999999980000000001L>>>a**3999999999999999999999999999999979999999999999999999999999999999L47python讲义01基础知识1.4.3数字整数:十进制整数如,0、-1、9、123十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整数,必须以0x开头,如0x10、0xfa、0xabcdef八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,必须以0o开头,如0o35、0o11二进制整数、只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b10048python讲义01基础知识1.4.3数字浮点数又称小数,15.0、0.37、-11.2、1.2e2、314.15e-2
1.这里e改为E,效果完全相同;浮点数5.0与整数5不同
2.一个浮点数a由两个数m和x来表示:a=m×bx。3.m是定点小数,x是定点整数,m(即尾数)是形如±d.ddd...ddd的p位数4.python中浮点数精度有限
49python讲义01基础知识1.4.3数字复数:>>>a=3+4j>>>b=5+6j>>>c=a+b>>>c(8+10j)>>>c.real
#查看复数实部8.0>>>c.imag
#查看复数虚部10.0>>>a.conjugate()
#返回共轭复数(3-4j)>>>a*b
#复数乘法(-9+38j)>>>a/b
#复数除法(0.6393442622950819+0.590165j)50python讲义01基础知识1.4.4字符串用单引号、双引号或三引号括起来的符号系列称为字符串单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串。'abc'、'123'、'中国'、"Python"字符串属于不可变序列空串表示为''或""或''''''或''''''"""三引号'''或"""表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。51python讲义01基础知识1.4.4字符串1.字符串合并 >>>a='abc'+'123'#生成新对象2.字符串格式化,即把对象按格式要求转换为字符串。>>>a=3.6674>>>'%7.3f'%a'3.667'>>>"%d:%c"%(65,65)'65:A'>>>"""Mynameis%s,andmyageis%d"""%('DongFuguo',38)'MynameisDongFuguo,andmyageis38‘3.转义字符\n:换行符
\t:制表符\r:回车\’:单引号\”:双引号\\:一个\\ddd:3位八进制数对应的字符\xhh:2位十六进制数对应的字符
字符串界定符(引号)前面加字母r表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能是\。52python讲义01基础知识1.4.5操作符和表达式运算符示例功能说明x+y算术加法,列表、元组、字符串合并x-y算术减法,集合差集x*y乘法,序列重复,乘号不能省略x/y除法(在Python3.x中叫做真除法)x//y求整商-x相反数x%y余数(对实数也可以进行余数运算),字符串格式化x**y幂运算x<y;x<=y;x>y;x>=y大小比较(可以连用),集合的包含关系比较x==y;x!=y相等(值)比较,不等(值)比较xory逻辑或(只有x为假才会计算y)xandy逻辑与(只有x为真才会计算y)notx逻辑非xiny;xnotiny成员测试运算符xisy;xisnoty对象实体同一性测试(地址)|、^、&、<<、>>、~位运算符&、|、^集合交集、并集、对称差集53python讲义01基础知识1.4.5操作符和表达式Python中的除法有“/”和“//”分别表示除法和整除运算。Python3.x将其解释为真除法(无论任何类型都会保持小数部分)
。例如:>>>3/5
#除法0.6#除法的结果为浮点数,例10/2结果为5.0>>>3//50>>>3.0/50.6>>>3.0//50.0>>>13//101>>>-13//10
#结果向下取整,也称“地板除”-254python讲义01基础知识1.4.5操作符和表达式运算符是“%”。字符串格式化用法对整数和浮点数计算余数。因精度影响,浮点数计算结果可能略有误差。>>>3.1%21.1>>>6.3%2.12.99996>>>6%20>>>6.0%20.0>>>6.0%2.00.0>>>5.7%4.80.90004较复杂运算举例:55python讲义01基础知识1.4.5操作符和表达式Python中很多运算符有多重含义,具体含义取决于操作数的类型。例如“*”运算符:>>>3*2
#整数相乘6>>>2.0*3
#浮点数与整数相乘6.0>>>(3+4j)*2
#复数与整数相乘(6+8j)>>>(3+4j)*(3-4j)#复数与复数相乘(25+0j)>>>'1'*5
#字符串重复'11111'>>>"a"*10
#字符串重复'aaaaaaaaaa'>>>[1,2,3]*3
#列表重复[1,2,3,1,2,3,1,2,3]>>>(1,2,3)*3
#元组重复(1,2,3,1,2,3,1,2,3)>>>3*'a'
#字符串重复'aaa'列表:例如[8,7,5,3]或[‘ad’,‘bnc’],列表内容可改变,元组:例如(8,7,5,3)或(‘ad’,‘bnc’),元组内容不可改变56python讲义01基础知识1.4.5操作符和表达式在Python中的合法表达式:1单个任何类型的对象或常数;2使用运算符连接的变量和常量以及函数调用的任意组合。>>>a=[1,2,3]>>>b=[4,5,6]>>>c=a+b>>>c[1,2,3,4,5,6]>>>d=map(str,c)>>>d['1','2','3','4','5','6']>>>importmath>>>map(math.sin,c)[0.84965,0.96817,0.14112,-0.75682,-0.9589242746631385,-0.27941549819892586]>>>'Hello'+''+'world''Helloworld'>>>'welcome'*3'welcomewelcomewelcome'>>>('welcome,'*3).rstrip(',')+'!''welcome,welcome,welcome!'57python讲义01基础知识1.4.5操作符和表达式在Python中逗号“,”并不是运算符,而只是一个普通分隔符:>>>'a'in'b','a'(False,'a')>>>'a'in('b','a')True>>>x=3,5>>>x(3,5)>>>3==3,5(True,5)>>>x=3+5,7>>>x(8,7)58python讲义01基础知识1.4.6常用内置函数内置函数:内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数>>>dir(__builtins__)59python讲义01基础知识1.4.6常用内置函数函数功能简要说明abs(x)返回数字x的绝对值all(iterable)如果对于可迭代对象中所有元素x都有bool(x)为True,则返回True。对于空的可迭代对象也返回Trueany(iterable)只要可迭代对象中存在元素x使得bool(x)为True,则返回True。对于空的可迭代对象,返回Falsebin(x)把数字x转换为二进制串callable(object)测试对象是否可调用。类和函数是可调用的,包含__call__()方法的类的对象也是可调用的chr(x)返回ASCII编码为x的字符cmp(x,y)比较大小,如果x<y则返回负数,如果x==y则返回0,如果x>y则返回正数。Python3.x不再支持该函数dir()返回指定对象的成员列表eval(s[,globals[,locals]])计算字符串中表达式的值并返回filter(functionorNone,sequence)返回序列中使得函数值为True的那些元素,如果函数为None则返回那些值等价于True的元素。如果序列为元组或字符串则返回相同类型结果,其他则返回列表60python讲义01基础知识1.4.6常用内置函数float(x)把数字或字符串x转换为浮点数并返回help(obj)返回对象obj的帮助信息hex(x)把数字x转换为十六进制串id(obj)返回对象obj的标识(地址)input([提示内容字符串])接收键盘输入的内容,返回字符串。Python2.x和Python3.x对该函数的解释不完全一样,详见后面的1.4.8节int(x[,d])返回数字的整数部分,或把d进制的字符串x转换为十进制并返回,d默认为十进制isinstance(object,class-or-type-or-tuple)测试对象是否属于指定类型的实例len(obj)返回对象obj包含的元素个数,适用于列表、元组、集合、字典、字符串等类型的对象list([x])、set([x])、tuple([x])、dict([x])把对象转换为列表、集合、元组或字典并返回,或生成空列表、空集合、空元组、空字典map(函数,序列)将单参数函数映射至序列中每个元素,返回结果列表max(x)、min(x)、sum(x)返回序列中的最大值、最小值或数值元素之和61python讲义01基础知识1.4.6常用内置函数open(name[,mode[,buffering]])以指定模式打开文件并返回文件对象ord(s)返回1个字符s的编码pow(x,y)返回x的y次方,等价于x**yrange([start,]end[,step])返回一个等差数列(Python3.x中返回一个range对象),不包括终值reduce(函数,序列)将接收2个参数的函数以累积的方式从左到右依次应用至序列中每个元素,最终返回单个值作为结果reversed(列表或元组)返回逆序后的迭代器对象round(x[,小数位数])对x进行四舍五入,若不指定小数位数,则返回整数str(obj)把对象obj转换为字符串sorted(列表[,cmp[,key[reverse]]]返回排序后的列表。Python3.x中的sorted()方法没有cmp参数type(obj)返回对象obj的类型zip(seq1[,seq2[...]])返回[(seq1[0],seq2[0]...),(...)]形式的列表62python讲义01基础知识1.4.6常用内置函数ord()用来返回单个字符的序数或ASCII码chr()用来返回介于0到255之间的某序数对应的字符str()用来返回任意类型参数转换为字符串>>>ord('a')97>>>ord('A')65>>>chr(65)'A'>>>chr(67)'C'>>>chr(ord('A')+1)'B'>>>str(1)'1'>>>str(1234)'1234'>>>str([1,2,3])'[1,2,3]'>>>str((1,2,3))'(1,2,3)'>>>str({1,2,3})'{1,2,3}'63python讲义01基础知识1.4.6常用内置函数id(obj)用来返回obj对象内存地址type(obj)用来对象obj对象类型Isinstance(obj,class)用来判断obj对象是否是class类型len(obj)用来返回对象obj元素个数range()此函数在下章详细介绍,本章只要求掌握最简单的用法>>>a=5>>>id(a)1848574544>>>type(a)<class'int'>>>>isinstance(a,str)False>>>isinstance(a,int)True>>>b=range(6)
#返回0开始到6之前整数的序列>>>list(b)[0,1,2,3,4,5]>>>len(b)6>>>len('abc')364python讲义01基础知识1.4.6常用内置函数abs():取模(绝对值)pow(x,y):x的y次方,等价于x**yround(x[,小数位数]):标准圆整,不给出小数位数返回整数,功能非常接近于四舍五入>>>abs(-5)5>>>abs(1+1j)1.41421>>>pow(2,3)8>>>pow(2,-3)0.125>>>round(5.923)6>>>round(-5.923)-6>>>round(21.5,-1)20.0>>>round(1.55,1)1.6>>>round(2.55,1)2.5>>>round(2.550000001,1)2.665python讲义01基础知识1.4.6常用内置函数max()、min()、sum()这三个内置函数分别用于计算列表、元组或其他可迭代对象中所有元素最大值、最小值以及所有元素之和,sum()只支持数值型元素的序列或可迭代对象,max()和min()则要求序列或可迭代对象中的元素之间可比较大小。例如下面的示例代码,首先使用,然后分别计算该列表的最大值、最小值和所有元素之和。>>>importrandom>>>a=[]>>>foriinrange(10): a=a+[random.randint(1,100)] >>>a[26,31,21,22,20,86,53,8,96,54]>>>print(min(a),max(a),sum(a),sum(a)/len(a))89641741.7random是Python库,importrandom作用是引入该库,引入后才能使用该库中的对象。random.randint()随机生一个整数int类型,并指定这个整数的上限和下限值,上下限的值均可取。random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围在0.0~1.0之间>>>random.random()0.2758612983975905566python讲义01基础知识1.4.6常用内置函数int()、float()、complex()、str()这4个内置函数将其他类型强制转换为整数、浮点数、复数和字符串,如果不能转换这出错。>>>int(2.1)#向下取整2>>>int(2.9)2>>>int('86')86>>>int(’86.9‘)#错误>>>float(80)80.0>>>float('80')80.0>>>str(2)'2'>>>str(2.1)'2.1'>>>complex(3.5)(3.5+0j)67python讲义01基础知识1.4.6常用内置函数两个帮助编程的内置函数:dir()函数可以查看指定模块中包含的所有成员或者指定对象类型所支持的操作help()函数则返回指定模块或函数的说明文档。68python讲义01基础知识1.4.7对象的删除在Python中具有自动内存管理功能或者垃圾回收机制,Python解释器会跟踪所有的值,一旦发现某个值不再有任何变量指向,将会自动删除该值。显式释放自己申请的资源是程序员的好习惯之一,也是程序员素养的重要体现之一。在Python中,del命令来显式删除对象并解除与值之间的指向关系。删除对象时,如果其指向的值还有别的变量指向则不删除该值。如果删除对象后该值不再有其他变量指向,则删除该值。69python讲义01基础知识1.4.7对象的删除>>>x=[1,2,3,4,5,6]>>>y=3>>>z=y>>>print(y)3>>>dely#删除对象>>>print(y)Traceback(mostrecentcalllast):File"<pyshell#52>",line1,in<module>print(y)NameError:name'y'isnotdefined>>>print(z)3>>>delz>>>print(z)Traceback(mostrecentcalllast):File"<pyshell#56>",line1,in<module>print(z)NameError:name'z'isnotdefined>>>delx[1]#删除列表中指定元素>>>print(x)[1,3,4,5,6]>>>delx#删除整个列表>>>print(x)Traceback(mostrecentcalllast):File"<pyshell#60>",line1,in<module>print(x)NameError:name'x'isnotdefined70python讲义01基础知识1.4.7对象的删除del命令无法删除元组或字符串中的指定元素,而只可以删除整个元组或字符串,因为这两者均属于不可变序列。>>>x=(1,2,3)>>>delx[1]#错误Traceback(mostrecentcalllast):File"<pyshell#62>",line1,in<module>delx[1]TypeError:'tuple'objectdoesn'tsupportitemdeletion>>>delx#可删除
>>>print(x)Traceback(mostrecentcalllast):File"<pyshell#64>",line1,in<module>print(x)NameError:name'x'isnotdefined71python讲义01基础知识1.4.8基本输入输出用Python中输入:通过input()函数来实现的,该函数返回输入的字符串,imput()的一般格式为:x=input('提示:')Python3.x中输出:使用print()函数print(xxx,xxx,xxx)中的“,”将打成空格72python讲义01基础知识1.4.8基本输入输出在Python3.x中,不论用户输入数据时使用什么界定符,input()函数的返回结果都是字符串,需要将其转换为相应的类型再处理。>>>x=input('Pleaseinput:')Pleaseinput:3>>>print(type(x))<class'str'>>>>x=input('Pleaseinput:')Pleaseinput:'1'>>>print(type(x))<class'str'>>>>x=int(input('Pleaseinput:'))>>>print(type(x))<class'int'>>>>x=input('Pleaseinput:')Pleaseinput:[1,2,3]>>>print(type(x))<class‘str’>#?如何转换73python讲义01基础知识1.4.8基本输入输出print()函数基本输出的几个参数:设置sep参数,作为数据间隔符:>>>print(1,2,3,sep=':')1:2:3设置file参数,将重定向到文件:>>>fp=open(r'D:\mytest.txt','a+')
#打开文件,a追加模式,+读写模式
>>>print('Hello,world!',file=fp)
>>>fp.close()设置end参数,实现输出内容之后不换行:
>>>foriinrange(10):print(i,end='')0123456789
74python讲义01基础知识1.4.9模块的使用在Python中,一个.py文件就称之为一个模块(Module)使用模块有什么好处?提高了代码的可维护性可引用其他模块,减轻工作量,包括Python内置模块和第三方模块避免函数名和变量名冲突不同的人编写的模块名相同怎么办?解决方法:引入包,包中含模块和下级包(子包),包相当与文件夹或目录。只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突75python讲义01基础知识1.4.9模块的使用Python默认安装仅包含部分基本或核心模块,但用户可以安装的扩展模块,pip是管理模块的重要工具。在Python启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。可以使用importsys;sys.modules.items()显示所有预加载模块的相关信息。76python讲义01基础知识1.4.9模块的使用import模块名>>>importmath>>>math.sin(0.5)#求0.5的正弦>>>importrandom>>>x=random.random()#获得[0,1)内的随机小数>>>y=random.random()>>>n=random.randint(1,100)#获得[1,100]上的随机整数可以使用dir()函数查看任意模块中所有的对象列表(如importmath;dir(math)),如果调用不带参数的dir()函数,则返回当前脚本的所有名字列表。可以使用help函数查看任意模块或函数的使用帮助。77python讲义01基础知识1.4.9模块的使用from模块名import对象名[as别名],可以减少查询次数,提高执行速度frommathimport*#谨慎使用>>>frommathimportsin>>>sin(3)0.14112>>>frommathimportsinasf#别名>>>f(3)0.14112000805986778python讲义01基础知识1.4.9模块的使用数学库(math)的使用,库中常用数学常数和函数
79python讲义01基础知识1.4.9模块的使用数学库示例>>>#导入数学库>>>importmath>>>#查看圆周率π常数>>>math.pi3.1493>>>#求x的y次方pow(x,y)>>>math.pow(math.pi,2)9.8696>>>#边长为8.3和10.58,两边夹角为37度的三角形面积计算>>>8.3*10.58*math.sin(37.0/180*3.1416)/226.423945174044125>>>frommathimportsqrt#引入数学库中的sqrt函数>>>sqrt(16)4.0>>>frommathimport*#引入数学库中所有的函数>>>sqrt(16)4.0
80python讲义01基础知识1.4.9模块的使用在3.x中重新导入需要使用imp模块的reload函数,例如当对xyz模块进行了修改后:>>>from
imp
import
reload
>>>reload(xyz)Python首先在当前目录中查找需要导入的模块文件,如果没有找到则从sys模块的path变量所指定的目录中查找。可以使用sys模块的path变量查看python导入模块时搜索模块的路径,也可以向其中append自定义的目录以扩展搜索路径。>>>importsys>>>sys.path.append('/Users/michael/my_py_scripts')
在导入模块时,会优先导入相应的pyc文件,如果相应的pyc文件与py文件时间不相符,则导入py文件并重新编译该模块。81python讲义01基础知识1.5Python代码规范(1)缩进类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。
同一个级别的代码块的缩进量必须相同。一般而言,以4个空格为基本缩进单位,可以通过下面的方法进行代码块的缩进和反缩进:FortmatIndentRegion/DedentRegion82python讲义01基础知识1.5Python代码规范(2)注释一个好的、可读性强的程序一般包含30%以上的注释。常用的注释方式主要有两种:单行注释:以#开始,表示本行#之后的内容为注释多行注释:包含在一对三引号'''...'''或"""..."""之间且不属于任何语句的内容将被解释器认为是注释在IDLE开发环境中,可以通过下面的操作快速注释(Alt+3)/解除注释(Alt+4)大段内容:FormatCommentOutRegion/UncommentRegion83python讲义01基础知识1.5Python代码规范(3)每个import只导入一个模块(4)如果一行语句太长,可以在行尾加上\来换行分成多行,\之后不能有任何其他符号,包括空格和注释。>>>a=1+2+3+4+5+6+7\+8+9+10>>>a55(5)必要的空格与空行运算符两侧、函数参数之间、逗号两侧建议使用空格分开。不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性。(6)适当使用异常处理结构进行容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3《庖丁解牛》课件 统编版高一语文必修下册
- 无人机微控制器技术课件 10、发光LED灯
- 2026年临床工程技术题库检测模拟题【重点】附答案详解
- 2026年第二届全国安康杯安全生产知识竞赛考试题库含答案详解(综合题)
- 2026年环境影响评价工程师之环评法律法规试卷(能力提升)附答案详解
- 2026年企业人力资源管理师之四级人力资源管理师试卷附完整答案详解(易错题)
- 【低空经济】低空飞行服务中心智能化系统设计方案
- 2026年护士幼儿园托班
- 2026年幼儿园科学合集
- 2026年幼儿园月展示活动
- Maya 2024三维设计基础教程(全彩微课版) 课件全套 来阳 第1-10章 初识Maya 2024 -综合实例
- 售后服务部主管述职报告
- 2025年天津市高考英语试卷(含答案及解析)
- 城市供水调研报告(老旧小区改造调研内容)
- 工业企业精益智造成熟度评价规范
- 2025年中国地质调查局招聘面试题预测与备考指南
- 农业生产资金管理规定
- 【《人脸识别技术中个人信息保护的法律规制探析》10000字】
- 山西省寿阳县2025年上半年事业单位公开招聘试题含答案分析
- 工商业储能柜培训课件
- 音乐考研科目讲解
评论
0/150
提交评论