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运算符包括:赋值运算符、算术运算符、关系运算符、逻辑运算符。
表达式是将不同的数据(包括变量、函数)用运算符号按一定规则连起来的一种式子。
练习:写一个四则运算器。要求从键盘读取数字: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
字符串类型string:三种方法定义字符串类型(单引号,双引号,三引号。同时三引号docstring除了能定义字符串还可以用作注释。)
字符串是个序列,可以通过索引和切片操作。
python数据类型序列—元组():
序列:
字符串、列表和元组都是序列。
序列的两个主要特点是索引操作符和切片操作符。
索引操作符让我们可以从序列中抓取一个特定项目。
切片操作符让我们能够获取序列的一个切片,即一部分序列。
序列基本操作:
元组():元组tuple和列表十分相似。元组和字符串一样是不可变的:元组可以存储一系列的值;元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。定义元组其中是有一个元素,后面需要加个 逗号。
元组的操作:元组和字符串一样属于序列类型可以通过索引和切片操作。元组值不可变。元祖的拆分。
元组的拆分。图片笔误
python数据类型序列—列表[]:
- list1 = []
- list2 = list()
- list3 = [‘a’,1,2]
- 取值
切片和索引
- 添加
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数据结构—字典{}:
使用 zip() 可以把两个列表组成一个新的大列表。
- 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的存在形式转换成元组的形式。
dic.copy() 复制原字典==> dic1 = dic.copy() ,查看dic1与dic是相同的。
dic.clear() 清空字典。
dic.pop( k[ , d ]) 删除指定key与对应value,并且返回该value值。如果删除key不存在,会返回错误;但是也可以返回后面指定的对象(如果后面有指定的话。)
dic.update() 这个方法最常用的就是把两个字典相加。 dic.update(dic1)
- dic = {}
- dic = dict()
help(dict)
dict((['a',1],['b',2]))
dict(a=1,b=2)
- fromkeys(),字典元素有相同的值,默认为None。\\适合字典的值都是一样的。
ddict ={}.fromkeys((‘x’,’y’),100)
花式创建字典:
dict(a = 10, b = 20) ==> { 'a': 10, 'b': 20}
不同方法,相同的实现。
相关字典练习:
从键盘读取,并且存成字典。
#@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: xiaoPlease input age: 22
Please input (M/F): F
gender: F
gender: F
age: 22
age: 22
name: xiao
name: xiao
main end