python学习笔记

  基于兴趣或好玩,开始学习python。我一向使用C系语言,接触python并未觉得太生硬,很多地方有很多相通的地方,学习记录如下:

1.转义字符,譬如\t,\r,\n之类,如果想表达非转义的语义,需要使用r或者R这个修饰符,比如print r"Hello\tWorld",这将打印出Hello\tWorld,而不是HelloWorld.另外还有u或者U用以表示Unicode编码的字面量

2.自动垃圾回收。。。对于C系语言的程序员来说还是比较不适应的。。。

3.变量无类型(不知道这么说妥当不妥当),对于C系程序员来说也是很不适应.....

4.没有++,--这样的便利操作符

5.一个编码时的思想问题,写C或者C++或者OC之类的代码时,总会各种CPU,内存,系统之间的权衡在脑子里闪过,但python中就没必要了,因为你要干成一件事,在python中只有一种方法。比如,我要给i自增1,在C/C++中我有很多选择,i += 1;i = i+1;i++;++i;....在基于不会影响逻辑对错的情况下,我就会选择++ i了,因为它会少进行一次内存的寻址操作(在编译器不参与优化的情况下),但python中就只有i = i + 1或者i += 1;

6.有一个**的运算符,计算幂的,在C/C++中是叫pow的标准库的函数。

7./与//,/与C系语言相同,比较有意思的是//这个操作符,他的说明是“返回商的整数部分”。比如4//3.0,将得到1.0.

8.一切皆对象。。。c语言中就不说了,但C++中也还是值得论道一下,C++中,术语对象一般只代表类的实例化,按照侯捷先生所说,叫“实例”,一般来说我们并不会将C++中的内置数据类型的实例称作对象。

9.没有switch语句,else if简写为elif。

10.while有可选的else语句。如果循环被break打断,这个else将不会执行。

11.有一个神奇的for。。in。。语句,与之搭配的通常range产生的序列。range实际上返回一个序列,range(1,5,2),其中1是序列起始值,5是序列(不对,不是终止值)第一个不能到达的数,2是步长。即range(1,5,2)将返回一个序列:[1,3],注意,没有5,for循环有一个可选的else分支。如果循环被break打断,这个else将不会执行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值