Yhzhtk's Blog

(热爱技术,高效Code)     归档  标签  源码  关于 


Python 基本语法的学习笔记

2013-06-09    python  学习笔记 


初学Python,看官方文档全是英文,效率不高,简明Python教程 http://sebug.net/paper/python/index.html,很不错的入门级中文教程。

看了基本的python语法和数据结构,觉得python确实很有意思,列出几点我觉得新奇的地方,作为笔记。

1、*乘    两个数相乘或是返回一个被重复若干次的字符串,2 * 3 得到 6。'la' * 3 得到'lalala'。一个数字乘以一个字符串居然能得到这个字符串重复几篇之后的字符串,这个思想本来是很自然的说法,但是头脑经过别的语言洗礼之后觉得好新奇。

2、/除    和Java一样,python中还有 // 取整除,返回商的整数部分 4 // 3.0得到1.0。

3、True(非0)和False(0),需要注意大小写。Ptyhon 的逻辑运算符是 not, and, or,而不是!, &&, ||。

4、Python中的条件控制语句,都有else,这在其他语言中只见过if else,怎么能想到 while 有 else, for 也有else。else在 while和for 正常循环完成之后执行,和直接写在 while和for 之后没有区别,但是如果用break结束循环之后else就不会执行了。这也是个很新奇的做法。

5、函数默认值,def say(message, times = 1),可以使用say('Hello')或者say('World', 5)调用,相当于Java中两个say函数重载,这样简单好理解。但要注意:只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的。

6、关键参数,def func(a, b=5, c=10), func(25, c=24)和func(c=50, a=100)可以指定参数,非指定的参数即使用默认参数。

7、DocStrings文档字符串,相当于Java /** **/中的内容。文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。你可以使用函数名.__doc__(注意双下划线)调用函数的文档字符串属性。使用help(函数名)时,就是将函数的__doc__ 规矩的展示给你。

8、import sys导入系统库模块,可以使用sys.argv则可以获取命令运行时传入的参数,sys.argv[0]是运行的py, sys.argv[1]是第一个参数。

9、Python的模块可以理解成Java中的一个类,是一个.py文件,可以调用里面的方法,变量。每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

10、Python的数据结构:列表(Java中的List)表示为shoplist = ['apple', 'mango', 'carrot', 'banana'];元组(Java中的数组)表示为zoo = ('wolf', 'elephant', 'penguin'),注意一个元素的元组应该这样写('a',);字典(Java中的HashMap)表示为d = {key1 : value1, key2 : value2 }。

11、有点奇怪的就是,列表和字段添加时都是用.append()方法,但是删除却在前面加上del。使用元组可以打印多个参数如 print '%s is %d years old' % (name, age)。

12、序列,列表、元组和字符串都是序列。序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。shoplist[0]表示第0个,shoplist[-1]表示最后一个,shoplist[1:-1]表示第一个(包括)到最后一个(不包括),shoplist[:]表示所有数据。使用shoplist[:]时相当于创建了一个备份的序列,这可以解决引用和备份的问题。

13、字符串操作的方法,startwith方法是用来测试字符串是否以给定字符串开始。in操作符用来检验一个给定字符串是否为另一个字符串的一部分。find方法用来找出给定字符串在另一个字符串中的位置,或者返回-1以表示找不到子字符串。str类也有以一个作为分隔符的字符串join序列的项目的整洁的方法,它返回一个生成的大字符串。delimiter = '_*_';mylist = ['Brazil', 'Russia'];print delimiter.join(mylist)结果为Brazil_*_Russia。





Load Disqus comments, wait a moment..

分类标签

jekyll3   编码1   windows1   bootstrap1   git3   删除1   命令3   python11   ide1   学习笔记3   实例分析1   mp3-tag1   github1   gravatar1   goagent1   翻墙1   C#4   找茬工具1   微博自动评论1   电脑监控1   备份1   云搜索1   wxPython1   py2exe1   yaml1   Eric1   PyQt1   Django1   设计模式5   翻译4   单例1   工厂1   抽象工厂1   生成器1   原型1   适配器1   桥接1   组合1   装饰1   外观1   享元1   代理1   MVC1   观察者1   状态1   策略1   模板1   访问者1   职责链1   解释器1   迭代器1   中介者1   备忘录1   js1   resize bar1   geohash1   口琴1   rpm安装gitlab1   CentOs1   WordPress1   数据库1   读脏数据1   丢失的修改1   不可重复读1   幻影读1   1   隔离1   思维导图1   事务1   笔记迁移1   note1   issue1  

最新博文

最新评论

Feed订阅


©2013 首页   关于     View me on GitHub Powered by Jekyll & Bootstrap 知识共享许可协议