




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python内部培训Python简介快速、高效的开发语言胶水语言生态链完善广泛用于科学计算、数据挖掘等领域本讲义约定使用Python2.x版本3.x版本由于库没有跟上,暂时不推荐使用语法特色动态语言特性—可在运行时改变对象本身(属性和方法等)基于C/C++和JAVA,但有很大区别缩进方式,建议使用空格,不要用TAB多个语句在一行使用;分隔注释符是#,多行使用docstring(’’’…’’’)变量无需类型定义可进行函数式编程FPPython3.x的变迁编程规范PEP8编码规范
GooglePython编码规范GooglePython>PEP8编码规范开发环境PyCharm(支持PEP8语法规范、跨平台、远程调试、上传…)IPythonVIM–主要在linux下使用其它编辑器 UE,notepad++,editplus…工欲善其,事必先利其器开发环境PyCharm调试Ctrl+Alt+S --属性配置Ctrl+Shift+Alt+L--格式化文件
PPE8Ctrl+B --查看对象Ctrl+L --查找Ctrl+N --切换类Ctrl+Shift+N --切换文件Shift+F9/F10 --Debug/Run单击行 --设置断点工欲善其,事必先利其器PDB调试Python–mpdbxxx.pyb --设置断点(行,函数名)s --stepovern--nextc --continuer --runL --显示代码Exit()工欲善其,事必先利其器字符编码Python2.x默认的是OS的本地编码Python3.x是unicode内部编码.py文件第一行:#coding=utf-8,不指定编码时,文件中包含非ASCII字符会报错s1="中文1"s2=u"中文2"printunicode(s1,'utf-8').encode('gbk')prints2.encode('gbk')printtype(unicode(s1,'utf-8')),type(s2),type(s2.encode('gbk'))Helloworld表达式2+33+(7*4)3**5‘Hello’+‘World’变量赋值a=4<<3b=a*4.5c=(a+b)/2.5a=“HelloWorld”x,y=4+2,”python”pass语句
–不做任何事时使用ifa<b: passelse: c=aNonePython特有的空值表示与C/C++中的NULL是不同的函数没有明确返回的话,默认返回是None不能与其它类型进行运算字符串stringstr[::],str[0],str[1:2],str[-1:]find/index() #没有找到子串,前者不会扔出异常replace(),split(),
strip()“sub”in “str” #是否存在子串join()
>>>lst=[‘1’,’2’,’abc’,’4’,’5’]
>>>‘,’.join(lst)
‘1,2,abc,4,5’列表list赋值a=[2,3,4] #Alistofintegerb=[2,7,3.5,“Hello”]
c=[]
d=[2,[a,b]] #嵌套列表e=a+b #Jointwolists操作x=a[1] #Get2ndelement(0isfirst)y=b[1:3] #Returnasub-listz=d[1][0][2] #Nestedlistsb[0]=42 #Changeanelementprintsum(a) #=9x=a.pop(0) #pop第一个数据tuple赋值f=(2,3,4,5) #Atupleofintegersg=(,) #Anemptytupleh=(2,[3,4],(10,11,12))#Atuplecontainingmixedobjects操作x=f[1] #Elementaccess.x=3y=f[1:3] #Slices.y=(3,4)z=h[1][1] #Nesting.z=4特色与list类似,最大的不同tuple是一种只读且不可变更的数据结构不可取代tuple中的任意一个元素,因为它是只读不可变更的,也不能进行像list一样的加法操作字典dict赋值a={} #Anemptydictionaryb={’x’:3,’y’:4}
#有点类似json格式c={’uid’:105, ’login’:’beazley’, ’name’:’DavidBeazley’ }操作u=c[’uid’] #Getanelementc[’shell’]="/bin/sh" #Setanelementdict2=dict2.update(dict1)#使用dict1中的数据去更新dict2ifc.has_key("directory"): #Checkforpresenceofanmember
d=c[’directory’]else: d=Noned=c.get(“directory”,None)#带默认值的方式集合set>>>set([“hello”,“world”,“of”,“words”,“of”,“world”])
set(['world','hello','words','of'])如何删除重复数据Ls1=[1,3,5,3,7,4,5]Ls2=list(set(Ls1))可以使用&、|求两个set的交集、并集、补集、全集
s1=set([1,2,3])
s2=set([2,4])
s1&s2 #{2}
s1|s2 #{1,2,3,4}
s1-s2 #{1,3}
s1^s2 #{1,3,4}Helloworldif…elif…else语句:
没有switch,有更高级的变通方式(dict字典方式)ifa==‘+’: b=‘+’elifa==‘-’: b=‘-’else: b=None布尔表达式–and,or,notifb>=aandb<=c: print‘boolisTrue’ifnot(b<aorc>c): print‘notexpr,valueisTrue’循环While..else语句whilea<b: a=a+1else:
print‘a=’,aFor语句(遍历序列的元素)foritemin[3,4,10,25]: printitemelse:
print‘final’#Printcharactersoneatatimeforcin"HelloWorld": printc#Loopoverarangeofnumbersforiinxrange(0,100,2): printiforiinxrange(len(list1)): printlist1[i]死循环怎么办?桌面应用可以马上知道,并杀死对应进程服务器应用怎么去监控?计数器:在循环的最里面计数,超过指定数值就退出,
缺点太多了让函数带有超时功能函数def语句deffunc1(a,b):
#没有指针,函数内的数据只能通过返回 ‘’’funcspec’’’
q=a/b r=a-q*b returnr#调用方式a=func1(42,5) #a=2返回多个值deffunc2(a,b): q=a/b r=a-q*b returnq,rx,y=func2(42,5) #x=8,y=2类classclass语句classAccount(object):
#只在__init__中定义成员变量 def__init__(self,initial):
‘’’InitialClass‘’’ self.balance=initial#析构 def__del__(self)
pass
#字符串
def__str__(self)
desc=‘Account’
returndesc使用定义好的classa=Account(1000.0)a.deposit(550.23)a.deposit(100)a.withdraw(50)printa.getBalance()模块程序可分成好几个模块:
一个py文件就是一个模块;
目录下面增加__init__.py也是#numbers.pydefdivide(a,b): q=a/b r=a-q*b returnq,rdefgcd(x,y): g=y whilex>0: g=x x=y%x y=g returngimport语句importnumbersx,y=numbers.divide(42,5)n=numbers.gcd(7291823,5683)__import__()动态载入模块一个模块只载入一次实例会继承新加载的模块异常处理try语句try: f=open(“foo“,”r”)exceptIOError: print"Couldn’topen’foo’.Sorry.“FinallyBaseException,e:
logging.exception(e)raise语句deffactorial(n): ifn<0: raiseValueError,"Expectednon-negativenumber" if(n<=1): return1 else: returnn*factorial(n-1)沒有处理的异常>>>factorial(-1)Traceback(innermostlast): File"<stdin>",line1,in? File"<stdin>",line3,infactorialValueError:Expectednon-negativenumber文件操作open()函数f=open("foo","w") #Openafileforwritingg=open("bar","r") #Openafileforreading文件的读取/写入f.write("HelloWorld")buff=g.read() #Readalldataline=g.readline() #Readasinglelinelines=g.readlines() #Readdataasalistoflines
异常处理
try:
f=open(“foo”,”w”)
exception:
XXX文件操作
With语句Withopen(‘foo’)asfile:
data=file.read()大文件—yield指针?引用?Python里面没有指针所有都是对象对象之间都是引用(引用计数方式)常用的对象都有cache默认是浅拷贝,深拷贝代码import
copy
ls1=[1,”test”,(3.4,7),{“key”:1,“comment”:”yourcomment”}]ls2=copy.deepcopy(ls1)正则表达式导入模块:
importre
p=pile(r'ab*',re.IGNORECASE)
p=pile('[a-z]+')map/reduce云计算的核心算法Map是将一个大任务拆分为很多个小任务Reduce则将每个小任务的计算结果进行收集和汇总Filter过滤Python并行多线程Python并行多线程(map)Python并行多进程同步模式(apply_async)异步模式(apply)Python并行多进程(map)Map为异步模式单元测试unittest模块中的TestCase
类代表测试用例性能优化Python的开发效率很高Python的执行效率很低,比C++和JAVA都慢循环/函数调用等很消耗资源数据结构的性能很高,目前可以认为是优化到极致优化方式:用timeit分析之后优化对应代码NUMPY与IO优化使用C模块来替换业务热点部分地方可以使用map来替代for…in…循环性能优化优化实例未优化版本:17.93秒CTYPE优化版本:0.29秒Numpy+IO优化版本:0.74秒Python程序基础框架Python程序基础框架主函数Python程序基础框架模块公共服务:PYTHONPATH__init__()做初使化测试全覆盖历史ⅱ岳麓版第13课交通与通讯的变化资料精品课件欢迎使用[自读教材·填要点]一、铁路,更多的铁路1.地位铁路是
建设的重点,便于国计民生,成为国民经济发展的动脉。2.出现1881年,中国自建的第一条铁路——唐山
至胥各庄铁路建成通车。1888年,宫廷专用铁路落成。交通运输开平
3.发展(1)原因:①甲午战争以后列强激烈争夺在华铁路的
。②修路成为中国人
的强烈愿望。(2)成果:1909年
建成通车;民国以后,各条商路修筑权收归国有。4.制约因素政潮迭起,军阀混战,社会经济凋敝,铁路建设始终未入正轨。修筑权救亡图存京张铁路
二、水运与航空1.水运(1)1872年,
正式成立,标志着中国新式航运业的诞生。(2)1900年前后,民间兴办的各种轮船航运公司近百家,几乎都是在列强排挤中艰难求生。2.航空(1)起步:1918年,附设在福建马尾造船厂的海军飞机工程处开始研制
。(2)发展:1918年,北洋政府在交通部下设“
”;此后十年间,航空事业获得较快发展。轮船招商局水上飞机筹办航空事宜处三、从驿传到邮政1.邮政(1)初办邮政:1896年成立“大清邮政局”,此后又设
,邮传正式脱离海关。(2)进一步发展:1913年,北洋政府宣布裁撤全部驿站;1920年,中国首次参加
。邮传部万国邮联大会2.电讯(1)开端:1877年,福建巡抚在
架设第一条电报线,成为中国自办电报的开端。(2)特点:进程曲折,发展缓慢,直到20世纪30年代情况才发生变化。3.交通通讯变化的影响(1)新式交通促进了经济发展,改变了人们的通讯手段和
,
转变了人们的思想观念。(2)交通近代化使中国同世界的联系大大增强,使异地传输更为便捷。(3)促进了中国的经济与社会发展,也使人们的生活
。台湾出行方式多姿多彩[合作探究·提认知]
电视剧《闯关东》讲述了济南章丘朱家峪人朱开山一家,从清末到九一八事变爆发闯关东的前尘往事。下图是朱开山一家从山东辗转逃亡到东北途中可能用到的四种交通工具。依据材料概括晚清中国交通方式的特点,并分析其成因。
提示:特点:新旧交通工具并存(或:传统的帆船、独轮车,近代的小火轮、火车同时使用)。
原因:近代西方列强的侵略加剧了中国的贫困,阻碍社会发展;西方工业文明的冲击与示范;中国民族工业的兴起与发展;政府及各阶层人士的提倡与推动。[串点成面·握全局]
一、近代交通业发展的原因、特点及影响1.原因(1)先进的中国人为救国救民,积极兴办近代交通业,促进中国社会发展。(2)列强侵华的需要。为扩大在华利益,加强控制、镇压中国人民的反抗,控制和操纵中国交通建设。(3)工业革命的成果传入中国,为近代交通业的发展提供了物质条件。2.特点(1)近代中国交通业逐渐开始近代化的进程,铁路、水运和航空都获得了一定程度的发展。(2)近代中国交通业受到西方列强的控制和操纵。(3)地域之间的发展不平衡。3.影响(1)积极影响:促进了经济发展,改变了人们的出行方式,一定程度上转变了人们的思想观念;加强了中国与世界各地的联系,丰富了人们的生活。(2)消极影响:有利于西方列强的政治侵略和经济掠夺。1.李鸿章1872年在上海创办轮船招商局,“前10年盈和,成为长江上重要商局,招商局和英商太古、怡和三家呈鼎立之势”。这说明该企业的创办 (
)A.打破了外商对中国航运业的垄断B.阻止了外国对中国的经济侵略C.标志着中国近代化的起步D.使李鸿章转变为民族资本家解析:李鸿章是地主阶级的代表,并未转化为民族资本家;洋务运动标志着中国近代化的开端,但不是具体以某个企业的创办为标志;洋务运动中民用企业的创办在一定程度上抵制了列强的经济侵略,但是并未能阻止其侵略。故B、C、D三项表述都有错误。答案:A二、近代以来交通、通讯工具的进步对人们社会生活的影响(1)交通工具和交通事业的发展,不仅推动各地经济文化交流和发展,而且也促进信息的传播,开阔人们的视野,加快生活的节奏,对人们的社会生活产生了深刻影响。(2)通讯工具的变迁和电讯事业的发展,使信息的传递变得快捷简便,深刻地改变着人们的思想观念,影响着人们的社会生活。2.清朝黄遵宪曾作诗曰:“钟声一及时,顷刻不少留。虽有万钧柁,动如绕指柔。”这是在描写 (
)A.电话B.汽车C.电报 D.火车解析:从“万钧柁”“动如绕指柔”可推断为火车。答案:D[典题例析][例1]
上海世博会曾吸引了大批海内外人士利用各种交通工具前往参观。然而在19世纪七十年代,江苏沿江居民到上海,最有可能乘坐的交通工具是 (
)A.江南制造总局的汽车B.洋人发明的火车C.轮船招商局的轮船D.福州船政局的军舰[解析]由材料信息“19世纪七十年代,由江苏沿江居民到上海”可判断最有可能是轮船招商局的轮船。[答案]
C[题组冲关]1.中国近代史上首次打破列强垄断局面的交通行业是(
)A.公路运输 B.铁路运输C.轮船运输 D.航空运输解析:根据所学1872年李鸿章创办轮船招商局,这是洋务运动中由军工企业转向兼办民用企业、由官办转向官督商办的第一个企业。具有打破外轮垄断中国航运业的积极意义,这在一定程度上保护了中国的权利。据此本题选C项。答案:C2.右图是1909年《民呼日报》上登载的一幅漫画,其要表达的主题是(
)A.帝国主义掠夺中国铁路权益B.西方国家学习中国文化C.西方列强掀起瓜分中国狂潮D.西方八国组成联军侵略中国解析:从图片中可以了解到各国举的灯笼是火车形状,20世纪初的这一幅漫画正反映了帝国主义掠夺中国铁路权益。B项说法错误,C项不能反映漫画的主题,D项时间上不一致。答案:A[典题例析][例2]
(2010·福建高考)上海是近代中国茶叶的一个外销中心。1884年,福建茶叶市场出现了茶叶收购价格与上海出口价格同步变动的现象。与这一现象直接相关的近代事业是(
)A.电报业 B.大众报业C.铁路交通业 D.轮船航运业[解析]材料主要反映了信息交流的快捷,故选A。[答案]
A[题组冲关]3.假如某爱国实业家在20世纪初需要了解全国各地商业信息,可采用的最快捷的方式是 (
)A.乘坐飞机赴各地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州安顺市紫云苗族布依族自治县利源融资担保有限责任公司招聘1人模拟试卷及答案详解(夺冠)
- 2025年湖南娄底市城市发展控股集团有限公司外派人员选聘模拟试卷附答案详解(突破训练)
- 2025广西河池市教师招聘中小学幼儿园教师565人考前自测高频考点模拟试题及答案详解(必刷)
- 2025安徽安庆职业技术学院招聘33人考前自测高频考点模拟试题及答案详解(新)
- 2025河南新乡市碳汇计量检测中心招聘模拟试卷及答案详解(典优)
- 2025黑龙江鸡西市中级人民法院招聘临时聘用人员2人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025北京市高校毕业生到农村从事支农工作招聘473人模拟试卷及答案详解(各地真题)
- 2025北京华商电力产业发展有限公司2025年搞笑毕业生招聘29人(第三批)考前自测高频考点模拟试题带答案详解
- 2025安徽合力股份有限公司校园招聘考前自测高频考点模拟试题附答案详解
- 2025贵州机电职业技术学院第十三届贵州人才博览会引进人才15人模拟试卷附答案详解(典型题)
- 生产主管转正工作总结
- 2025至2030中国高纯铝行业发展趋势与行业发展研究与产业战略规划分析评估报告
- 2025年期货从业资格之《期货法律法规》真题附答案详解【巩固】
- 幼儿园各项安全管理制度汇编
- 2025年“安全生产年”工作总结(2篇)
- GB/T 2481.1-2025固结磨具用磨料粒度组成的检测和标记第1部分:粗磨粒F4~F220
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- 配电电缆故障定位试卷与答案
- 四川日普精化有限公司年产3000吨脂肪酸酰胺与1000吨有机硅树脂涂剂配套设施改造项目环评报告
- 2025年教育督导员督导知识试卷及答案
- 职业技能竞赛-园林绿化工理知识试题库
评论
0/150
提交评论