在C++的程序员眼中,脚本是个奇葩的逻辑。当然也可能我比较奇葩。不过从Lua走过来,python的理解也不那么难。记录一下刚学python要注意的东西,也算是个快速入门吧。如果你是从C++过来的,那你来对地方了。
避免运行脚本闪过可以添加raw_input()。这相当于getline。
在命令行中可以直接键入filename.py来运行脚本。
导入模块用import moduleName。注意没有.py。然后使用moduleName.attr即可使用相应的属性。也可使用from module import attr命令,如此做则可直接使用属性。第一次导入模块时会运行脚本,但第二次导入不会。用reload可以重写导入模块,并运行模块。
交互模式下使用dir(moduleName)可以列出模块中的属性名称。

Python内置对象
数字:
  **表示乘方。
import math导入数学库,可使用pi、sqrt等常用方法。
import random 导入随机数库。
    使用random.random()产生0-1的随机数。也可random.choice([1,2,3,4]),在列表中选择。 
    random.int(1,10),在1到10中产生随机数。
字符串:
    字符串是常量,不可更改,只能重新赋值。
    len()计算长度。支持下标随机访问。
    可以用s[-1]的方式表示倒数,其等效于s[len(s)-1]。
    拆分字符串用分片(slice)机制。 
        形式为X[I:J]。表示取出X中从I到J的内容,左开右闭。
        如果I、J空出来,则分别表示0和len(X)。当然I、J可为负数。
    字符串连接可以用'+',例如:S = S +'a'。此时S已经创建了一个新对象了。
    字符串查找使用find(),返回偏移量位置。
    字符串替换使用replace返回替换后的串。
    字符串的split使用split函数。分成的结果存入一个列表。
    字符串有基本操作的一些方法,如:upper、isalpha、rstrip等。
    三引号可定义一段复杂文本。这些文字会被转化为相应的串,包含制表符等符号。同时也可用作注释,相当于/***/

帮助:
    dir(变量)的方法可以列出对象的所有属性和方法。具体方法的解释可使用help命令。例如:help(S.index)。

模式匹配:
    import re。具体涉及正则表达式,再查吧。

列表:
    列表能够进行索引,切片等操作,像对字符串一样。例如用[:]、[-1]等。
    列表与数组有些类似,但强大的多。列表没有固定类型的约束,也能按需要增减大小,响应特定操作。有操作如:append、pop、'+'、sort、reverse。
    列表解析通过在一个列表中运行一个表达式而建立一个新的列表。它编写在方括号中,并且有表达式和循环结构。有点像是sql语句。形如:
        [func(value) for value in list [statment]]
    这条语句会将每一个list中的元素赋值给value,检查statment中条件是否符合,然后运行func(value),将其值创建为新列表中的一个项。例如:[row[1] for row in M if row[1]%2 == 0]。

字典:
    表示方法为{key:value,key:value...}。
    value可以是任何数据类型比如列表。内存是自动管理的,不需要释放。
    字典的输出并不是有序的,我推测内部实现方法是树。
    固定顺序输出可先将键排序,再用for key in Keys: 的方法。或直接用sorted()方法。例如:for key in sorted(D): 。
可以通过.has_key判断是否有对应的键。

元组:
不能更改,其它跟列表相似。

文件:
open(filename,weight)。默认权限为'r',创建或打开文件。write()写入文件。read()读出文件内容。注意只能读一次。

python中,按算符的优先级确定计算顺序。表的操作符中越靠后的优先级越高。当然还是提倡使用括号。
Floor除法。抛弃小数部分之后的除值,即%的商的部分。
python中长整形任意大。当长度超过int时,会自动转换为长整形。
支持位操作。八进制数以0开头,16进制以0x开头。oct(num)、hex(num)、int()可以对数字进行转换。

脚本动态对象实现逻辑:
每一个声明出的变量名并没有实际的类型,变量名是一个void指针,指向对象。另一方面,对象知道自己的类型,每个对象都包含了一个头部信息,标记了这个对象的类型。赋值有三个操作:创建一个对象、创建一个变量、将变量与对象连接。
     当变量名指向新对象时,旧对象内存就被回收(这要是能不慢都见鬼了)。
    变量不能指向变量。只能指向对象。因此当两个变量之间赋值时,实际意思是要保持一致。他们实际上共享了对象。这样就不会存在内存访问的问题,代价就是效率低到爆。当原变量更改而不是对象更改时,会产生分歧。因此对于列表L2=L1,当L1中的值改变时,对象变了,变量并没有变,所以L2的值也会变化,如果你不希望这样可以简单的使用分片技术:L2 = L1[:]。如果是字典的话,就要import copy,使用copy.copy()函数了。
    使用"=="操作符,测试两个被引用的对象是否值相同。"is"操作符,检查对象是否指向同一对象。注意小的数字和字符串是在缓存中被复用的。因此is判断会为真。
