while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块。在语句块里加break时,当执行break,默认跳出当前一级循环,而else 下的执行语句,也默认是在循环内。简单来说,就是循环时 break触发,那么else里的内容也不执行。
使用内置 enumerate 函数进行遍历:
for index, item in enumerate(sequence): process(index, item)
实例
>>> sequence = [12, 34, 34, 23, 45, 76, 89] >>> for i, j in enumerate(sequence): ... print(i, j) ... 0 12 1 34 2 34 3 23 4 45 5 76 6 89
可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
-
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
-
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
freshfruit = [' banana', ' loganberry ', 'passion fruit '] for i in freshfruit: print(i.strip(),' ', end='')
功能类似于 java中的trim();
import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
当import 一个py文件时,默认将该py文件 执行的主语句执行了一遍。
from package import item;
如果你在执行另一个py文件的时候,不想执行对应的语句时,你可以使用__name__
if __name__ == '__main__': print('程序自身在运行') else: print('我来自另一模块')将对应的语句放在 else:里面。
repr() 函数转义字符串中的特殊字符
括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。
在括号中的数字用于指向传入对象在 format() 中的位置,如下所示:
>>> print('{0} 和 {1}'.format('Google', 'Runoob')) Google 和 Runoob >>> print('{1} 和 {0}'.format('Google', 'Runoob')) Runoob 和 Google可选项 ':' 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化。
接下来就是python的输入输出问题,从命令行输入输出还是比较简单的,这边就不多说;
类似于 str=input("please input: ")
python 读写文件的参数都有,我这边给出一个实例:
# 打开一个文件 f = open("C:/Users/lenovo/Desktop/aaa.txt", "w") f.write("Python 是一个非常好的语言。\n是的,的确非常好!!\n") # 关闭打开的文件 f.close()
f.read()和f.readLine()是读取数据。
python的pickle模块实现了基本的数据序列和反序列化。
可以说,这个有点类似于java中serialize
import pickle import pprint # 写入序列化对象 output = open("C:/Users/lenovo/Desktop/aaa.txt", "wb") stack = [3, 4, 5] table = {'Google': 1, 'Runoob': 2, 'Taobao': 3} pickle.dump(stack, output) pickle.dump(table, output, -1) output.close() #读取序列化对象 read = open("C:/Users/lenovo/Desktop/aaa.txt", "rb") data1 = pickle.load(read) print(data1) data2=pickle.load(read) print(data2) read.close()
输出结果为:
[3, 4, 5]
{'Google': 1, 'Runoob': 2, 'Taobao': 3}