【Python】python基础学习笔记

来源:互联网 发布:韩语电影字幕翻译软件 编辑:程序博客网 时间:2024/04/24 04:56

Python数据类型

  • 整数
  • 浮点数
  • 字符串 ’ ’ ” “
  • 布尔值
    True False 可以用and(与),or(或),not(非)运算 Python把0,空字符串,None视为False,其他都是True。
    空值 None 不是0,是一个特殊的空值
    python允许自定义数据类型

Python变量属于动态语言,可以灵活赋值。

字符串

raw字符串:里面的字符不需要转义,直接原模原样保留 。字符串前加r。多行raw字符串可以 : ”’……………………….”’

Unicode字符串,字符串前加u,可以表示中文,否则不支持中文
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释:
# -*- coding: utf-8 -*

内置数据类型

list

用[]括起来的就是一个list对象,不要求是同一种类型数据的集合,元素间用逗号隔开。有序集合,类似数组,但是支持倒序访问 [-1]表示倒数第一个,[-2]表示倒数第二个。

list元素追加:

list.append(追加的元素) 。append总是追加的最后。还可以调用insert(下标,元素)

list元素删除:

pop(),不传参数直接删除最后一个元素,可以传入下标删除指定元素

list元素的替换:

直接给对应下标赋值
list支持切片,倒序切片,把字符串看成list之后也可以进行切片,相当于字符串的截取:

L = range(1, 101)eg:print L[:10]  取出前10个数print L[2::3]   取出 3的倍数print L[4:50:5]  取出不大于50的5的倍数
tuple

类似于list,但是一旦创建无法修改,访问方式与list一致,定义时使用()。Python 规定,单元素 tuple 要多加一个逗号“,”,避免歧义。
当tuple中包含list时,list部分是可变的

Python代码的缩进规则

具有相同缩进的代码被视为代码块 缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

if 语句后接表达式,然后用:表示代码块开始
if 条件:
elif 条件:
else:

for循环
for in :
while循环:
while 条件:
break语句与C一致
不支持 ++

diet

key:value形式,通过key值来查找value, 可以简单地使用 d[key] 的形式来查找对应的 value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。

d = {    'Adam': 95,    'Lisa': 85,    'Bart': 59}

要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:

if 'Paul' in d:    print d['Paul']

如果 ‘Paul’ 不存在,if语句判断为False,自然不会执行 print d[‘Paul’] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回

None>>> print d.get('Bart')59>>> print d.get('Paul')None

特点:查找速度快,占用内存大,内部无序,不能存储有序集合。
增加数据:d[key]=value,若key存在则更新value。
遍历

for key,value in d.items():    print key,':',value

dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list, itervalues()方法也可遍历value, 它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,就可以达到遍历dict对象的目的, teritems()可以达到一样的目的,只不过在迭代过程中不断给出tuple。

set

持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:

>>> s = set(['A', 'B', 'C'])
对set的访问

用 in 操作符判断,set增加元素:s.add(value),删除:s.remove(value)

函数

在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
int()函数的第二个参数是转换进制,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数。
可使用默认参数, 默认参数只能定义在必需参数的后面。
支持可变参数

def fn(*args):    print args

可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:
使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。

列表生成

eg:

>>> [x * x for x in range(1, 11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]条件过滤>>> [x * x for x in range(1, 11) if x % 2 == 0][4, 16, 36, 64, 100]