一、数据类型
int/float/str/bool
例题:三位学生的年龄分别为23,28,22岁,求平均年龄
显示结果:平均年龄为xxx岁
x = 23
y = 28
z = 22
result = (x+y+z)/3
print('平均年龄为:',result,'岁')
print('平均年龄为:'+str(result)+'岁')
print('平均年龄为:{}岁'.format(result))
这里主要注意的是三种打印方式。
二、list
list可以理解为C语言中的数组,使用方法如下。
#list——数组
student = ['张三',20,185.3,True]
class_student = [['张三',22,165.2,True],['李丽',30,155.9,False]]
print(student[1])
student.append('团支书') #在数组后面添加
student.insert(1,'团支书') #插入
student.remove('团支书') #删除
student.pop(0) #删除-删除的是原始数组位置元素
#student.sort
#student.reverse
#len(student)
print(student)
list列表的增删改查
- list. append('element') 是在list最后添加element
- list.insert(0,'element') 在0位插入element
- list.remove(‘element’) 删除list中第一个element(如果有相同内容的话)
- list.pop(0) 删除第0位内容
常用函数
- list.sort() 数组排序
- list.reverse() 倒序
- len(list) 数组长度
三、遍历列表
1. 写法:for i in list:
例题:你会邀请哪些人一起共进晚餐?创建一个列表,然后使用这个列表打印你想邀请的人
person = ['张','王','孙','李','赵'] for i in person: print(i)
运行结果:
扩展:有一位客人无法到场,请输出该客人,并替换新客人,输出新的邀请名单
person = ['张','王','孙','李','赵'] print('由于{}无法出席,于是邀请名单为'.format(person[0])) person.pop(0) person.insert(0,'崔') for i in person: print(i)
运行结果:
2. 列表切片
#列表切片list[num1;num2]
l1 = [3,4,5,6,7,8]
l2 = l1[:-2]
l3 = l1[1:4]
l4 = l1[1:]
test = [l1,l2,l3,l4]
for i in test:
print(i)
运行结果
三、range
写法:range(起始值,终止值,步长)
num = range(1,20,2)
for i in num:
print(i)
四、字典dict
类似于C语言中的对象。写法:字典名 = { key1:value1,key2:value2......}
其中key值一般来说只能是字符串类型,value值则没有特殊限制。
例如:
alien_0 = {
'color':'green',
'points':5
}
1. 操作字典
alien_0['points'] #查
alien_0['x_position'] = 10 #增
del alien_0['x_position'] #删
alien_0['points'] = 8 #改
2. 遍历字典
for key,value in alien_0.items():
print(key,value)
print('**************')
for i in alien_0.items():
print(i)
print('**************')
for i in alien_0.keys():
print(i)
print('**************')
for i in alien_0.keys():
print(i)
运行结果如下
例题:创建一个字典,在其中存储三条河流及其流经的国家,其中一个键-值对可能是
'中国':’长江‘.使用循环为每条河流打印一条信息,如”长江流经中国“
river = { '中国':'长江', '印度':'尼罗河', '英国':'泰晤士河' } for key,value in river.items(): print(value+'流经'+key)
运行结果:
3. 嵌套
例题:创建一个名为 favorite_places 的字典。在这个字典中,将三个
人的名字用作键;对于其中的每个人,都存储他喜欢的 1~3个地方。为让这个练习更有
趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字
及其喜欢的地方打印出来
favorite_places = {
'Shea': ['Beijing','gansu','Hongkong'],
'Shirly':['Shanghai','Xiamen','Aomen'],
'Kate':['Yunnan','Wuhan','Changsha']
}
for name, place in favorite_places.items():
print("\n"+ name.title()+" likes place:")
for pla in place:
print(pla)
运行结果如下:
五:程序结构
顺序/条件/循环
1. 条件if
if a>0: .....
elif a>0:
else:
a>0 and b>0
a>0 or b>0
age = 38 if 0<= age < 6: print("他是学前儿童") elif 6<= age < 18: print("他是中小学生") else: print("他已经成年")
注意:
- 逻辑符号用and / or来表示,不用&& / ||
- 可以直接用不等式,可以不用分开用逻辑表达符写
2. while
例题:
while num < 5: if num == 2: num += 1 continue print('当前数字是:',num) num += 1
其中 continue和break的使用方法和C语言中一样
六、函数
1. 函数的写法:def + 函数名称(形参1,形参2...):
例如:
def sum(param1,param2): result = param1+param2 return result
2. 导入文件的方式
-
from def_1 import sum 从名为def_1文件中导入名为sum的函数
-
from def_1 import * 导入名为def_1文件中的所有内容
-
import def_1 导入名为def_1文件中的内容
-
import numpy 导入库函数
七、面对对象(类)
1. 写法:class 类名称 ():
在类中可以写函数,可以写对象,什么都可以写,例如:
class Dog():
def __init__(self,name,age):
self.name = name
self.age = age
def sit(self):
print(self.name + ' is now sitting')
tim = Dog('Tim',2)
print(tim.name)
print(type(tim))
tim.sit()
八、类的继承
例如:
class Dog(): def __init__(self,name,age): self.name = name self.age = age class Teddy(Dog): def __init__(self, name, age,color): super().__init__(name, age) self.color = color a = Dog('name_a',2) b = Teddy('name_b',3,'red') print(b.name)
Teddy类继承Dog类,其中Dog成为父类,Teddy为子类
九、库
1. 常用库函数:
- numpy 矩阵计算
- scipy 科学计算
- matplotlib 绘图
- pandas 数据处理
- sympy 符号计算
- scikit-learn 机器学习
2. 安装库的方式
win+r➡cmd➡pip install (numpy) -i https://pypi.tuna.tsinghua.edu.cn/simple
其中括号中的内容可替换具体库
3. 文件操作OS&shutil
- 获取文件目录 os.listdir(path)
- 打开txt格式文件 open(path,'r',encoding='utf-8')
- 其中path为路径;r为read,可以理解为打开;w为write,可以理解为是保存
- 保存txt格式文件 file.write(data)
- 复制文件 shutil.copy(src_path,)
- 移动文件 shutil.move(src_path,)
4. 例题:画应力应变曲线图
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
##练习1:画应力应变曲线图
#读取数据
path = 'xxx'
df = pd.read_excel(path)
df = np.array(df).tolist() #转换为python标准
#数据规范化
# xpoints = np.array([1, 2, 3, 4, 5, 6,7,8])
# ypoints = np.array([5,50,100,150,200,300,500,600])
xpoints = []
ypoints = []
for row in df:
xpoints.append(row[0])
ypoints.append(row[1])
plt.plot(xpoints,ypoints) #折线图
plt.show()