python学习—Day32—综合复习基础

python的使用方法:python shell和ipython或者win下的python解释器pycharm。


python文件类型:

源代码:文件以“py”为扩展名,由python程序解释,不需要编译。

字节代码:python源代码文件经过编译后声称的扩展名为“pyc”的文件。编译方法:首先新建py文件插入模块  import py_compile  py_compile.compile('./text.py')。执行该文件。会出现一个新的文件text.pyc

优化代码:经过优化的源码文件,扩展名为“pyo”。产生方法:python -O -m py_compile text.py (-m是调用compile模块,-O是优化)


python变量:

变量是计算机内存中的一块区域,变量是存储规定范围内的值,而且值可以改变。python下变量是对一个数据的引用。

变量的命名:变量名由字母、数字、下划线组成。变量不能以数字开头。不可以使用关键字。eg:a、a1、_a

变量的赋值:是变量的声明和定义的过程。a = 1    =>  id(a)。id是内置函数,可以查看变量所在内存地址。


运算符和表达式:

python运算符包括:赋值运算符、算术运算符、关系运算符、逻辑运算符。

表达式是将不同的数据(包括变量、函数)用运算符号按一定规则连起来的一种式子。

python学习—Day32—综合复习基础python学习—Day32—综合复习基础

python学习—Day32—综合复习基础python学习—Day32—综合复习基础

python学习—Day32—综合复习基础

练习:写一个四则运算器。要求从键盘读取数字:input()和raw_input()区别。

#!/usr/bin/python

num1 = input("Please a number:")

num2 = input("Please a number:")

print "%s + %s = %s" % (num1, num2, num1+num2)

print "%s - %s = %s" % (num1, num2, num1-num2)

print "%s * %s = %s" % (num1, num2, num1*num2)

print "%s / %s = %s" % (num1, num2, num1/num2)


python数据类型:使用type查看数据类型

数值:整型int、长整形long、浮点数float、复数型complex

python学习—Day32—综合复习基础python学习—Day32—综合复习基础

字符串类型string:三种方法定义字符串类型(单引号,双引号,三引号。同时三引号docstring除了能定义字符串还可以用作注释。)

字符串是个序列,可以通过索引和切片操作。


python数据类型序列—元组():

序列:

字符串、列表和元组都是序列。

序列的两个主要特点是索引操作符和切片操作符。

索引操作符让我们可以从序列中抓取一个特定项目。

切片操作符让我们能够获取序列的一个切片,即一部分序列。


序列基本操作:

python学习—Day32—综合复习基础


元组():元组tuple和列表十分相似。元组和字符串一样是不可变的:元组可以存储一系列的值;元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。定义元组其中是有一个元素,后面需要加个 逗号。

元组的操作:元组和字符串一样属于序列类型可以通过索引和切片操作。元组值不可变。元祖的拆分。

python学习—Day32—综合复习基础元组的拆分。图片笔误


python数据类型序列—列表[]:

•列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
•列表是可变类型的数据
•创建列表

   - list1 = []

   - list2 = list()

   - list3 = [‘a’,1,2]

python学习—Day32—综合复习基础python学习—Day32—综合复习基础

•列表操作

    - 取值

       切片和索引

   - 添加

       list.append()

   - 删除

       del list[] \\删除元素,也可以用于删除变量。不算是列表内的方法。

       list.remove(list[])

   - 修改

       list[] = x

   - 查找

       var in list \\返回布尔值

其实使用的命令还有     list1[ 1 ].append( 'a', [] )     添加元素, 方法   list1.insert( 1, list2  )  也可以用来插入元素,这里强调下前面是用来指定插入位置的。  

list1.sort()   对列表排序,默认升序。list1.reverse()  反转整个列表的排序。list1.pop()  默认删除最后一个元素,并且返回该值。可以指定列表的索引,指定删除。

list1.extend(iterable)  :将可迭代的对象(序列都是可迭代对象。包括字符串、元组、列表),添加到列表里面,eg:list1.extend(range(5)) 。

python学习—Day32—综合复习基础

python数据结构—字典{}:

使用   zip()  可以把两个列表组成一个新的大列表。

python学习—Day32—综合复习基础


•字典是python中的唯一的映射类型(哈希表)。字典是无序的。哈希表也是无序的。
•字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。
•字典的方法:

   - keys()

   - values()

   - items()

对于上述不可变对象的理解:字典的key元素可以是元组,但是不可以是列表。因为元组本身不不可变的;列表本身是可变对象。

dic.keys()   返回列表,其中的元素是字典的key部分。dic.values()  是类似的。

dic.get(k[ ,d ])    指定key,如果字典中存在,则返回key对应的value值。如果该key不存在,返回空;但是也可以返回之后跟着的d值。   

dic[ ( 'a' , 'b') ] = 'new value' 用来更新key对应的value值。value可变,但key不可变。

可以使用  in  方法直接判断key是否存在,也可以使用  dic.has_key()  实现。

dic.items()   返回list。把转换为列表,key-value的存在形式转换成元组的形式。

python学习—Day32—综合复习基础

dic.copy()  复制原字典==> dic1 = dic.copy()  ,查看dic1与dic是相同的。

dic.clear()  清空字典。

dic.pop( k[ , d ])   删除指定key与对应value,并且返回该value值。如果删除key不存在,会返回错误;但是也可以返回后面指定的对象(如果后面有指定的话。)

dic.update()    这个方法最常用的就是把两个字典相加。 dic.update(dic1)

python学习—Day32—综合复习基础

•创建字典

   - dic = {}

   - dic = dict()

      help(dict)

      dict((['a',1],['b',2]))

      dict(a=1,b=2)

   - fromkeys(),字典元素有相同的值,默认为None。\\适合字典的值都是一样的。

       ddict ={}.fromkeys((‘x’,’y’),100)

python学习—Day32—综合复习基础

花式创建字典:

dict(a = 10, b = 20)   ==> { 'a': 10, 'b': 20}


python学习—Day32—综合复习基础

不同方法,相同的实现。

python学习—Day32—综合复习基础

相关字典练习:

从键盘读取,并且存成字典。

#@File :dic_demo.py
info = {}
name = raw_input("Please input name: ")
age = raw_input("Please input age: ")
gender = raw_input('Please input (M/F): ')
info['name'] = name
info['age'] = age
info['gender'] = gender
# print info.items()
for k, v in info.items():
    print k+':', v
    print "%s: %s" % (k, v)			\\这里如果只有一个值,可以不适用括号。但是多余一个要使用括号:作为元组使用
print 'main end'
Please input name: xiao
Please input age: 22
Please input (M/F): F
gender: F
gender: F
age: 22
age: 22
name: xiao
name: xiao
main end