# 数字类型
# 表示数字或数值的数据类型称为数字类型。
# 数字类型有整型(int)、浮点型(float)、复数类型(complex),还有一种比较特殊的整型——布尔类型(bool)
# 字符串
# 字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。
# 列表
# 列表是Python中最灵活的有序序列,它可以存储任意类型的元素。开发人员可以对列表中的元素进行添加、删除、修改等操作。
# 面向对象
# 面向对象的思维方式,它更加注重事情有哪些参与者,需求里面有哪些对象,这些对象各自需要做些什么事情。 将其拆解成一个个模块和对象,
# 面向对象编程
# 面向对象编程的基本思想是:首先会从问题之中提炼出问题涉及的角色,将不同角色各自的特征和关系进行封装,以角色为主体,通过描述角色的行为去描述解决问题的过程。
# 对象
# 对象是构成世界的一个独立单位,它由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一个独立整体。
# 类
# 从具体的事物中把共同的特征抽取出来,形成一般的概念称为“归类”,忽略事物的非本质特牲,关注与目标有关的本质特征,找出事物间的共性,抽象出一个概念模型,就是定义一个类。
# 抽象
# 抽象是抽取特定实例的共同特征,形成概念的过程。例如苹果、香蕉、梨、葡萄等,抽取出它们共同特性就得出“水果”这一类,那么得出水果概念的过程,就是一个抽象的过程。
# 封装
# 封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。
# 继承
# 继承描述的是类与类之间的关系,通过继承,新生类可以在无需赘写原有类的情况下,对原有类的功能进行扩展。
# 多态
# 多态指同一个属性或行为在父类及其各派生类中具有不同的语义
# 函数
# 函数是指被包装起来的、实现某一种功能的一段代码。pytho安装包中、标准库中自带的函数统称为内置函数
#自定义函数
# 用户自定义编写的函数称为自定义函数。不管哪种函数其定义和调用方式都是一样的 def 函数名()
#为什么使用函数
1. 函数可以复用,可以有效地减少代码量
2. 函数可以使程序结构更清晰
3. 函数可以使程序更加灵活
# 变量作用域
# 变量作用域,变量的作用域是指变量的作用范围。根据作用的范围,分为局部变量和全局变量
# 局部变量
# 局部变量只在定义他的函数内生效,
# 全局变量
# 全局变量是在函数外定义的变量,他在程序中任何位置都可以被访问,函数中只可以访问全局变量,不能修改全局变量
# 递归
# 递归是一个函数过程在定义中直接调用自身的一种方法,
# 它通常把一个大型的复杂问题层层转化为一个与原问题相似的,但规模较小的问题进行求解
# 单词统计
stopword=['are','is','my','what','a','am','of', 'to']
s1=["What is deep learning?","Deep learning is a subset of machine learning, which is essentially a neural network with three or more layers.", " These neural networks attempt to simulate the behavior of the human brain—albeit far from matching \ its ability—allowing it to learning from large amounts of data."]
s=s1[0]+' '+s1[1]+' '+s1[2]
words = s.split() # 把文章以空格分开成列表
new_word = []
for word in words:
t = word.strip(',|?|.|!')#去除掉标点符号
if t not in stopword:#去除停用词
new_word.append(t)#清洗后的单词
count={}
for i in new_word:#把单词带入i
if i in count:#如果单词存在在列表count
count[i]+=1#单词量加1
else:
count[i]=1#如果单词不存在在列表count,放入类别
print(count)
max=0
for i in new_word:
if new_word.count(i)>max:#new_word.count(i) 统计i出现的次数
t=i
max=new_word.count(i)
print(t,max)
# 集合去重
set1={1,2,3,4,1,2}
word1=set(set1)
word2=list(word1)
print(word2)
# 逢七拍手
for i in range(1,101):
if i%7==0 or '7' in str(i):
print('拍手')
else:
print(i)
#素数判断 0,1不是素数
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
print(is_prime(0))
# 哥德巴赫猜想
def f(n):
for i in range(n):
for j in range(i,n):
if is_prime(j) and is_prime(i) and n==j+i:
print(i,j)
f(4)
#学生选课系统
class Person(object):#人类
def __init__(self,name,age):#属性:姓名 年龄
self.name=name
self.age=age
def info(self):#方法:打印个人的名字和年龄
print('我叫{},我今年{}岁了'.format(self.name,self.age))
class Course(object):#课程类
def __init__(self,name,info,hours):#属性:课程名 课程信息 学时
self.name=name
self.info=info
self.hours=hours
self.students=[] #注册该课程的学生类表
self.teachers=[]
def add_student(self,student):#方法:将学生添加到课程中
if student not in self.students:#如果学生不在列表里
self.students.append(student)#添加进列表
def add_teacher(self,teacher):#方法:将学生添加到课程中
if teacher not in self.teachers:#如果学生不在列表里
self.teachers.append(teacher)#添加进列表
def show_list(self):#方法:列出选了课程的学生
print('选择{}课程的学生有:'.format(self.name))
for i in self.students:#遍历列表
print(i.name)
def show_course(self):#方法:打印课程信息
print('{}课程的信息如下:'.format(self.name))
print(self.name,self.info,self.hours)
class Student(Person):#学生类 继承人类
def __init__(self,name,age):
super().__init__(name,age)
self.grades={}#字典储存学生课程,课程名,成绩
self.courses=[]#列表储存学生选择的课程
def choose_course(self,course):#方法:选择课程
if course in self.courses:#如果已经选择
print('{}已经选了{}课程'.format(self.name,course.name))
else:
self.courses.append(course)#添加进课程列表
course.add_student(self)#将学生添加进课程中
print('{}成功选择了{}课程'.format(self.name, course.name))
def get_grade(self,course):#方法:获取指定课程的成绩
if course.name not in self.grades:
return None
return self.grades[course.name]
def show_info(self):#方法:显示课程名,课程信息,学时,成绩
print('{}的选课信息如下:'.format(self.name))
print('课程名\t课程信息\t学时\t成绩\t任课老师')
for i in self.courses:
print('{}{}{}{}'.format(i.name,i.info,i.hours,self.grades[i.name],i.teachers[0]))
def eva_course(self,course,message):
print('{}对{}课程的评价是:{}'.format(self.name,course.name,message))
class Teacher(Person):#老师类 继承人类
def __init__(self, name, age):
super().__init__(name, age)
self.courses=[]
def teach_course(self,course):#方法:添加新课程到老师列表
if course not in self.courses:
self.courses.append(course)
print('{}教授{}课程'.format(self.name,course.name))
def give_grade(self,student,course,grade):#方法:为学生的某门课打分
if course in self.courses and student in course.students:#如果老师教这门课,学生选了这门课
student.grades[course.name]=grade
print('{}给{}同学{}课程打了{}分'.format(self.name,student.name,course.name,grade))
else:
print('{}同学没有选择{}课,或者{}不教{}课'.format(self.name,student.name,course.name,grade))
# def eva_student(self,student,course,evaluation):#评价学生在某门课中的表现
# self.evaluation=evaluation
# if course in self.courses and student in course.students:
# print('{}给{}同学{}的评价是{}'.format(self.name, student.name, course.name, evaluation))
s1=Student('张三',18)
teacher=Teacher('王老师',45)
math=Course('数学','高等数学',64)
english=Course('英语','大学英语',48)
s1.choose_course(math)
s1.choose_course(english)
teacher.teach_course(math)
teacher.teach_course(english)
teacher.give_grade(s1,math,99)
# teacher.eva_student(math,'xiao','sada')
teacher.give_grade(s1,english,90)
s1.show_info()
#多态
class Animal(object):
"""动物类"""
def func(self):
print('动物发出了声音')
class Cat(Animal):
"""猫类"""
def func(self):
print('喵 喵 喵')
class Dog(Animal):
"""狗类"""
def func(self):
print('汪 汪 汪 ')
class Hero:
def func(self):
print('这个是英雄类的方法,不是动物类的对象')
def work01(musen: Animal):
musen.func()
work01(Dog())
#星号代替字符串 登录账号
s=['人民币','发票']
t=input('请输入一句话:')
for line in s:
if line in t:
t=t.replace(line,'**')
print(t)
#判断4位回文数
num=int(input())
b = num // 1000
c = (num // 100) % 10
d = (num // 10) % 10
e = num % 10
print(b,c,d,e)
if b==e and c==d:
print("这是一个回文数")
else:
print("这不是一个回文数")
#两个参数
a = [1, 2, 3]
b = [4, 5, 6]
for i, j in zip(a, b):
print(i, j)
#倒序
for i in range(3, 0, -1):
print(i)
#列表排序
list=[3,5,6,2,9,7,0,4,1,8]
print(sorted (list))
#一行输入多个数字,用空格隔开
b=list(map(int,input().split()))
#小数点保留两位小数
a = 12.345
print("%.2f" % a)
print('{:.2f}'.format(a))
#
print(1, 2, 3, sep = '*')
python
最新推荐文章于 2024-11-11 21:19:25 发布
本文主要讲解了Python中的基本数据类型、字符串处理、列表操作和面向对象编程的概念,包括类、对象、封装和继承。同时,介绍了函数的使用和变量作用域的重要性。
摘要由CSDN通过智能技术生成