注释

Phython的注释和C语言非常不同,第一种 #开头的注释,类似于C的//开头,而"""对 包围注释,类似于C的/* */,以及xml类的<!--    -->。#号注释也就算了,"""实在无语,不知道这种另辟蹊径有什么好,徒增学习成本。

函数

Python的函数(类方法)的定义比较奇葩,以def开头,接着函数名,参数列表,冒号,函数体内容需缩进,如下,对于C、Java系统出身的人,没有花括号,真是不习惯啊

def funcname (params) :

  ......

  ......

  return ...

函数能返回多个值

在看Python代码时经常发现函数返回多个结果值的情况,翻了资料才知道,其实也是单值返回,只是返回的就是数组而已,唯一的差别在于Python可以定义多个变量接收返回值,这个确实方便

下划线

有的时候看到函数返回值用_接收,或 for _ in range的语句,查了资料,_表示临时性的变量等,我们不关心此变量的值,但语法上又不能缺少,大致如此,不求甚解

[:num]及[num:]写法

其中num是数组索引,如果是负数则从尾巴上数,-1表示最后一个元素,冒号表示分割,冒号在前,表示取索引前的所有元素,冒号在后,表示取索引所在位置及后面的所有元素。

举例:

>>> '123'[2:]
'3'
>>> '123'[:2]
'12'

类成员函数self参数

python类成员函数与普通函数形式一致,但要求第一个参数为self,在C程序员眼里这个真是非常无聊的事情,默认提供一个this关键字不是更好吗

字符串格式

python的字符串格式,使用%操作符,举例说明:

>>> a=1
>>> b=2
>>> '%d:%d' % (a, b)
'1:2'

非常简单,好用!

函数的关键字参数

函数的调用可以根据位置顺序来指定参数即位置参数,也可以根据参数名字来指定参数即关键字参数,使用关键字参数时,参数的位置无关,类似于JSON中的key;如果混合位置参数和关键字参数,那么,位置参数必须在前面,举例:

>>> def myprint(name, age):
... print 'name=%s age=%d' % (name, age)
...
>>>
>>> myprint('tom', 8)
name=tom age=8
>>> myprint(age=8, name='tom')
name=tom age=8
>>> myprint('tom', age=8)
name=tom age=8

在JavaScript编码中,经常会使用Object来传递参数,好处是参数非常灵活,Python的这种调用方式,在此基础上更跨一步。

函数的属性变量

在Python中一切皆对象,函数也是,所以可以通过函数名.变量名的方式来定义变量,如下:

>>> def billux():
... print 'hello'
...
>>> billux()
hello
>>> billux.v = 4.5
>>> billux.v
4.5

C程序员眼里的Python的更多相关文章

  1. [python]通过微信公众号“Python程序员”,编写python代码

    今天发现微信公众号中,居然可以编写python代码,很是惊喜,觉得蛮有趣的. 步骤如下: 1.关注微信公众号“Python程序员” 2.关注成功后,点击右下角的“潘多拉”->"Pyth ...

  2. 资深程序员:学Python我推荐你用这几款编辑器

    Python使用什么编辑比较好,Python编辑器推荐 各位 Pythoner 好啊!在这个烦躁的时代,相聚就是缘分,很高兴各位 Pythoner 能相聚于此,希望接下来的路,我们一起走下去,使用 P ...

  3. java程序员快速掌握python系列——概述

    这一系列主要是总结学习python过程中的方方面面(已经学完,时间大概是一周左右).当然限于个人水平java也就是够用,python短时间内也不可能深入到哪里去.所以这次的分享的目的是能够快速使用py ...

  4. 程序员的冷笑话 python版本

    在伯乐在线上看到了个冷笑话,感觉很有意思. void tellStory() { printf("从前有座山\n"); printf("山上有座庙\n"); p ...

  5. 程序员眼里IE浏览器是什么样的

    主流浏览器之争从上个世纪开就开始,已经持续了很长的时间.就在几年前,IE还是最主流的web浏览器.但现在形势完全不同了,人们都在笑话IE,纷纷转向其它浏览器.今天,我向大家分享一下针对IE的搞笑图片, ...

  6. Python超级程序员使用的开发工具

    我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ...

  7. 程序员带你十天快速入门Python,玩转电脑软件开发(三)

    声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...

  8. 给Lisp程序员的Python简介

    给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Pyth ...

  9. 程序员,Python 这次彻底上位了!

    在 2018 年底,我们迎来了编程语言的最后一波洗礼.近期 TIOBE 公布了 12 月编程语言排行榜,前三名变为: Java.C.Python. 而在 PYPL 榜单上 Python 在今年 5 月 ...

随机推荐

  1. curl命令备注

    curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本.1.get请求:curl "h ...

  2. Zookeeper实现负载均衡

    原理解析         架构图                  每台WorkServer启动的时候都会到Server创建临时节点.         每台ClientServer启动的时候,都会到S ...

  3. 9、Libgdx的输入处理

    (官网:www.libgdx.cn) 不同的平台有着不同的输入方式.桌面用户可以通过键盘和鼠标与应用进行交互,基于浏览器的游戏也是这样.在Android中,鼠标被触摸屏所替代,通常没有实体键盘.And ...

  4. H5学习之旅-H5列表(8)

    列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 1.无序列表:使用标签 ul,li 属性:disc(默认实心圆) circle (空心 ...

  5. 在Cocos2D中改变动态物体为静态物体

    原文链接,有压缩和简化 1.导入一个新的头文件 首先你要知道,不是所有Chimpunk特性都通过Cocos2d的类暴露出来,比如CCPhysicsNode和CCPhysicsBody.对于一些更高级的 ...

  6. Javascript和BHO的相互调用简介

    v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...

  7. 64位ubuntu14.04配置adb后提示没有那个文件或目录

    1.配置完adb环境变量后在终端输入adb: ameyume@ameyume-HP-450-Notebook-PC:~$ adb /home/ameyume/adt-bundle-linux-x86_ ...

  8. Android使用Canvas实现跑马灯

    网上的很多的教程都是通过更改TextView的属性进行跑马灯的设计.这样做有很多的缺点: 1.如果TextView没有获取焦点,那么跑马灯的效果无法实现. 2.如果文本长度小于TextView的宽度, ...

  9. 在Android中afinal框架下实现sqlite数据库版本升级的办法

    上一篇文章采用的是SQLiteOpenHelper中的onUpgrade方法实现数据库的升级. 首先获取Context: private Context mContext=this; 然后实现Fina ...

  10. Linux的常用命令(2) - 关机

    关机命令 shutdown‑h now 立即进行关机 shutdown‑r now 现在重新启动计算机 -t sec : -t后面加秒数,即"过几秒后关机" -k      : 不 ...