设为首页 收藏本站
查看: 1439|回复: 0

[经验分享] Python【一】:入门

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-6-12 13:55:59 | 显示全部楼层 |阅读模式
  今天重新拾起Python,之前断断续续地因为论文的缘故看过一些,不过最后由于时间太紧,终究没有进行下去;工作复习完C++之后,原本想继续Python的,不想项目从天而降,于是又甩出去半年多。赶在夏天的时间,赶紧回过头来延续这段缘分吧!

一、关于Python
   Python是一种解释型的、面向对象的,带有动态语义的高级程序设计语言。更多更详细的信息大家自可以去百度谷歌,就感觉来说,Python是一种使你在编程时能够保持自己风格的程序设计语言,相比于C++,Python即小巧又强大,易于开发。自己之所以选择了Python,是因为经历过C++的洗礼,现在自己迫切想掌握一门可以快速开发的技术,脚本是最合适不过了,但是为什么是Python而不是Ruby呢?也没有什么大道理,更多地是自己的考虑:
-1. Python中每个问题只有一个明确的解决方案,Ruby往往提供很多解决方案,自己的感觉,Python适合实实在在干事,Ruby适合创造美的;
-2. Python可以良好地兼容C,这使得可以使用Python来开发程序的框架,具体的模块可以使用C来补充效率的不足;
   好吧,其实自己有选择困难症,所以无法接受Ruby... 27.jpg
   Python编译运行只需要一个简单的解释器就可以,虽然在Eclipse中也可以集成Python插件,但是就学习来说,还是建议原汁原味的官方解释器IDLE。获取Python很简单,可以直接去官方网站:
   http://www.python.org去下载Windows或Unix/Linux版的Python,但是由于某些原因(你懂的),最近网络一直都不太好,尤其是上外网,所以可以去百度的软件源:
   Python-2.7: http://rj.baidu.com/search/index/?kw=python%25202.7
   Python-3.3: http://rj.baidu.com/search/index/?kw=python%25203.3

二、入门的小程序
   由于今天是入门的一篇,自己决定按照程序猿们的习惯,直接上个代码,根据代码来进行基础知识的讲解


    #A Basic Python Program

    import math
    import cmath
    name = raw_input("What's your name? ")
    print "Hello " + name + " \n...Welcom..."
    num = input("Please input a num for sqrt...")
    if num > 0:
        print "The sqrt is : " + str(math.sqrt(num))
    else:
        print "The c-sqrt is : " + str(cmath.sqrt(num))
    print "Thank U for coming..."
    print "CU next time!"
    raw_input("Please Enter for Exit...")



    好吧,代码就这么长,作为入门用吧,下面开始逐行做解释。
-1. #号在Python用来表示注释,就像C++中的‘//’号一样,一般好的程序都有注释,用来说明此段代码的意义,但是注意不要事无巨细地添加不必要的注释;
-2. import 用来引入特定的模块,模块中有不同的函数实现,类似于C++中的库文件,我们在成功import一个模块之后,就可以使用该模块中定义的函数,这里的math和cmath分别表示数学函数和复数数学库;
-3. raw_input和input都用来显示()内的参数,并且从标准输入接受用户输入作为函数返回值,但是不同的是,raw_input是将用户的输入都作为原始输入全部转换成字符串返回,而input函数则会针对用户输入的类型进行特定的选择,其实input函数的定义如下:
26275986_14020239835TLT.jpg
   换句话说,如果输入的是字符串""or''的形式,则input返回字符串;若输入数值42,则input返回数值类型,但是要注意,输入字符串时必须是规范写法,即带有""or''。一般来说,建议使用raw_input函数,将输入全部转换成字符串类型;
   同时name作为变量使用,概念同C/C++中的变量概念,=用来赋值操作,对于一个变量,必须先赋值,再操作;
-4. print用来打印后面的字符串,Python中字符串可以使用符号'+'进行拼接,注意的是拼接的两端必须是同一类型;str用来将()内的参数转换成字符串格式,而repr函数则可以将()内的参数转换成Python表达式值的字符串形式;其中的反斜扛你\作为转义字符使用,方法同C/C++,如\n表示换行等,需要时可以使用\\来显示\本身;
   另一点代码中没有体现的是长字符串、原始字符串和Unicode字符串。字符串很长时,可以使用末尾\的方式转移换行符连接多行的长字符串;原始字符串r'Hello\World'中的\会失去转义作用,作为单纯的字符\出现;u'HelloWorld'则用Unicode编码表示每个字符,而非默认的ASC码;
-5. if 条件: 语句用来表示Python中的条件结构,另外上述import导入的模块,使用其中的函数时,需要指明来源的模块,如math.sqrt()和cmatc.sqrt(),如果熟悉面向对象编程,这点应该不难接受;当然也可以直接from cmatch import sqrt,但是这样使用的时候会替代原本默认的sqrt函数,不建议使用;
-6. 最后添加的raw_input函数是为了在生成py文件双击运行结束时能够停留在命令窗口,作用类似于C/C++中的末尾的getchar()函数或system("pause")函数;
   好了,接下来简单看下结果:
26275986_1402024777vH91.jpg
   默认的sqrt是无法处理负数开方的问题的,必须使用cmath.sqrt才可以处理虚数。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-20461-1-1.html 上篇帖子: 基于Python的HTTPS协议模拟登陆+爬取页面 下篇帖子: Python【二】:列表与元祖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表