注释

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. Unity 5.X扩展编辑器之打包assetbundle

    5.x的assetbundle与4.x以及之前的版本有些不同,不过本质是一样的,只不过5.x打包assetbundle更为简单和人性化了,总体来说只需要三个步骤: 第一步:创建打包资源 //这里是一个 ...

  2. 《java入门第一季》之类面试题

    面试题一: String,StringBuffer,StringBuilder的区别?  * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的.   ...

  3. R基础学习

    R基础学习 The Art of R Programming 1.seq 产生等差数列:seq(from,to,by) seq(from,to,length) for(i in 1:length(x) ...

  4. Workflow Notification Mailer Setup

    Workflow notification mailer setup in R12 is similar to 11i ( In both release 11i (OWF.H and higher ...

  5. 【Java编程】随机数的不重复选择

    随机数的不重复选择就是从n个数中随机选取m(m<n)个数.在本文中,我们用Java来实现.因此我们先介绍Java的相关知识. 在Java中,Java.util.Set接口和Java.util.L ...

  6. 数据库事务的4个特性ACID

    原子性(Atomicity[ætə'mɪsɪti])原型atomic.一致性(Consistency).隔离性(Isolation).持久性(Durability)

  7. Android下Json数据解析

    如从网络获取JSON 则需要创建一个工具类,该类返回一个字符串为JSON文本 package com.example.jsonapp; import java.io.InputStreamReader ...

  8. ActiveMQ系列之二:ActiveMQ安装和基本使用

    下载并安装ActiveMQ服务器端 1:从http://activemq.apache.org/download.html下载最新的ActiveMQ 2:直接解压,然后拷贝到你要安装的位置就好了 启动 ...

  9. 使用schemaExport自动生成表结构

    一.Hibernate原生状态 ? 1 2 3 4 5 Configuration cfg = new Configuration().configure();   SchemaExport expo ...

  10. Log4j运用于代码中

    在JAVA代码中,我们要打印输出语句的时候,我们经常会使用System.out.print(),但是在项目开发完后,这些代码就会影响项目的运行效率,所以Log4j就派上用场了.话不多说,直接上代码. ...