版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
初识Python零基础Python教程#001什么是python?编程语言1、跨平台的(windows\安卓android(linux)\苹果ios(unix))2、面向对象的3、解释性的4、全栈的(app、桌面端软件、网页)5、易集成c/c++语言模块学习Python有什么用?GUI(界面)服务端网络爬虫深度学习App网页数据分析…Py源代码文件编译过程Py--->pyc
<---pvmPython源代码-》pythonbytecode(python字节码)《----pyhtonvirtualmachine(python虚拟机)如何学好python?1、了解应用领域,树立自己的小软件目标2、捷径:多练习3、问大佬4、编程创造城市官网经常发布编程技术文章总结1、什么是python2、学python有什么用?3、python的编译过程4、如何学好pythonpython卸载与安装零基础Python教程#003Python开发版本选择?请参考前一期Python安装须知1、勾上把python加入到环境变量中去addpython3.7toPATH2、选择自定义安装Documentation
python文档文件类似api说明书Pip作用可以用来获取python需要的一些模块Tcl/tkandIDLE开发环境的安装,有个解释器。Tk可以用来开发GUI界面Pythontestsuite安装标准库用来测试Pylauncher用来直接给.py的文件启动使用,方便运行python的代码库所有的库,就是指别人写好的代码,直接让你调用即可实现基本的功能如何查看安装的python版本通命令提示符方式查看,在运行中,输入cmd输入命令python–version如何查看自带demo?在命令提示符中输入PushdC:\ProgramFiles(x86)\Python37-32\Tools\demoPythonbeer.py就可以直接运行了总结1、如何下载、安装、卸载2、了解什么是库?3、安装过程的详解4、如何运行自带的demo?5、如何知道自己已经安装成功?python程序注释,保护著作权利零基础Python教程#021复习Format(参数1,参数2)函数参数1:数据参数2:字符串格式化的方式格式化:保留几位小数、千分位表示、科学计数法表示、固定长度字符串的居中方式(是否补0)补充Pow(参数1,参数2)函数参数1就是数x,参数2就是数yPow(x,y)结果就是x的y次方运算符对应**X**y注释1、使用#这个符号往往用于当行注释
2、多行注释使用’’’与’’’之间可以写任何内容或者使用”””与”””之间的可以写任何内容注意:一定要用英文输入法状态下的符号总结强调1、掌握python中写注释的几种方法,单行注释法和多行注释法2、写程序的规范,强调一定要在关键的部分写上你的注释妙用python导入模块零基础Python教程#013复习1、pycharm的汉化模块的导入Import理解成导入需要导入的是模块导入一个Math模块Math中的ceil函数Ceil函数的作用:向上取整使用方法:1、导入math模块Importmath2、开始调用ceil函数Math.ceil(参数)参数是一个整型或浮点型数据调用方式:模块名称.函数名称注意如果采用直接导入模块的方式,必须要使用模块名称采用调用模块下的函数。From模块名称import函数名称这是第二种模块导入方式。这种方式调用函数,不需要再书写模块名称。如何批量导入模块中所有的函数?利用星号*的方式*就代表所有!总结强调1、import模块2、from模块import函数3、from模块import*以上三种模块的导入都可以写到python文件的任意位置,但必须要注意要写到调用模块的前面的位置,否则将会报错。python基本数据类型有啥用?零基础Python教程#007复习Integer整型,简称intString字符串类型Float浮点型Boolean
布尔类型,简称bool特点:只有true(真)或者false(假)字符串类型的补充:字符串类型使用的时候,都用双引号””来表示的,不包含双引号。也可以用单引号‘’来表示,也不包含单引号。注意:所有的符号都必须是英文输入法半角状态下的符号单引号和双引号都可以表示字符串,同时可以相互嵌套字符串表示中,同一类型的字符串中双引号和单引号的使用通过转义字符\来表示\”用来表示在字符串中输出”\’用来表示在字符串中输出’注意赋值的操作在重新赋值的时候,会将之前的值会擦除掉如何查看数据类型?Type函数Type翻译也是类型的意思使用方法:type(参数值)会返回一个数据类型浮点型的补充Float浮点型数字1.03.56.3特殊的4.表示4.0
.6表示0.6复数X+yi(x和y都表示实数)Python中的复数表示方法和数学中一样总结1、五种数据类型:int\float\bool\string\复数类型2、如何查看某个变量的数据类型?Type函数3、float数据的特殊表示,涉及到浮点型的数据计算时候要注意精度是否正确。python输入与输出涨姿势零基础Python教程#005复习Print输出函数使用的使用print(具体要输出的值)X=5Print(X)如何进入到python的编辑与解释环境呢?Cmd->python数据类型整型:整数类型整数:正整数、零、负整数整型的英文:integer,简写intPython中的整型用int表示输入函数?Input函数使用的时候input(“提示文字”)Input函数有一个返回值,这个返回值就是输入的值X=input(“请输入X的值:”)当输入完成后,X就等于刚输入的值文本类型,又称字符串类型被单引号包围的一串文本,就是文本类型文本类型的特征,可以进行拼接,就像贪吃蛇一样什么时候可以进行数学运算?只有数值类型的时候才可以进行数学计算如何查看一个变量的值?可以直接在Python环境中直接输入相应的变量,例如输入x,直接回车后可以看到相应的类型和值那么是否一次型可以输入多个值?等于号的左侧是变量,多个变量之间用逗号隔开,等于号的右侧的input()后加上.split()如何将多个值分割后转为整型?
使用map函数结合split函数split()函数是指分割函数的意思,这个分割,默认情况下用空格分割Map函数在这里的作用将多个输入的值批量转换为int类型,转成int整型数值类型后就可以进行数学计算总结1、如何进行输入?Input函数2、默认情况下输入的数据类型是?字符串类型3、如何将多个输入的值进行批量转换为数值类型4、两种数据类型:整型、字符串类型5、两个函数的简单结合使用map、split()python四舍五入,颠覆你的想象零基础Python教程#019复习进制转换Hex函数:转十六进制Int(参数1,参数2)函数,参数1实际的字符串数值,参数2是表示几进制数Oct函数,转为八进制Bin函数,转为二进制四舍五入并非数值运算中想象的那样出现错误的情况,是由于二进制转换过程中,精度丢失的问题造成的。Python中用来计算十进制的模块Decimal模块可以查看二进制进度丢失的情况>>>x123.455>>>print(decimal.Decimal(x))123.4549999999999982946974341757595539093017578125如何解决因二进制精度存储丢失,造成的四舍五入问题?导入fromdecimalimportDecimal,Context,ROUND_HALF_UP四射五入法>>>a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal('123.455')>>>aDecimal('123.46')注意错误的方式和正确的方式X=123.455错误的方式,参数没有转为字符串>>>a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal(x)>>>aDecimal('123.45’)正确的方式,需要先将x转为字符串>>>a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal(str(x))>>>aDecimal('123.46')四舍五入需要用到的函数Context函数,有很多参数,都有默认的值,我们做四舍五入时候,只需要改变两个参数的值来设置python的context处理环境即可参数1是prec参数,用来显示最终的数值位数,这个数值位数包含整数部分和小数部分参数2是rounding参数,改为ROUND_HALF_UP作为四舍五入方式Create_decimal函数,注意参数值是一个字符串总结强调1、默认情况下,python环境采用的是银行家的算法/思维2、灵活运用四舍五入的几个函数context函数,create_decimal函数3、掌握利用decimal模块下的Decimal函数来查看二进制存储的精度误差的方式python整型与浮点型的数值转换零基础Python教程#006复习Input输入函数,有返回值Print输出函数数据类型int整型浮点型数据浮点型:数学中的含有小数的那些数据如何得到浮点型数据?通过除法,就可以直接得到浮点型。直接通过赋值的方式,可以得到浮点型。如何将输入的一个字符串类型转为整型使用int函数的方式整型转浮点型浮点型转整型通过int函数转的方式,属于向下取整。总结1、int函数,用来进行数据类型的转换,这个一个向下取整的函数2、浮点型。有小数的数据类型。通过除法的方式可以直接得到浮点型数据。python字符串与转义,超级实用!零基础Python教程#022复习1、当行注释#2、多行注释方法一、’’’注释内容’’’方法二、”””注释内容”””注意:符号必须是英文输入法状态下的符号什么是字符串?字符串:可以理解成一串文本或者多个字符的组合。用什么来表示字符串?符号1:单引号括起来’字符串内容’符号2:双引号括起来“字符串内容”字符串的赋值给某个变量赋值为字符串类型所有的变量都是,第二次赋值的时候会覆盖前一次赋予的值赋值的时候,可以将单引号与双引号嵌套时候字符串的转义转义符为\后面跟上单引号或者双引号,可以直接输出单引号或者双引号\”会被解析成”\’会被解析成’\n会被解析成换行\t被解析成制表符总结强调1、掌握字符串的定义2、掌握字符串的转义字符3、掌握字符串的赋值从此明白运算符优先级零基础Python教程#017复习1、变量声明2、变量名称补充//的作用//用来取整,指的是获取除法后的结果的整数部分%用来取余,指的是获取除法后的结果的余数部分/用于做除法,结果是一个实际的除法结果值运算符优先级通优先级:从左到右顺序优先级从高到低:1、圆括号()2、幂运算符**3、负号-4、乘*除/整除//取余%5、加+减-总结强调1、掌握//与/与%的区别2、掌握各个运算符优先级搭建pycharm软件开发环境零基础Python教程#008复习简介pycharm一次获得所有PYTHON工具,可以集成python的需要的模块,方便开发。语法高亮,可以快速识别我们的开发代码,方便开发代码提示。这款软件是基于eclipse开发的,是一款开源的免费软件在制作一些较大项目的时候可以使用Pycharm能够帮助我们整体开发,提高效率下载pycharm软件安装pycharm直接一路下一步,勾上必要的选项安装完成后,注意要重启一下电脑重启电脑以后,打开桌面上的JetBrainsPyCharm2018.3.5x64比较python自带命令行开发环境与pycharm的区别Python的命令行环境:方便、快捷,适合用于检查一些简单的Python代码使用Pycharm开发环境:可以用来开发项目较大的python项目总结1、安装使用pycharm环境的好处2、如何卸载、安装的具体实施过程进制转换任意玩儿零基础Python教程#018复习1、运算符优先级同一级别的运算符,从左到右运算不同级别优先级的,按照优先级的优先顺序来进行计算。2、python更适合数据分析基础知识补充计算机中常用进制有哪些?二进制binary简写bin用B表示八进制octal简写oct用O表示十进制decimal简写dec用D表示十六进制hex用H表示进制之间的转换Int函数,int(参数1,参数2)参数1:用字符串表示一个数。参数2:用来表示进制。Bin函数,bin(参数),参数表示几进制的数Hex函数,hex(参数),参数表示一个几进制的数Oct函数,oct(参数),参数表示一个几进制的数十六进制中的数值十进制:0、1、2、…..8、9、10、11、12、13、14、15,16十六进制:0、1、2、…..8、9、A、B、C、D、E、F、10十六进制的表示方法0x作为前缀,后写十六进制数,例如0xb就表示十六进制的b,对应十进制的11进制的表示:十六进制开头用0x十进制,默认就是十进制,开头不用写八进制,开头用0o二进制,开头用0b进制之间的转换模式1:十进制转十六进制/八进制/二进制模式2:十六进制/八进制/二进制转十进制模式3:十六进制转二进制/八进制模式4:八进制转二进制/十六进制模式5:嵌套使用函数进行进制转换手工计算进制转换十进制转N进制数,十进制数除以N取余数,最后倒叙排列N进制数转十进制数,按位权展开求和一个十六进制位对应二进制中的四位一个八进制位对应二进制中的三位总结强调1、学会进制函数的运用2、计算机中的常用进制之间的转换3、各个进制的表示方法4、探索手工计算进制之间的转换利用python帮助命令扩展开发知识面零基础Python教程#015复习%取余数5%3=2计算几天后是星期几的问题?(今天是星期几+几天后)%7回到pythonREPL简称python控制台往往企业中的环境比较简单,但是需要我们可能去解决一些bug,需要现场调试,此时,现场开发,可能用到帮助来提示我们一些函数的用法。如何利用帮助命令解决问题?1、利用dir()函数来获取当前环境下面有哪些模块?如何利用帮助命令解决问题?2、利用help命令来获取
模块下面的所有函数Help(模块名称)返回所有的函数的详细解释Help(模块名称.函数名称)返回某个函数的详细解释Dir(参数)参数是模块名称返回这个模块下的所有的名称名称Python中如何调用cmd命令?1、导入os模块Importos2、查看函数Dir(os)3、找到执行cmd命令的函数systemHelp(os.system)4、调用cmd命令的函数Os.system(“cls”)执行cls来清空当前窗体总结强调1、help函数看帮助详细2、dir函数看当前环境下有哪些变量、模块等3、通过导入os模块来调用cmd命令轻松声明变量和使用零基础Python教程#016复习Dir()查看当前环境下所有的模块、变量等Dir(参数)查看指定的模块下的所有的方法/函数Help(参数)详细解释某个模块下的函数/方法的使用发规则导入os模块,调用system方法来执行cmd命令变量什么是变量?相当于数学中的未知数x,y等变量存储在哪里?内存中声明一个变量后,就在内存中开辟一个空间,这个空间用来存储我们的变量的值。Python中很多时候都会自动转换变量的值的类型Python中的变量是区分大小写的如何声明一个变量?变量又叫做variablePython中的变量声明格式:变量的名称=变量的值注意点:1、变量的名称一般都是由字母、数字、下划线组成,且开头字符只能是下划线或字母2、变量的名称不能是系统自带关键字3、声明的时候注意要赋值,赋值的过程,就是让这个变量名称=一个值如何调用变量?如果变量已经被声明过,那么就可以在声明后进行调用,调用的时候,只需要使用变量的名称即可。赋值格式:变量的名称=变量的值举例x=123Y=x+1这里注意等于号=相当于赋值总结强调1、掌握变量的声明方法以及变量名称的注意点2、掌握赋值的含义3、掌握声明变量的深层含义print参数sep和end零基础Python教程#024复习1、使用符号\来进行反转义\n
\\n2、repr函数3、print的字符串前加上rPrint(r”刘金玉编程”)4、多行输出Print的奥秘一、默认情况下,多个参数传入,输出的结果会用空格隔开>>>print("刘金玉编程","编程创造城市")刘金玉编程编程创造城市二、使用分隔符分隔多个参数输出的结果>>>print("刘金玉编程","编程创造城市",sep='|')刘金玉编程|编程创造城市三、换行的修改x="欢迎访问博客"+"http://ljy.kim"print(x,end="")print("欢迎"+"加入我们的QQ群,"+"编程创造城市",end="\n\n")总结强调1、修改print中的sep参数用于修改分隔符2、修改print中的结尾处,默认是一个换行数字格式化输出厉害了,我的天!零基础Python教程#020复习1、Python四舍五入整数及保留一位小数的时候使用round函数,可以正常四舍五入2、decimal模块处理四舍五入Decimal.Context(prec=3,rounding=ROUND_HALF_UP).create_decimal(string类型)返回正常的四舍五入的答案强大的format函数Format(参数1,参数2)参数1:需要格式化的数字参数2:格式化字符串,用来表示如何格式化举例format(x,"<n.2f")X是实际的数据,<表示左对齐,表示数据所占长度,2f表示小数位数保留2位举例数字a=123.45678911、小数点保留2位Format(a,”0.2f”)#注意这里并非四舍五入2、数字在指定的长度n区域内对齐方式,并保留小数位数x=123.45667>表示右对齐format(x,"0>20.2f")可以在数据前面补0,形成00000000000000123.46<表示左对齐format(x,“0<20.2f”)可以在数字后面补0,形成123.4600000000000000n表示数据长度^表示居中对齐,例如format(x,"^20.2f")续上千分号表示法>>>x=1357.45667>>>print(format(x,","),111)1,357.45667111千分号+小数点保留format(x,",.2f")科学计数法format(x,"e")科学计数法+小数点保留format(x,"0.2e")科学计数法12345这一个整数用科学计数法表示1.2345*(10的4次方)在计算机中10的几次方,可以表示成e的几次方10的4次方,在计算机中表示为e+410的-4次方,在计算机中表示为e-4总结强调1、掌握format函数,这个函数用来格式化数据2、要掌握弄清楚几种格式化的表示方式:科学技术法、千分制法、保留几位小数、字符串的长度定位(左对齐、右对齐、居中对齐)字符串与数值中的巧妙应用零基础Python教程#010复习了解python界面修改python解释器初始化pycharm字符串的连接Python控制台补充叫法:REPLReadevalprintloop读执行输出循环适合于执行简单的命令字符串与数值的使用区别变量只有为数值的时候,才能进行数学运算。变量为字符串的时候,在+的时候,会进行拼接。*的情况如果x和y都是数值,那么进行数学运算,x乘以y。如果x是字符串,y是数值,那么就x这个字符串重复的倍数。**使用技巧如果是数值的数学运算,那么就是x的y次方来运算如果x和y都是字符串,那么无法使用**运算,会直接报错。如果x是字符串,y是数值,也报错。向上取整与向下取整比较Round相当于四舍五入,但必须注意,当小数部分刚好是0.5的时候,会向下取整,超过后,会向上取整。Int函数向下取整如果使用math这个库的话,那么Math.ceilMath.floor总结1、要能够区别字符串与数值的运算2、巧妙运用**与*3、学会区别使用int函数和round函数,尤其要注意round函数的使用零基础Python教程#92进一步理解字典复习1.Fromkeys方法,初始化字典,根据键来生成字典。如果说没有给默认值,那么提供的默认值为None。如果要初始化默认值,那么只要传入第二个参数即可。2.Get方法来友好屏蔽错误。如果没有键,那么返回NoneItems方法这个方法以元组的形式返回字典的键值对。dic1={"名称:":"老刘头","工具:":"电脑","喜爱书:":"python"}print(dic1.items())返回值:dict_items([('名称:','老刘头'),('工具:','电脑'),('喜爱书:','python’)])注明:可以采用for循环的方式来输出列表存在于某个对象类型中的变量改变字典的值后,items方法的对应变量的值会改变吗?当然会改变。理由:#此处的赋值其实是一个指针的指向。dic1Items=dic1.items()指针理解:假设要在书上找一个字,小纸条上写着书上第几页第几段第几个字。使用keys方法来获取字典的值通过dic1.keys()形式来输出字典中所有的键。返回结果:dict_keys(['名称:','工具:','喜爱书:’])转换:可以通过list方法进行数据类型转换dic1keys=list(dic1.keys())转换后可以直接当列表使用。还可以直接输出字典的值使用values方法。#现在开始使用values方法print(dic1.values())总结强调1.掌握items方法,返回元组形式的列表对象2.掌握keys方法,返回键的列表对象3.掌握values方法,返回值的列表对象4.掌握字典的赋值原理。零基础Python教程#044列表的函数方法复习1、列表的增删改查2、注意使用两种类型的方法Count函数意思:统计某个元素在列表中出现的次数注意:这个函数返回的值是int类型,表示个数使用举例:list1.count(r)Copy函数复制。把某个列表的所有元素复制一遍,制作一个副本。如果采用的是如下的赋值方式,那么意味着,两个变量存储内容的区域是一致的,指向同一个区域,就会导致修改任意一个变量,会影响到另一个变量。a=["www","ljy",".","kim"]b=a如何量两个变量不受影响?那么就使用copya=["www","ljy",".","kim"]b=a.copy()Index函数是一个索引,使用之后,返回的是列表中某个元素出现在列表中的索引位置。注意:这个函数返回的是某个元素在列表中第一次出现的索引的位置sort函数Sort函数用来对列表中的数值进行排序:默认情况下是升序排序的,注意,元素必须是数值类型。Sort函数会直接影响原来列表中的元素的顺序。list1.sort()使列表中元素升序排序list1.sort(reverse=True)使列表中元素降序排序顶层函数使用方式list2=sorted(list1)这个函数使用后会返回一个新的列表,排序的结果不会影响原来的列表Reverse函数功能:使得列表中的元素逆向重组如果使用list1.reverse()那么会影响list1中的元素顺序总结强调1、index索引2、count统计某个查找的元素个数3、sort函数用来排序4、reverse用来逆向重组零基础Python教程#043彻底学通序列基本操作列表的增删改查复习1、in函数检查存在性2、最值maxmin补充List函数可以将字符串,转为列表,将字符串中的每一个元素,编程列表中的一个元素列表的增加1、运算符+list3=list1+list22、分片技术操作list3[3:3]="是"3、insert插入list3.insert(4,"不是")4、appendlist3.append("?")5、extendlist3.extend("?")列表元素删除1、del操作符dellist3[4]2、remove函数list3.remove(“呢”)
3、pop函数默认删除列表中的最后一个元素list3.pop()list3.pop(len(list3)-2)4、clear清除所有元素list3.clear()列表的修改1、最简单的修改list3[3]="是不是“2、利用列表分片技术来实现批量修改list3[3:6]=[“是不是”,“变变变”,“奥特曼”]只修改指定的位置的值list3[3:]=[“是不是”,“变变变”,“奥特曼”]修改了索引3之后的所有位置被替换成最新的元素会有不同的效果查1、利用print函数输出列表Print(list3)2、利用循环来输出列表元素总结强调1、掌握列表的正删改查2、掌握两种不同的基本操作(是否使用分片技术来操作)3、加强练习零基础Python教程#91批量默认初始化与获取字典复习1.深度复制字典:deepcopy方法,必须利用copy库,这个结果只有数据,内部没有指针了。2.如果只要赋值第一层的数据,只需采用字典自带的copy方法。初始化字典空字典的初始化:dic1={}初始化有数据的字典:dic1={"a":"老刘","b":"老王头","c":"老张"}根据键来进行批量初始化利用字典的fromkeys方法,传入一个列表代表键位。方法一:初始化没有值的字典,键对应的默认值为“None”代表空值dic1={}.fromkeys([“a”,“b”,“c”])方法二:初始化一个默认值dic1={}.fromkeys(["a","b","c"],"老刘")字典值的获取常规方法:dic1["a"]这个常规方法的弊端,就是当传入的键如果在字典中不存在的话,那么程序会直接报错。友好的字典获取方法利用字典自带的get方法,这个方法可以有好的返回一个获取的结果。怎么使用?只需要王这个方法中传入一个键就可以了。使用get方法获取字典值的时候,如果不存在的键传入后,返回的结果是None总结强调1.掌握字典的批量默认初始化值,利用字典自带的方法{}.fromkeys(…)2.掌握字典的友好取值方法get零基础Python教程#89如何彻底清除字典数据?复习序列的排序,sorted函数,默认升序,采用reverse参数设置True就可以降序。强大的key关键字来传入需要按照某个值进行排序1.列表的排序2.字典的排序。按照键来排序__getitem__。按照键值对的整体数据进行排序getitems()方法。3.Lambda表达式。匿名函数字典数据默认情况下,字典数据是无法彻底清除的。dic1={"老刘","老张","老王"}print(dic1)dic2=dic1dic1=““#如果直接采用赋值的形式对原数据清空,是无法彻底清空数据的如何彻底清空与字典有关的数据?dic1.clear()#使用clear函数可以彻底清空某个字典的源数据这里的dic1代表某个字典变量区别赋值的方式只能清空某个字典变量的数据。使用clear方法可以情况所有与该变量有关的字典的数据。总结强调掌握clear方法的用法来彻底清空字典掌握只清除某个字典变量的方法掌握普通赋值和clear方法区别零基础Python教程#90深度复制字典复习clear方法:彻底清除与某个字典变量有关系的字典变量的数据。字典数据的赋值ljydic1={'bb':'老张','cc':['小红','小林'],'aa':'刘金玉'}print(ljydic1)ljydic2=ljydic1ljydic1["aa"]="老劉"print("ljydic2",ljydic2)从这个案例中可以看出,字典赋值,实际上是指针的指向那么如何才能够对值的数据进行复制?使用字典自带的copy方法。但是注意:这个copy方法只是针对于一级键值对的数据的复制。这个方法对于二级数据及更深层次的数据仍然只是一个指针指向。深度复制字典数据使用copy这个库中的deepcopy方法,可以对字典数据进行深度复制。fromcopyimportdeepcopyljydic1={'bb':'老张','cc':['小红','小林'],'aa':'刘金玉'}print(ljydic1)ljydic2=deepcopy(ljydic1)ljydic1["cc"][0]="老劉"print("ljydic2",ljydic2)总结强调掌握普通字典的赋值、字典的copy复制赋值、deepcopy对字典的复制赋值这三种不同的复制之间的区别。实战练习零基础Python教程#88序列(字典、列表)的排序复习Zip函数:压缩函数,把多个序列压缩成元组形式数据,各个元素的位置是一一对应的。根据最少元素的个数来决定压缩后的总元素的个数。*星号在zip函数参数中使用,可以起到解压序列的作用列表的排序1、升序、降序,采用sorted函数,返回排序后的结果2、逆序,采用reversed函数,返回逆序的结果3、列表的复杂排序,使用sorted函数的key参数参数采用lambda表达式来传入Lambda表达式可以看成匿名函数。就是没有名字的函数,函数的结果要返回一个值。这个表达式往往用于较为简单的函数表示形式。书写形式:Lambda参数:函数内容字典的排序升序、降序1.魔术属性,对字典的键进行排序,按照键来进行升序或者降序输出。2.items方法,结合lambda表达式排序,默认情况下输出的是列表形式的结果,我们可以采用dict函数对结果进行转换,转为字典总结强调掌握字典的排序,有两种方法,一种是使用__getitem__魔法属性,使用key的形式排序,一种是使用items整体传入后,结合lambda表达式排序进行整体排序掌握列表的排序和逆序掌握复杂列表的排序序列解包特性及其便捷赋值零基础Python教程#025复习Print函数Sep参数,分隔符End参数,结尾文本内容的修改序列解包特性x,y=333,555#分别将x,y进行赋值x,y=y,x#将x和y的值进行互换其它便捷赋值的方式1、连续赋值a=b=c=6662、数学运算运用中,增量写法j=j+1对应一个增量赋值的写法j+=1J=j-1对应j-=1J*=2j/=2总结强调1、x,y,z,f=1,2,3,4注意等于号左右侧的个数必须相等2、连续赋值a=b=c=63、交换x,y=y,x4、基本运算的简写零基础Python教程#045测试实验报告元组的增删改查复习1、index函数2、count函数3、sort函数和sorted函数4、reverse函数元组tuple元组:起到将列表只读的作用创建:使用小括号()X=()空的元组有元素的元组,括号内必须要有逗号,有很多的函数以及数据处理后,我们往往只返回的结果是一个元组的形式元组中的每个元素使用,隔开增大元组的办法使用+来产生一个新的元组x=(3,4,56,2)y=(6,7,2)z=x+yprint(z)元素的删除使用关键字del来删除某个元组偏方来产生一个新的元组来达到目的直接读取元组或者使用循环来读取元组的值后,存入到新创建的元组x=(3,4,56,2)y=(6,7,2)z=(x[1],y[1])print(z)偏方2,通过将列表转为元组使用tuple函数来将列表转元组z=[]z.append(x[1])z.append(y[1])print(tuple(z))子元组的获取利用分片技术x=(3,4,56,2)y=(6,7,2)print(x[1:3])总结强调1、掌握元组的创建2、掌握元组的读取3、掌握偏方来处理元组4、掌握元组的特性:只读5、掌握分片技术在元组上的使用零基础Python教程#94字典中的赋值技巧复习字典的删除Pop方法:删除指定的键的键值对。需要指定一个自己已知的键,删除后返回的是键对应的值。Popitem方法:删除的是最后一个键值对。在删除后,返回所删除的这个键值对。Setdefault方法用处:保护了字典原来数据的情况下进行赋值。只在原字典中的键不存在的情况下,才会对字典新增一个键值对。如果原字典存在着某个键的情况下,那么新的数据将不会被更新到原字典中,这样有效保护了原字典的数据不受改变,只会新增。用法一(两个参数):字典变量.setdefault(键,值)用法二(一个参数):字典变量.setdefault(键)这里的值默认为None如何改变字典中原数据的值?直接使用字典原始的赋值方式即可。dic1["aa"]="刘金玉"对字典的批量更新赋值举例使用update方法进行批量更新赋值dic1={"aa":"老刘","bb":"老张"}dic2={"cc":"老王","dd":"老李"}dic1.update(dic2)print("dic1",dic1)结果:dic1{'aa':'刘金玉','bb':'老张','cc':'老王','dd':'老李'}使用update更新字典数据注意事项字典的键值对特性:后更新的键的值会覆盖前面已有的键对应的值。新的字典数据的键如果和原来的字典的数据的键相同,那么以新的字典的数据的键对应的值作为新的键值对,更新了原有的键值对。总结强调1.掌握setdefault方法与普通字典的赋值的区别。2.批量更新字典数据可以采用update方法,理解键值对的注意事项。3.掌握指针赋值、浅层复制、深层复制之间区别。4.掌握字典的声明与基本赋值、取值。零基础Python教程#93字典中的删除复习1.Items方法:以元组形式返回键值形式的对象列表2.Keys方法:返回字典中的所有的键3.Values方法:返回字典中所有的值Pop方法Pop方法属于字典自带的方法,只需要传入一个参数,这个参数是字典的键,就可以对字典中的某个键值对进行删除。dic1={"aa":"老刘","bb":"老张","cc":"老王"}dic1.pop("bb")Popitem方法这个方法不需要传入参数,就可以直接对字典中的键值对进行删除,并且每次删除的都是最后一个。Clear方法彻底清除字典中的所有的键值对。如何知道我删除的是哪个键值对?使用pop方法是人为规定删除某个键值对,但是使用popitem方法呢?dic1.popitem()方法在删除之前保留了一份数据(元组的形式),这份数据在使用popitem方法删除字典中的数据后会将这份删除的数据进行返回,以供知悉。pop方法删除后会返回一个对应删除键的值,这个值用来给你判断你删除的是否你要真正删除的。总结强调1.掌握pop方法:删除指定的键值对,最后返回的是删除键的值。2.掌握popitem方法:每次删除字典中的最后一个键值对,返回这个删除的键值对。3.掌握clear方法:彻底清除字典中所有的键值。这里清除后,最后如果一定要返回值,那就是一个None。零基础Python教程#028elif条件语句应用,让程序更有效率复习1、python中的语句模块2、if语句模块可以多个同时使用3、else语句模块,由if语句模块的条件来决定是否进入,只有条件的结果为false的时候,才执行If语句可以嵌套时候if条件判断: print(“刘金玉编程”) if条件判断: print(“编程创造城市”) if条件判断: print(“博客http://ljy.kim”)If….[else….]语句这个连用的语句,直接结果,要么执行if的模块内容,要么执行else的模块内容。最后的结果只能是其中之一。单纯的多条if语句同一级别,如果有几条if语句模块,那么就要判断几次elif语句模块,可以出现多次使用前提条件,必须要与if连用格式:If条件判断:
执行代码1Elif条件判断:
执行代码2Elif条件判断:
执行代码3….【这里代码可以多次出现elif语句】注意结论:if+elif语句的连用,执行判断结果至少1次If语句与elif语句的区别1、If语句的情况:有N条if判断语句,结论:执行n次判断2、elif语句的情况:有n条判断语句,结论:至少执行1次判断,最少执行n次判断Elif语句的效率>if语句If….elif..elif…多次判断…else..x=input("条件1:")
ifx=="111":
print("刘金玉编程")
elifx=="222":
print("编程创造城市!")
elifx=="333":
print("欢迎订阅我的频道!")
elifx=="444":
print("让我们不要迷信!")
elifx=="555":
print("请不要哭泣!")
else:
print("欢迎观看!老刘表示感谢!")如果有N多次判断,那么这个语句,至少执行N多次判断,如果所有的条件都不满足,那么会执行else语句模块总结强调1、if语句的嵌套使用2、if语句的多次使用3、elif语句的使用4、理解if语句与elif语句的区别零基础Python教程#027if条件语句开炉,让你的程序更智慧复习Bool函数,转为过来是true/false常用的判断表达式布尔的特别之处true1false0False的情况If如果格式:遵从python中的模块格式一个模块以冒号开头,以代码缩进作为标准作为模块内容。举例if语句作为一个模块If条件判断:
满足条件为true时会执行的代码1
第二行代码2 ….本行,当前行对齐的是上面这个if条件,不再作为模块内容。举例使用if语句x=555
ifx==555:
print("刘金玉编程,编程创造城市")Else语句,必须要和if连用If条件判断true/false:条件为true是要执行的代码这里是属于if为true时的模块内容else:
这里是属于else的模块内容,或者
说是属于if为false的时候的模块内容
这里的独立的其它的代码总结强调1、if语句模块可以单独使用2、else语句模块,只能与if连用3、if语句的判断主要看条件判断的结果是true还是false来决定最后的结果零基础Python教程#029比较运算逻辑训练,条件判断的进阶版本复习1、if语句模块还是else语句模块2、elif语句模块,连用If语句3、elif与if语句的区别补充ascii码大写字母A对应ascii码是65大写字母B对应ascii码是66小写字母a对应ascii码是97小写字母b对应ascii码是98回车键对应13数字0对应的是48比较运算符>大于>=大于等于<小于<=小于等于==等于!=不等于一般较多用于数值、字符串的比较,这些的比较都是比较的是“值”注意:比较的结果只有true或者false>>>"laoliu">"Laoliu"True字符串的比较,比较的是ascii码>>>"laoliu"<"laoliuzhenshuai"True新的比较运算符是is不是isnot在里面in不在里面notinIn的比较,比较的是整个字符串1,是否包含于字符串2>>>"laoliu"in"laoliuzhenshuai"True>>>"laoliu1"in"laoliuzhenshuai"False序列(数组)写法[1,2,3,4,5,6,7]>>>x=[1,2,3,4,5,6]>>>y=z=[1,2,3,4,5,6]>>>yiszTrue>>>xiszFalse>>>x==z#使用等于符号比较的时候,比较的是值True注意:数组(序列)即使数组值相等,在使用is进行比较的时候,如果连续赋值的情况,那么结果是true;如果是单独赋值的,那么结果即使值相等,结果也是false总结强调1、字符串的比较(ascii比较,长短比较)2、is系列的判断3、in系列的判断零基础Python教程#026回顾布尔类型,为条件语句预热复习1、序列解包x,y,z=1,2,32、交换x,y=y,x3、连续赋值4、增量赋值布尔类型Boolean简写bool主要用途?1、判断,值的大小、文本是否一致等2、结合更多的判断逻辑判断常用的符号:双等号==大于>大于等于>=小于等于<=小于<不等于!=判断后,返回的结果,就是true或者false布尔类型的特别之处True代表1>>>int(True)1>>>bool(1)TrueFalse代表0>>>int(False)0>>>bool(0)FalseFalse来说的特别转换认为是false的几种情况:None0“”()[]{}总结强调1、回顾bool布尔类型的作用2、布尔类型的特别之处3、布尔类型中常用的比较运算符4、常见的false的情况零基础Python教程#031for循环,让代码更灵活!复习1、while语句循环2、break跳出循环3、continue结束本次循环,继续进行下一次循环补充Break和continue都可以用在循环语句中起到相应的作用For语句循环语法格式:For值in数组范围:
默认情况下数组范围从第一个值开始遍历,直到最后一个值被遍历完后结注意:循环中还是可以使用break来中断的举例for循环"""
刘金玉编程,编程创造城市
输出1~10之间所有的整数
"""
forxinrange(1,11):
ifx==6:
break;
print(x,end="")Range函数的作用是返回一个数组。使用的时候需要传入一个数值的开始,和数值的结尾。注意:range函数是一个半开半闭区间,包含开头的值,不包含结尾的值。Len函数补充Len(数组list)该函数返回一个数组/列表的长度,长度,是指数组中有几个值任务1、for语句中嵌套while语句2、for语句中嵌套for语句3、while语句中嵌套for4、while中嵌套while总结强调1、掌握for语句循环的基本格式2、掌握range函数的使用注意3、通过程序判断,来使得for循环的输出能够自如零基础Python教程#034random随机数开发猜数字游戏复习1、range函数2、python中的分号3、else与while或者for循环的连用,以及break随机数模块random使用随机整数,需要使用的fromrandomimportrandint随机整数的函数Randint(开始数值,结束数值),返回一个在开始数值与结束数值之间的随机整数举例:
x=randint(1,100)#x是在1-100之间的随机整数案例猜数字游戏1、随机生成一个随机整数x2、while死循环,作用为了,不断进行猜解3、注意input函数输入的值返回的是字符串类型,如果要进行数值比较,必须要进行数值类型的转换补充多条件比较t<1ort>100#t的值小于1,或者t大于100,那么结果为true如果t=50,那么50<1为false,50>100为falseFalseorfalse结果为falseOr的结论:or的前后判断,只要有一个为真true,结果就为真trueAnd的结论:and的前后判断,只要有一个为假false,结果就为假false总结强调1、随机数模块的导入2、随机数函数的使用3、注意input输入返回的是string4、多条件判断的结论5、help(random.randint)查看帮助零基础Python教程#030while语句,开启循环之路复习>>=<<=!===IsisnotintnotinWhile语句什么叫做循环?循环简单理解成重复做一件事情格式:While条件判断:
满足判断条件(true)的情况下,
多条执行语句条件判断的结果true或者false如果为true,那么会执行while语句模块内部的代码;如果为false,那么不会进入while语句内部注意布尔值,首字母大写因为python语言大小写敏感。输出1-100之间所有的数x=1
whilex<101:
print(x)
x+=1
含义:跳过本次循环,进入下一次循环continuebreak跳出当前循环语句总结强调1、while语句模块注意条件判断结果什么时候进入到while语句内部2、continue3、break零基础Python教程#037四种数字三角形复习1、如何判断奇偶性?2、while循环3、数据的统计与记录案例讲解112123123412345123456#n表示行数
n=6
i=0;
whilei<n:
forjinrange(i+1):
print(j+1,end="")
print()
i+=1案例2123456123451234123121案例3
121321432154321654321案例4123456123451234123121总结强调1、程序思维训练2、掌握图形观察的方法3、考虑复杂的图形其实是由于简单图形的变化产生的零基础Python教程#038星号菱形复习1、四种数字三角形2、训练编程思维取整运算符回顾//相当于int(数值)函数案例:星号菱形1、输出菱形的上半部分,得到一个三角形2、输出菱形下半部分,得到一个相反的三角形3、下半部分的三角形就要少一行的算法思路过程01491337252537134901511i2*i+1n//2-i-1(n//2-i-1)*2+1总结强调1、程序思维训练2、掌握星号三角形3、掌握星号菱形的算法零基础Python教程#032循环的嵌套使用,灵活运用循环语句复习1、for语句循环For值in列表:循环要执行的内容2、while语句循环While条件判断:
条件为true时要执行的代码3、列表list数组[“a”,”b”,”ccc”]多维列表一维列表:List1=[“110001”,”刘金玉”,”男”,”60”]List2=[“110002”,”如花”,”女”,”70”]List3=[“110003”,”编程”,”女”,”30”]List4=[“110004”,”创造”,”男”,”20”]二维列表:ListA=[list1,list2]listB=[list3,list4]三维列表:listC=[listA,listB]获取列表长度len函数Len(列表)返回列表的长度,注意该函数返回的是第一层的长度批量注释1、选中代码2、按快捷键ctrl+/数组的索引数组的索引开始值是0,从0开始数总结强调1、掌握for嵌套2、while嵌套3、while与for混合运用4、掌握一维数组、二维数组、三维数组零基础Python教程#96lambda表达式与函数复习函数概述1.函数的定义
2.函数的声明3.函数的代码写法格式Lambda表达式它是一个匿名函数。这个lambda表达式主要为为了一些简洁的函数写法,能够快速表达结果。写法格式:Lambda若干参数:一句话的结果。普通函数的定义#普通的函数定义defljyfuncB(a,b):returna+bprint(ljyfuncB(2,3))有关函数的传参函数的参数一般来说在函数内部就是一个局部变量,这个参数变量只能影响函数内部的情况。除非传入的是引用类型的参数变量。还有一种情况可以影响外部变量,就是声明一下全局变量。自定义函数的调用调用方法:直接写函数名称()如果你的自定义函数有参数的话,那么就要传入实际的参数值。函数的普通变量传参局部变量的使用方式:c=1d=2defljyfuncC():c=3d=4ljyfuncC()print(c,d)
说明:这种调用方式不会影响函数外面的变量的值。说明函数内部的变量作用范围就是在函数体的内部。全局变量声明c=1d=2defljyfuncC():globalc,d;c=3d=4ljyfuncC()print(c,d)说明:一旦函数体内部的变量声明变成全局变量后,这个变量的结果会直接影响函数体外部的变量的值有没有不需要声明全局变量就可以被影响值的情况呢?有的。序列的写法的时候传参默认传入的是引用参数,也就是说,传入的是指针类型。举例字典类型和列表类型的传参情况。函数的文档函数文档的定义方法:直接在自定义函数的函数名的下一行中,使用双引号或者单引号来书写函数文档内容。作用:可以帮助我们在写api的时候自动生成函数说明。也可以更加直观的让其他程序员容易看懂这个函数。如何调用文档:函数名称.__doc__由此可以看出,函数文档是作为函数体的一部分,是存储在内存中的。而我们以前学过的注释#‘’’
“””这些注释的写法的东西只能给白盒(源码)调试的程序员来解读的。在程序编译生成时候会被忽略。总结强调1.Lambda表达式与自定义函数的区别。2.自定义函数的传参(普通值的传参与引用传参的区别)。3.函数文档与普通注释的区别。零基础Python教程#123处理多个异常复习自定义异常:1.自定义类2.学会继承,继承Exception3.自定义异常的构造函数4.手动抛出异常使用raise处理多个异常1.把所有的异常进行明细化,确定异常条件,直接处理已知的异常,分别进行处理。这种情况下就是多次使用except这个关键词来处理异常。2.统一处理所有异常,把多个已知的异常归类到一起处理。我们把多个明确的异常归类到一起,用同一种方式来进行处理。我们把多个异常写到同一个except中用小括号括起来,中间的异常用逗号隔开。except(MyCustomerException1,MyCustomerException2):print("这里处理异常1和异常2的结果")3.处理其它未知的异常。处理未知异常的技巧就是在except后面不要加某一种异常情况,此时默认会处理所有的未知异常。案例:做多个异常处理的案例1.自定义多个异常2.根据实际情况,来调用自定义的几个异常3.处理异常捕获异常取别名在try…except语句中的except语句后面实际的异常,如果类名太长,我们可以取别名。格式except类常类名as别名exceptMyCustomerException1asmce1:总结强调1.掌握所有异常情况的情况方法try。。。Except2.掌握自定义异常的处理方法3.掌握异常的明细化处理4.掌握自定义异常的构造函数的信息传入和输出5.掌握使用同一个except处理多个异常零基础Python教程#98函数的可变参数复习1.函数关键字参数2.函数的参数的默认值。必须从右边写到左边。可变参数回顾系统自带的可变参数函数print#系统自带的可变参数函数print(1,2,"hello","刘金玉编程","编程创造城市",end="$$$")自定义可变参数只需要在函数参数的前面加上一个星号*在函数体内部,默认情况下,带有*的参数传入的变量,我们输出的时候是元组类型。如果要输出可变参数,我们往往针对性的方式进行输出,如果是列表(元组)形式,我们就可以参数for循环来进行输出。可变参数+普通参数结合用法1说明一下:如果可变参数在函数参数的开头的位置,普通参数在函数的第二个位置以后,那么在调用函数的时候,我们必须要采用关键字参数的用法,否则函数调用直接报错,报缺少调用参数的错误。调用举例:defadd2(*a,b):result=0forvina:result+=vresult+=breturnresultprint()print(add2(1,2,3,4,5,b=10))可变参数在中间的情况注意:可变参数前面的参数变量,在调用函数的时候传参,传入的结果是可变参数前面的这些参数都分别作为前面参数的参数变量。可变参数后面的变量,必须使用关键字参数进行传入。#定义可变参数在中间的情况defadd3(a,*b,c):result=aforvinb:result+=vresult*=creturnresult#调用可变参数在中间的情况print(add3(1,2,3,4,c=5))总结强调1.掌握可变参数的函数定义2.掌握可变参数函数的几种不同情况的用法:可变参数在开头、可变参数在中间、可变参数在末尾。零基础Python教程#99函数的序列传参复习可变参数应用场景:在不确定函数参数到底有多少个的时候,使用可变参数。使用符号星号*混合运用场景:根据可变参数在自定义函数中的不同的位置来做不同情况的调用。很有可能要结合关键字参数。函数的列表传参列表举例[“a”,”b”,”c”]其实在使用列表传参的时候比较简单,只需要将实际的列表作为参数传入到调用的函数中的时候,在列表变量前加上一个星号*即可把某个列表拆分成多个参数传入到自定义函数中。如果调用的时候不加*那么多把列表看成一个整体传入。举例:list2=["a","b","c"]defP2(*s1):forvins1:print("<"+str(v)+">")passP2(*list2)列表拆解传参的注意事项注意:如果在自定义函数的时候,定义的参数前没有加*,那么我们在调用这个函数的时候,也不能在列表参数值前加*。其实在这里,我们如果想要将列表拆解成多个参数进行传入的时候,我们必须就是要定义一个可变参数,而定义可变参数的时候,我们必须要加上一个*本质:列表拆解传入的时候,自定义函数的参数个数必须要支持实际拆解传参调用函数。函数的字典传参类似于列表拆解传参,只不过在传入的参数前面加上两个*,也即使说使用双星号**举例:dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}defD1(**d):print(d)D1(**dic1)注意:在定义函数的时候使用**进行定义的话,我们必须在调用的时候也要对传入的字典加上**同样类似于列表的去星号方式在定义字典作为参数的时候,如果定义的参数没有**,那么在调用这个函数的时候,也不要加上**,否则直接报错。总结强调函数的序列传参1.列表的拆解传参,可以使用*,也可以省略,具体要看传入的参数的数量作为本质条件。2.掌握字典的拆解传参,使用**,具体使用方法类似于列表零基础Python教程#101函数递归VS循环复习1.作用域。区别全局变量与局部变量之间不同。2.函数的嵌套定义。3.解决问题的思路For循环举例:输出1-10所有的数字。foriinrange(1,11):print(i)函数是否可以做到类似于循
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广东省八校联盟高三上学期质量检测(二)语文试题
- 2025-2026年四川省人教版七年级英语第4单元语法练习题
- 2025-2026年陕西省北师大版高三生物第9课生物技术实验测试卷
- 2025-2026年海南省苏教版小学三年级道德与法治第5课课时作业
- 浅谈数学的设计
- 中班科学毛毛虫变蝴蝶教案反思
- Unit 1 Happy Holiday Section A (Pronunciation) 同步练习人教版英语八年级上册
- 外来施工人员入场安全生产教育培训考试试卷及答案
- 网球单打规则题库及答案
- 无菌导尿术试题及答案
- 《中西方哲学对比》课件
- 《电工基础(第2版)》中职全套教学课件
- 《成人无创通气设备相关面部压力性损伤风险评估与预防指南》解读课件
- 保险金信托协议模板
- 文明礼仪伴我行班会省公开课一等奖新名师比赛一等奖课件
- 竹节桩桩基施工方案预制静压桩样本
- 订购单模板(订货单模板)
- 广东省通用安装工程综合定额(2018)Excel版
- 前言 马克思主义中国化时代化的历史进程与理论成果
- 航空航天概论导弹系统
- 护理文书书写规范
评论
0/150
提交评论