C程序员眼里的Python
注释
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的更多相关文章
- [python]通过微信公众号“Python程序员”,编写python代码
今天发现微信公众号中,居然可以编写python代码,很是惊喜,觉得蛮有趣的. 步骤如下: 1.关注微信公众号“Python程序员” 2.关注成功后,点击右下角的“潘多拉”->"Pyth ...
- 资深程序员:学Python我推荐你用这几款编辑器
Python使用什么编辑比较好,Python编辑器推荐 各位 Pythoner 好啊!在这个烦躁的时代,相聚就是缘分,很高兴各位 Pythoner 能相聚于此,希望接下来的路,我们一起走下去,使用 P ...
- java程序员快速掌握python系列——概述
这一系列主要是总结学习python过程中的方方面面(已经学完,时间大概是一周左右).当然限于个人水平java也就是够用,python短时间内也不可能深入到哪里去.所以这次的分享的目的是能够快速使用py ...
- 程序员的冷笑话 python版本
在伯乐在线上看到了个冷笑话,感觉很有意思. void tellStory() { printf("从前有座山\n"); printf("山上有座庙\n"); p ...
- 程序员眼里IE浏览器是什么样的
主流浏览器之争从上个世纪开就开始,已经持续了很长的时间.就在几年前,IE还是最主流的web浏览器.但现在形势完全不同了,人们都在笑话IE,纷纷转向其它浏览器.今天,我向大家分享一下针对IE的搞笑图片, ...
- Python超级程序员使用的开发工具
我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发? 你将来的计划是什么? 有什么给Py ...
- 程序员带你十天快速入门Python,玩转电脑软件开发(三)
声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...
- 给Lisp程序员的Python简介
给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Pyth ...
- 程序员,Python 这次彻底上位了!
在 2018 年底,我们迎来了编程语言的最后一波洗礼.近期 TIOBE 公布了 12 月编程语言排行榜,前三名变为: Java.C.Python. 而在 PYPL 榜单上 Python 在今年 5 月 ...
随机推荐
- ubuntu更改用户密码
在安装ubuntu时使用了主目录加密的功能( 登入时需要密码并加密我的主目录), 设此时密码为abcd1234, 如果修改了用户的密码(passwd=>abcde12345),那么在下次启动时, ...
- Linux进程实践(5) --守护进程
概述 守护进程是在需要在后台长期运行不受终端控制的进程,通常情况下守护进程在系统启动时自动运行,在服务器关闭的时候自动关闭:守护进程的名称通常以d结尾,比如sshd.xinetd.crond.atd等 ...
- 《java入门第一季》之类(String类常见方法小叙)
String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...
- 《java入门第一季》之面向对象匿名内部类面试题
面试题一: /* 按照要求,补齐代码 interface Inter { void show(); } class Outer { // ...
- android ndk编译项目(android-ndk-16r1)
由于采用android-ndk-16r1版本的ndk来编译 编译的环境之类在这里省略,注意是最后编译的命令如下 Administrator@WIN-AF6P80LVIJ0 ~ $ cd $ANDROI ...
- SpriteBuilder中的碰撞分类(Categories)和掩码(Masks)
假如有2种对象player和触发器(trigger),当玩家进入到触发器区域时则由触发器对象通知所有注册过触发器通知的对象,然后由这些对象自行选择做一些事情,比如:阻碍player的前景,触发陷阱等等 ...
- 【LaTeX排版】LaTeX使用--入门基础<一>
经过两个多星期,毕业论文终于写完了.由于自己对Word软件并不是很熟悉,再加上在数模时见识过LaTex的强大之处,于是就决定用LaTex进行论文的排版.使用LaTex可以避免像Word那样换台机器而出 ...
- Android百分比布局支持库(android-percent-support)
Android中提供了五种布局,其中用的最多的就是:LinearLayout, RelativeLayout 和 FrameLayout这三种布局,在对某一界面进行布局时最先想到也是通过这三种来布局的 ...
- UnityEditor下文件操作方法汇总(Unity3D开发之二十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/50595585 ...
- Android 4.1.2系统添加重启功能
对于Android的的手机或者平板长期使用,感觉会出现慢的情况,所以偶尔还是需要重启一下,而长按电源键弹出的菜单又没有重启选项,所以特在此记录自己添加这个功能的过程. 首先关机的那个弹出菜单是在fra ...