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]
- 【Python学习】Python 关键字
- Python学习----Python基础
- 【python】:python学习笔记
- Python:Python学习总结
- Python学习-Python数据类型
- Python学习
- 学习python
- python学习
- 学习Python
- python学习
- python学习
- python学习
- python 学习
- 学习python
- Python学习
- Python 学习
- python学习
- Python学习
- R语言 矩阵运算
- 从汇编到AWK
- ios开发进阶,从Xcode开始
- android:windowSoftInputMode属性详解
- 使用CocoaPods来管理Objective-c的类库,自动联想补齐头文件
- Python学习
- 2015.5.13time类中的运算符重载(续)
- KVO和KVC
- C++ 下载文件 HTTP
- VB.Net语法笔记
- 2015年第九周项目三:分数类中的运算符重载(续)(2)
- 15第九周项目五——方程也是类
- JSP标准标签库JSTL总结
- Linux - Shell编程基础