python

本文主要讲解了Python中的基本数据类型、字符串处理、列表操作和面向对象编程的概念,包括类、对象、封装和继承。同时,介绍了函数的使用和变量作用域的重要性。
摘要由CSDN通过智能技术生成
# 数字类型
# 表示数字或数值的数据类型称为数字类型。
# 数字类型有整型(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 = '*')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值