大概就写这些,以后可能在这里再增加。有必要也会新写一篇,欢迎大家关注。

本篇博客出自阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/8986698

Python概述:C++程序员眼中的Python相关推荐

  1. 程序员女朋友礼物python代码_@程序员,用 Python 给女朋友准备个儿童节礼物可好?...

    原标题:@程序员,用 Python 给女朋友准备个儿童节礼物可好? 作者 | 猿媛牧场 现在谈个恋爱.结个婚是真的炸啊.你 2.14 要送礼物,我认了,必须送啊,没有理由不送啊:3.14 白色情人节, ...

  2. 对象列表Python概述:C++程序员眼中的Python

    在写这篇文章之前,xxx已写过了几篇关于改对象列表主题的文章,想要了解的朋友可以去翻一下之前的文章 字符串查找应用find(),返回偏移量位置. 字符串替换应用replace返回替换后的串. 字符串的 ...

  3. python 中煤_程序员如何用Python科学炒股

    菜鸟学Python的第155篇原创文章 阅读本文大概需要3分钟 菜鸟独白 我是一个程序员,也是一个老股民,差不多有5年的股龄,经历过牛市也经历过熊市.起起伏伏,都没有怎么赚钱,至到去年我开始用Pyth ...

  4. 人工智能热潮带火了Python,老程序员如何看Python的前景~

    python已经火了几十年了.它是一个1989年诞生的语言,很可能比你都老. 现在的火爆,其实是因为它本身的能力一直在 脚本与科学计算,这两种领域.虽然它本身在Web开发这个实际上应用最多的领域也有不 ...

  5. 基于Python分析深圳程序员工资有多高?

    基于Python分析深圳程序员工资有多高? 概述 前言 统计结果 爬虫技术分析 爬虫代码实现 爬虫分析实现 后记 前言 多图预警.多图预警.多图预警.校招季,毕业也多,跳槽也多.我们的职业发展还是要顺 ...

  6. python是c语言写的吗-先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

  7. python浪漫代码-使用Python代码的程序员也浪漫

    原标题:使用Python代码的程序员也浪漫 代码也浪漫:用Python放一场圣诞节烟花秀! 天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花庆祝昨晚法 ...

  8. python好学吗 老程序员-使用 Python 会降低程序员的编程能力吗?

    某些情况下会降低编程能力,某些情况下会提升编程能力,要看你怎么理解"编程能力". 1.使用 Python 会降低程序员的编程能力,这个假设成立的情形 如果强行要说使用Python可 ...

  9. 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

最新文章

  1. 【机器视觉】机器视觉产业链
  2. MVC模式和文档/视图结构
  3. eclipse 注释星号没对齐_36 个奇葩代码注释,看完笑哭了!
  4. 美国计算机科学奥林匹克竞赛试题,中学信息奥林匹克竞赛试题精选.doc
  5. 百度AI开发者实战营即将走进杭州,还带来了一大波福利!
  6. 6 - VC Bound (P[BAD]的真正上限)
  7. 【解决办法】C++2015安装不上,说是要安装Windows6.1-KB2999226-x64.msu这个补丁,下载下来怎么安装!...
  8. 【转】GitHub客户端操作1--仓库相关操作github团队协作流程
  9. matlab正交表,正交表的构造方法及Matlab实现
  10. 【EduCoder答案】HTML——表单类的标签
  11. 多线程:synchronized关键字解析
  12. 华为畅享max什么时候鸿蒙,华为鸿蒙系统正式推送 具体怎么样及支持哪些手机带你前先看...
  13. 笔记本电脑外接显示器出现灰屏
  14. Html HBuilder封装APP
  15. 苹果开发者账户续费 支付授权失败(终极解决方案)
  16. html css样式绘制向下或者向上箭头
  17. JavaScript系列之FileReader
  18. PP相关的 bapi
  19. 乱七八糟的笔记(%)
  20. 鸿蒙系统为什么能用太极框架,玩机福音:华为 EMUI 升级鸿蒙之后依然可使用太极运行 Xposed...

热门文章

  1. linux节点状态 slurm,linux – 为什么slurm中的作业在TensorFlow脚本中无限期冻结?
  2. 微信小程序云开发CMS内容管理平台csv上传乱码或失败的解决方法
  3. java 解决倒水问题
  4. el-input实现尾部加字
  5. SetDlgItemText
  6. PCA9555 Studying
  7. eclipse打不开的问题
  8. 一天发十万封邮件方法_网上投递简历,如何避免求职邮件成为垃圾?
  9. 浏览器手动设置Cookie
  10. jQuery中ajax跨域请求