python学习——第三天

来源:互联网 发布:阿里云系统应用软件 编辑:程序博客网 时间:2024/05/11 20:03
前两天把《A Byte of Python》大致看了一遍,算是基本可能入门了。动手写了些很简单的小例子,对python的语法有个基本的了解,但是还有一些细节不是很清楚,有些地方可能知其然不知所以然,还有待更深入的学习。今天再翻《Dive into python》,发现写出书上那么简洁但是功能强大的程序还是需要一段时间的。
关于函数定义:函数定义不需要定义返回的数据类型,不需要指定参数的类型。在Python 中, 永远也不需要明确指定任何东西的数据类型.
 
print语句,注意,不是函数,是语句,可以接受任何数据类型,包括字符串, 整数和其它如字典和列表等类型。
 
Dictionary没有元素顺序的概念.Dictionary的值可以是任意数据类型,Dictionary的key要严格多了, 但是它们可以是字符串, 整数和几种其它的类型.Tuples可以在dictionary中被用做 key, 但是 list 不行,Dictionary key 必须是不可变的.可以在一个dictionary中混用和配匹key的数据类型.
 
不能在tuple中查找元素。Tuple 没有index方法。然而, 可以使用in来查看一个元素是否存在于 tuple 中。Tuple函数冻结一个list, 而list函数解冻一个 tuple
 
一次给多个变量赋值
>>> (x,y,z) = (1,2,3)
>>> x
1
>>> y
2
>>> z
3
>>> (x,y,z)=[11,22,33]
>>> x
11
>>> y
22
>>> z
33
>>> [x,y,z] = [6,7,8]
>>> x
6
>>> y
7
>>> z
8
>>> 
 
字符串操作有一点不方便的就是:
试图将一个字符串同一个非字符串连接会引发一个异常,不像java里面那样方便.
join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换
str 将数据强制转型为字符串。每种数据类型都可以强制转型为字符串。
 
for k,v in params.items()
于for k in params.items()
如果是for k in params.items()
则输出:
>>> [k for k in params.items()]
[('pwd', 'secret'), ('database', 'master'), ('uid', 'sa'), ('server', 'mpilgrim'
)]
 
type 函数返回任意对象的数据类型
type 可以接收任何东西作为参数
 
dir 函数返回任意对象的属性和方法列表,包括模块对象、函数对象、字符串对象、列表对象、字典对象 ……
 
callable 函数,它接收任何对象作为参数,如果参数对象是可调用的那么返回 True,否则返回 False。可调用对象包括函数、类方法,甚至类自身
 
 
getattr(object, "attribute") 等价于 object.attribute
 
过滤列表语法:
[mapping-expression for element in source-list if filter-expression]
 
在布尔上下文中从左到右演算表达式的值。0、''、[]、()、{}、None 在布尔上下文中为假;其它任何东西都为真
 
lambda 函数可以接收任意多个参数(包括可选参数)并且返回单个表达式的值。lambda函数不能包含命令,包含的表达式不能超过一个。
原创粉丝点击