市面上不乏python入门教程,但深入讲解python语言和应用的课程甚少,本课程定位深入理解python核心语法,结合实际应用场景,带领初学python或是有其它编程语言背景的程序员能快速掌握这门强大的语言,使其能在开发中发挥强大的生产力。传智播客c++学院出品编程基础最大的优势在于它的字符串模式匹配能力,其提供一个十分强大的正则表达式匹配引擎。核心实现依赖perl,但语法比perl易懂的多。高级语言,面向对象,可拓展,可移植,语法清晰,易维护,高效的原型。我为什么推崇Python?1.干某一件事情,C需要100行,JAVA需要50行,Python只需要10行,当你忙于编写代码或是设计框架时,Python程序员已经早早的下班开启了把妹之旅。2.面向对象开发,方便团队协作,语言间的万能胶水,当需要高性能的处理时可以自然粘合c/c++模块。3.信奉python的哲学在python解释器中输入,”importthis”漂亮比丑陋要好。直接比含蓄要好。简单比繁复要好。繁复比复杂要好。平铺比嵌套要好。稀疏比密集要好。可读性很重要。特例不能破坏规则。尽管实用优于纯正。错误永远不能安静的通过。除非明确的让它安静。拒绝在模糊的地方猜测。应当有一种,并且最好只有一种,明显的方法去做一件事。尽管开始时那种方法并不明显,除非你是荷兰人。现在要比永远不更好。尽管永远不常常比当前要好。如果一个实现很难解释,那么它就是一个不好的想法。如果一个实现容易解释,那么它可能是一个好的想法。名称空间是一个很伟大的想法,让我们做的更多。python家族:C语言实现,CPython,扩展可用C/C++Java实现,Jython,扩展可用Java.Net实现,IronPython,扩展可用C#python能干什么?科学计算图形化开发系统脚本web服务器网络爬虫服务器集群自动化运维1高效的开发环境与基础1.1python开发环境Mac/Linux发行版目前默认安装pythonipythonpython官方IDE,在python发行版自带Eclipse+pydevPyScriptersublimetext31.1.1Windows下SublimeText3和python语言环境sublimetext官方下载地址,请根据自己的操作系统平台选择对应版本下载地址下SublimeText3和python语言环境Linux系统选择广受大家欢迎的Ubuntu14.04,如果没有此环境可以选择使用传智C++学院配置好的虚拟机镜像下载链接:密码:b77w用户名:itcast密码:itcastsublimetext官方下载地址,请根据自己的操作系统平台选择对应版本默认是安装了python2.7的1.1.3Ubuntu下ipython1.安装sudoapt-getinstallipython2.启动itcast@itcast:~/workspace/chuanzhi/openlessons$ipython3.体验printhelloitcastcpp#此为python2的写法4.退出ctrl+d5.案例importrequestsres=requests.get()savefile=open(itcast.html,w)savefile.write(res.content)savefile.close()6.技巧%history:记录敲过的命令,方便从命令转为脚本文件tab:补齐命令或路径1.1.2Sublime使用技巧1.安装package管理工具`ctrl+``调出命令输入窗口importurllib.request,os;pf='PackageControl.sublime-package';ipp=sublime.installed_packages_path()urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('('','%20')).read());设置vim模式,SublimeText内置Vim模式支持,你只需到用户设置文件将“ignored_packages”:[“vintage”]中的vintage删除即可。2.调出installpackage界面ctrl+shift+pinstallpackage3.常用工具包AdvancedNewFileDjaneiroEmmetGitSideBarHTML/CSS/JSPrettifyPythonPEP8AutoformatSublimeCodeIntelColorPickerOmniMarkupPreviewer4.常用包使用说明AdvancedNewFile可以创建文件,也可以连目录和文件都创建win+alt+nDjaneirodjango一些语法快速补齐功能,参考如下快速缩写html,tab补齐html:5补齐htmlp.foo补齐classp#foo补齐id子元素符号,表示嵌套的元素+同级标签符号^可以使该符号前的标签提升一行更多参考:集成gitctrl+shift+p输入gitSideBar折叠目录树ctrl+kctrl+bHTML/CSS/JSPrettify格式化代码,鼠标右键,从里面选PythonPEP8Autoformat格式化python代码ctrl+shift+rSublimeCodeIntel自动匹配补全代码ctrl+f3调到变量定义的地方ColorPicker屏幕拾色器ctrl+shift+cOmniMarkupPreviewer更多插件,设置OmniMarkupPreviewer的packagesetting中的default。修改里面的extensionsextensions:[extra,codehilite,toc,strikeout,smarty,subscript,superscript]安装语法高亮支持插件sudopipinstallpygmentsConvertToUTF8直接在菜单栏中可以转,专为中文设计TerminalSublime版的在当前文件夹内打开ctrl+shift+tSideBarEnhancements右键一下子多处很多选择自带技巧修改同一个变量,光标放在变量后,两次ctrl+d多变量修改,按住ctrl,鼠标点击修改位置查找ctrl+f插入注释ctrl+shift+/注释当前行ctrl+/分屏Alt+Shift+1(非小键盘)窗口分屏,恢复默认1屏Alt+Shift+2左右分屏-2列Alt+Shift+3左右分屏-3列Alt+Shift+4左右分屏-4列Alt+Shift+5等分4屏Alt+Shift+8垂直分屏-2屏Alt+Shift+9垂直分屏-3屏标签切换alt+数字Ctrl+Shift+P打开命令面板关闭当前标签文件ctrl+f4f11全屏脚本一键安装cd~/home/ace/.config/sublime-text-3/PackagesechoInstall...echo==================================================echo===PackageControl===rm-rfPackageControlgitclone===BlockCursorEverwhere===rm-rfBlockCursorEverwheregitclone基础数据类型整型:通常被称为是整型或整数,是正或负整数,不带小数点。长整型:无限大小的整数,整数最后是一个大写(或小写)的L。浮点型:浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2=2.5x102=250)复数:复数的虚部以字母J或j结尾。如:2+3j布尔类型:True,False字符串:单引号,双引号,三个单引号扩起来获取变量的数据类型type(var_name)主提示符在等待下一条语句次提示符...在等待当前语句的其他部分1.3变量1.3.1变量本质1.python中的变量不需要先定义,再使用,可以直接使用,还有重新使用用以存储不同类型的值。2.变量命名遵循C命名风格。3.大小写敏感。4.变量引用计数。5.del语句可以直接释放资源,变量名删除,引用计数减1。6.变量内存自动管理回收,垃圾收集。7.指定编码在文件开头加入#-*-coding:UTF-8-*-或者#coding=utf-8。a=12#无需定义,直接使用,python解释器根据右值决定左侧类型printa12id(a)#变量a在内存中的编号136776784type(a)#a的类型为int类型class'int'b=12.34printb12.34id(b)#变量b在内存中所占内存编号3071447616type(b)class'float'#b的类型为floata=itcast#变量a从新指向一个字符串printaitcastid(a)#变量a在内存中的编号为保存“itcast”地方,原来a所指向的内存编号里内容并没有立即释放3071127936type(a)#变量a现在指向一个字符串class'str'c=bprintc12.34id(c)#变量c保存的内存中的编号和b一致3071447616type(c)class'float'b=12#解释器在内存中发现有保存12的这个单元,于是变量b指向了此单元,减少了存储空间的反复申请与释放id(b)136776784type(b)class'int'printb12printaitcastdel(a)printaTraceback(mostrecentcalllast):Filestdin,line1,inmoduleNameError:name'a'isnotdefined1.4简单函数函数定义格式defadd(x,y):z=x+yreturnzres=add(3,5)printres81.def定义函数的关键字2.x和y为形参,不需要类型修饰3.函数定义行需跟’:’4.函数体整体缩进5.函数可以拥有返回值,若无返回值,返回None,相当于C中的NULL1.5输入输出函数#输出#print函数print%sis%dhelloworld%(tody,1)todyis1helloworld#输入a=raw_input()123printa#raw_input()从标准输入获取数据返回的数据是字符串类型需要使用int()进行转换1.6局部变量和全局变量代码1.局部变量作用域覆盖