实验环境
Anaconda
jupyter
numpy
一、python基础知识题
- Python语言综合示例——天天干饭,天天工作,从不摸鱼
import random
def fib_loop(n):
listNum = []
a, b = 0, 1
for i in range(n):
a, b = b, a + b
listNum.append(a)
return listNum
listPlan = ['摸鱼', '工作', '干饭', '摸鱼', '工作', '干饭', '摸鱼', '摸鱼']
listNum = fib_loop(6)
varIdx = random.randint(0, 5)
varRandom = listNum[varIdx]
print('今日计划:', listPlan[varRandom])
运行结果:
程序解读:
程序首先定义了fib_loop函数,用来生成斐波那契数列,并在主程序中调用了fib_loop函数,生成的斐波那契数列为[1,1,2,3,5,8]
程序通过包含random模块,并使用random.randint(0,5)函数生成了0~5的随机整数。然后将此随机数作为下标读取对应位置的斐波那契数,再使用该斐波那契数作为listPlan 数组的下标,得到推荐事件。可以看出,每次推荐的事件均为
“学习”。
- Number(数学类型)
Python的数字类型包括int,float,bool和complex复数类型。当指定一个值时,就创建了一个Number类型的对象
i = 3
print(id(i))
i += 1
print(id(i))
程序解读:通过id函粉可以看到变量i在1之后,内存地址已经改变。也就是说,i+=1不是原有的int对象增加1,而是重新创建了一个int对象,其值为4。
- String(字符串)类型
Python中的字符串用半角的单引号或双引号括起来,对于字符串的特殊字符,使用反斜杠""进行转义。
在Python中,获取字符串的一部分的操作成为切片,截取格式为:
字符串变量[头下标:尾下标]
字符串的访问
str = 'Picture'
print(str[1:3])
print(str[-3:-1])
print(str[3:-1])
print(str[-6:7])
print(str[2:])
print(str * 2)
print(str + "TEST")
- List(列表)类型
List(列表)使用方括号[]进行定义,数据项之间用逗号分隔。Python中,列表的使用非常频繁。列表的数据项可以是数字、字符串,也可以是列表。
列表也是一种Python序列,其截取语法与字符串类似,格式如下。列表变量[头下标:尾下标]
正序访问的时候,索引值从0开始,截取从头下标到尾下标减1位置的元素;如果是逆序访问,则-1是末尾位置。
list = ['a', 56, 1.13, 'HelloWorld', [7, 8, 9]]
print(list)
print(list[4])
print(list[-2:5])
print(list[2:])
- Tuple(元组)类型
元组写在小括号()中,元素之间用逗号隔开,元素可以具有不同的类型。元组(Tuple)与列表类型,但元组的元素不能修改。
元组的截取方式与字符串相似,下标从0开始,末尾的位置从-1开始
tuple = ('SpiderMan', 2017, 33.4, 'Homecoming', 14)
tinytuple = (16, 'Marvel')
print(tuple)
print(tuple[3:4])
print(tuple + tinytuple)
- Dictionary(字典)
字典是一种可变容器模型,且可存储任意类型对象。字典使用大括号{}定义,格式如下。
d={key1:value1,key2:value2}
字典的访问
dict = {'Name': 'Mary', 'Age': 7, 'Class': 'First'}
print(dict)
print("Name: ", dict['Name'])
print("Age: ", dict['Age'])
- Set(集合)类型
创建集合
# 创建一个新的集合
var = set()
print(var, type(var))
# 具有数据的集合
var = {'LiLei', 'HanHua', 'HanMeiMei', 'ZhangSan', 'Lisi'}
print(var, type(var))
二、Python简单文件操作
- 读取文件内容
(1)file.read([count])
读文件,默认读取整个文件。如果设计了参数count,则是读取count字节,返回值为字符串
withe open("INFO.txt) as f:
ct10 = f.read(5)
print(ct10)
print('======')
contents = f.read()
print(contents)
(2)file.readline()
从当前位置开始,读取文件中的一行,返回值为字符串
with open('data.txt') as f:
line1 = f.readline()
line2 = f.readline()
print(line1)
print(line2)
print(line1.strip())
print(line2.strip())
print(line1.split())
(3)file.readlines()
从当前位置开始,读取文件所有行,返回值为列表,每行列表的一项
with open('data.txt') as f:
lines = f.readline()
print(lines)
print('======================================')
for line in lines:
print(line.rstrip())
2.将数据写入文件
如果需要对文件写入数据,打开方式需要‘w’(写入)或者‘a’(追加)模式。写入文件可以使用Python提供的write方法,write方法的语法如下:
fileObject.write(byte)
其中,参数byte为待写入文件的字符串或字节
新建文本文件并写入内容
filename = 'write_data.txt'
with.open(filename,'w') as f:
f.write("I am ZhangSan")
f.write("I am LiLe")
向文件中追加内容
with open(filename,'a') as f:
f,write("I am LiSi")
三、总结
Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。