2021-03-15 Python_Course

目录

2.1 Python的数学运算

2.2 Python的基本语法

2.3 Python的数据结构

2.4  Python中的比较和逻辑运算

2.5 Python中的循环语句(for loop、while loop)

3.1Python的函数

3.2 Python的文件IO

3.3 Python的模块

4.1Numpy中的ndarray

4.2向量和矩阵的生成还有Numpy随机数

4.3矩阵的运算、拼接和形变

4.4向量和矩阵的索引

4.5Numpy的科学计算方法

5.1Python数据分析常用库Pandas和Matplotlib

5.2Python数据预处理

5.3pandas中的函数运用

5.4 Matplotlib代码作图

6.1爬虫requests用法


 

2.1 Python的数学运算

 

补:abs()——绝对值,round (3.1415926,2)——取整

1、经过除法作用会变成浮点数

2、string和string类型只可以相加,相当于把字符串连到一起

 

2.2 Python的基本语法

1、行和缩进(indent)   补:用 \来换行(\后面不能有空格),缩进来代替{} [](一个逻辑单元内的缩进要一致),

      同一行多个语句要用 ;隔开,    注释用#

2.3 Python的数据结构

1、list的用法:相当于数组

        1.1 在数组 l 后面新加一个元素用l.append()

        1.2 在数组 l 后面加一个数组用l.extend([ ]) 

        1.3 在数组中插入一个元素用l.insert(    ,    )

        1.4 在数组中删除指定元素用l.remove(    ),(如果有多个相同元素优先删前面的)

        1.5 在数组中删除指定位置元素用 del  l[   ] 或l.pop( )

        1.6 Python中与其他编程语言的不同,(当把b赋值给a时,改动b的元素的同时也会改动a的元素)

                 因此要用到b=a.copy(),才能不修改a的元素,如图

        1.7 数组可以是多维的(不是矩阵)

2、元组(tuple):元组a=(1,2,3)不支持更改元组内的元素

3、字典(dict):

              1、在字典中添加一项

 


              2、在字典中删除一项

4、集合(set):

              1、set()函数只出现不同的元素(集合中元素的互异性)

2.4  Python中的比较和逻辑运算

    1 、 比较和逻辑运算的使用: 

    2、if语句的使用:

2.5 Python中的循环语句(for loop、while loop)

1、while循环:略

2、for循环:

3、break 和 continue语句:补:break是终止;continue是跳出当前循环

3.1Python的函数

函数的定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段(函数能提高代码的重复利用率和应用的模块性)

3.2 Python的文件IO

       1、打开主路径下的文件夹中的文件,关闭

2、读几个元素

3、读几行

4、读所有行,也可以用For Loop的方式读所有行

5、创建一个新的文件,往里面写文字补:\n可以加在前面也可以加在后面

6、在一个文件的基础上(不覆盖)加入新的元素

3.3 Python的模块

1、time模块

      1、调用time模块输出的结果中数字代表的是秒(1970年1月1日0时0秒至今),方便计算时间差time.sleep()过一段时间再往下执行

      2、调用当前时间使用time.strftime("%y-%m-%d  %H:%M:%S")

     3、为了方便调用名字复杂的函数可以使用(import 模块 as 名字),也可以给模块中的函数改名(from 模块 import 函数 as 名字)

2、os模块

     1、显示当前路径 os.getcmd()调用os.listdir("路径")可以显示当前路径下的文件,也可以直接使用os.getcwd()

     2、在当前路径下创建文件夹使用os.mkdir(),更改路径使用os.chdir()

3、异常处理

   

代码段1

    1、try是运行的代码,except是try如果发生异常的应对代码,如下图:try部分没有错误则不更改a的值。

           反之,写一个元祖更改元素的错误则a的值发生改变,如下图:

4.1Numpy中的ndarray

           
111

1、在Spyder中想要用shift+enter来执行命令 可以添加 # In[]:补:ndim是维度

4.2向量和矩阵的生成还有Numpy随机数

1、np.arange(10)是从0-9的向量

2、np.linspace(起始,终止,多少等分)

3、temp=np.zeros((5,5))  5x5全0的矩阵

4、m=np.ones([5,5])  5x5全1的矩阵(  [  ]和(  )都可以使用)

5、生成0-1之间的随机数m=np.random.rand(5,5),(数字越大越蓝,越小越红)

      m=np.random.rand()只生成一个随机数

6、高斯分布【标准正态分布】(平均值为0,方差为1)np.random.randn( , )

       m+1代表了给m加一个每个元素都是1的同型矩阵

      (m+1)*5代表了给每个元素x5

4.3矩阵的运算、拼接和形变

