Python学习

来源:互联网 发布:神兽传说java下载 编辑:程序博客网 时间:2024/06/06 02:04

python数据类型:

1.整数

2.浮点数

3.字符串 print 多个字符串时以逗号连接 print "hello","world" -> hello world

4.布尔 True False 注意大小写

5.空值 None

6.常量

7.list   list是一种有序的集合,可以随时添加和删除其中的元素,list中元素也可以是不同类型


8.tuple

tuple(元组)也是一种有序列表,tuple初始化后就不能修改,元素也可以是不同类型。没有append(),insert()这样

的方法。其他获取元素的方法和list是一样的。如果定义包含一个元素的tuple,建议后面添加逗号tuple = (1,) 如果不

加逗号python会将(1)理解为整数类型,小括号被认为是运算符号。注意,如果tuple中的元素是list的话,list中的内容

也是可以改变的,这样该tuple就成了“可变的tuple”,此时不可变是指向的list内存中的地址不可变。


9.dict

dict全称dictionary,使用(key-value)存储,且key是不重复的,查找速度非常快。因为每次存取时要通过哈希算法

计算每个key在内存中的位置,所以dict的key必须是不可变对象

<span style="font-size:18px;"><span style="font-size:18px;">>>> d = {'zhangsan': 35, 'lisi': 45, 'wangwu': 55}>>> d['zhangsan']35</span></span></span>

如果取值时dict中不存在指定的key程序会报错,所以在取之前应先判断是否存在key。也可以使用dict的get方法,如果不存在会返回None,或自己指定返回值
<span style="font-size:18px;"><span style="font-size:18px;">>>> 'zhaoliu' in dFalse>>> d.get('Thomas')>>> d.get('Thomas', 'not exist')'not exist'</span></span>

10.set

set与dict类似,区别只存储key,不存储value

条件判断

if语句格式:

<span style="font-size:18px;"><span style="font-size:18px;">a = 1if a > 0:    print 'a is', aelif a = 0:    print 'a is', aelse:    print 'a is', a</span></span>
如果if为True,会执行if下面缩进语句,否则执行else下面缩进语句。注意条件后面的冒号


<span style="font-size:18px;"><span style="font-size:18px;">if a:    print 'True'</span></span>
如果a是非零数值、非空字符串、非空list等,就判断为True,否则为False


循环判断

for...in

<span style="font-size:18px;"><span style="font-size:18px;">list1 = ['zhangsan', 'lisi', 'wangwu']for l in list1:    print l</span></span>

while
<span style="font-size:18px;"><span style="font-size:18px;">a = 10while n > 0:    a = a - 1print a</span></span>

python函数

参考官方文档:http://docs.python.org/2/library/functions.html#abs


函数定义

<span style="font-size:18px;"><span style="font-size:18px;">def my_func(a):    if a >= 0:        return a    else:        return -a</span></span>
如果不写return,函数的返回值为None

如果函数功能暂时还未开发,先放个空函数可以使用pass

<span style="font-size:18px;"><span style="font-size:18px;">def func():    pass</span></span>
返回多个值
<span style="font-size:18px;"><span style="font-size:18px;">def mult():    a = 1    b = 2    return a, bc,d = mult()print c,d1 2f = mult()print f(1,2)</span></span>
当函数返回多个值时,实际上是返回了一个tuple

函数的参数

python函数的参数包括:默认参数、可变参数和关键字参数

默认参数

<span style="font-size:18px;"><span style="font-size:18px;">def printInfo(name, age, country='china', city='Beijing'):    print 'name:', name    print 'age:', age    print 'country:', country    print 'city:', city</span></span>
调用时可按顺序依次传入参数,也可以指定传入参数
<span style="font-size:18px;"><span style="font-size:18px;">printInfo('zhangsan', 20, 'china')printInfo('zhangsan', 20, city='Shenzhen')</span></span>
注意:Python函数在定义的时候,默认参数就被初始化了,在不传入(修改)默认参数的情况下始终指向内存中同一

个对象,为了避免参数的数据正确性,默认参数要使用基本类型(非引用类型)


可变参数

定义可变参数的函数时参数前加个*

<span style="font-size:18px;"><span style="font-size:18px;">def sum(*numbers):    sum = 0    for n in numbers:        sum = sum + n    return sum</span></span>
调用时
<span style="font-size:18px;"><span style="font-size:18px;">sum(1,2,3)</span></span>
函数内部会将可变参数组装成一个tuple使用

如果想直接传一个tuple或list可以在传入的时候前面加一个*

<span style="font-size:18px;"><span style="font-size:18px;">numbers = [1,2,3]sum(*numbers)</span></span>

关键字参数

定义关键字参数的函数时参数前加**,关键字参数为可选参数

<span style="font-size:18px;">def person(name, age, **other):    print 'name:', name, 'age:', age, 'other:', other</span>
这些关键字参数在函数内部自动组装为一个dict.
<span style="font-size:18px;">person('zhangsan', 25, gender='man',address='beijing')name: zhangsan age: 25 other: {'gender': 'man',address='beijing'}</span>
如果想直接传一个dict在参数前加**
<span style="font-size:18px;">other = {gender='man',address='beijing'}person('zhangsan', 25, **other)</span>

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用

其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数


切片

取list前三个元素

<span style="font-size:18px;">list[0:3]</span>
从索引0开始取,直到索引3为止,但不包括索引3。如果从索引0位置开始,0可以省略
<span style="font-size:18px;">list[:3]</span>
前10个数,每两个取一个

<span style="font-size:18px;">list[:10:2]</span>
所有数,每5个取一个

<span style="font-size:18px;">list[::5]</span>
什么都不写,只写[:]就可以原样复制一个list

<span style="font-size:18px;">list[:]</span>
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple

(0, 1, 2, 3, 4, 5)[:3]
字符串也可以用切片操作,只是操作结果仍是字符串

'ABCDEFG'[:3]





0 0
原创粉丝点击