1、a*b在Python中是逐个元素相乘,与线性代数不同。想要用线性代数中的a*b需要用np.dot(a,b),加法也是逐个元素相加

2、矩阵的转置可以用a.T

4.4向量和矩阵的索引

1、向量的索引:print(a[0:9])是输出0开始到9之前的元素a[3:]是指3到最后一个元素

 a[3:-1]是指3到最后一个元素之前a[:3]是指从头到3之前的元素

 

2、矩阵的索引:想要研究矩阵先将a从向量变形成5*2的矩阵,想看矩阵b中的数【b[2,0]和b[2][0]是一样的】,

      想看矩阵b中的一行用b[3 ]或者b[3,:],想要查看某一列用b[:,0](不能用b[:0])

4.5Numpy的科学计算方法

exp是指数,log是对数,max是最大值,mean是平均数,median是中值,std是方差,abs是绝对值,argmax是返回最大值的索引

5.1Python数据分析常用库Pandas和Matplotlib

1、pandas的向量格式columns是列名,index是索引。

2、pandas的优点可以导入数据csv文件

1

3、数据的导入:(nan代表数据为空),数据的存取: 

4、数据的查看:【data.head()只显示前五行】,想要像numpy一样查看要用data.iloc【3,2】pandas只能用字符串进行索引

5.2Python数据预处理

1、数据的拼接pd.concat(nan为不存在的数据,pandas比numpy智能的地方可以拼接)data.append是在data的基础上拼接

2、如何清理数据丢失(nan),首先先看哪一行有nan再使用dropna可以清除有nan的一行如果不想把data中的nan一行清除掉只是                  可以使用fillna(0)把nan全部变为0     

5.3pandas中的函数运用

1、drop掉其中一行要按照表格中的索引名来drop

2、求和会自动将nan跳过,但是必须是数字

3、排序年龄按照数字大小,职业按照字母顺序

4、想要查看有多少独立的项

5、可以提取单另的一列数据

6、可以自动统计方差平均值等

5.4 Matplotlib代码作图

1、先做一个正弦函数linspace(0,10,100)将0到10分成100等分grid是网格,显示不出图片时加show

2、想要再一张图中加入多个子图(--是虚线,.-是把数字点化)【如果不加subplot的话是将两张图做到一起】同时因为exp的值特               别大,想要只显示               0———2之间的值可以使用ylim

3、颜色通道中0是红色,1是绿色,2是蓝色 :是白色

6.1爬虫requests用法

1、

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是实现该类的Python代码: ```python from typing import List class Person: def __init__(self, name: str, email: str): self.name = name self.email = email def get_info(self) -> str: return f"Name: {self.name}\nEmail: {self.email}" class Student(Person): def __init__(self, name: str, email: str): super().__init__(name, email) self.courses = [] def add_course(self, course): self.courses.append(course) def remove_course(self, course): self.courses.remove(course) def get_courses(self) -> List[str]: return [course.name for course in self.courses] def get_info(self) -> str: return f"{super().get_info()}\nCourses: {', '.join(self.get_courses())}" class Teacher(Person): def __init__(self, name: str, email: str): super().__init__(name, email) self.courses = [] def add_course(self, course): self.courses.append(course) def remove_course(self, course): self.courses.remove(course) def get_courses(self) -> List[str]: return [course.name for course in self.courses] def get_info(self) -> str: return f"{super().get_info()}\nCourses: {', '.join(self.get_courses())}" class Admin: def __init__(self): self.students = [] self.teachers = [] self.courses = [] def add_student(self, student: Student): self.students.append(student) def remove_student(self, student: Student): self.students.remove(student) def add_teacher(self, teacher: Teacher): self.teachers.append(teacher) def remove_teacher(self, teacher: Teacher): self.teachers.remove(teacher) def add_course(self, course): self.courses.append(course) def remove_course(self, course): self.courses.remove(course) class Course: def __init__(self, name: str, teacher: Teacher): self.name = name self.teacher = teacher self.students = [] def add_student(self, student: Student): self.students.append(student) def remove_student(self, student: Student): self.students.remove(student) def get_info(self) -> str: return f"Name: {self.name}\nTeacher: {self.teacher.name}\nStudents: {[student.name for student in self.students]}" # Example Usage admin = Admin() teacher = Teacher("John Smith", "john.smith@example.com") course = Course("Math", teacher) student = Student("Jane Doe", "jane.doe@example.com") admin.add_teacher(teacher) admin.add_student(student) admin.add_course(course) course.add_student(student) teacher.add_course(course) student.add_course(course) print(student.get_info()) print(teacher.get_info()) print(course.get_info()) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值