): self.name = '' self.age = 0 self.score = [] def set_name(self, name): self.name = name def get_name(self): return self.name def set_age(self, age): if isinstance(age, int) and 0 < age < 150: self.age = age else: raise ValueError("Age value is invalid") def get_age(self): return self.age def set_score(self, score): if len(score) == 3 and all(isinstance(i, (int, float)) for i in score): self.score = score else: raise ValueError("Score list should contain exactly three elements") def get_score(self): return self.score def get_course(self): if len(self.score) != 3: raise ValueError("Score list should contain exactly three elements") subjects = ['Chinese', 'Math', 'English'] max_score_index = self.score.index(max(self.score)) return subjects[max_score_index], self.score[max_score_index] # Testing the class zm = Student() zm.set_name('Zhangming') zm.set_age(20) zm.set_score([69, 88, 100]) print(zm.get_name()) print(zm.get_age()) print(zm.get_course()) ### Python基础知识点总结: 根据提供的文档“Python基础.md”,我们可以总结出以下关键知识点: #### 1. 查看变量内存地址 在Python中,每个对象都有唯一的内存地址。可以使用`id()`函数来获取一个对象的内存地址。 示例: ```python a = 456 memory_address = id(a) print(memory_address) # 输出:2230777619920 ``` #### 2. Lambda函数 Lambda函数是一种简洁的方式定义单行函数,可以接受任意数量的参数。它们通常用于需要一个简单函数的地方,比如作为参数传递给其他函数。 示例: ```python multiply = lambda x, y: x * y result = multiply(10, 20) print(result) # 输出:200 ``` #### 3. 判断语句 Python中的判断语句包括多种不同的操作,如相等性检查、类型检查等。 - **相等性检查**:使用`==`比较两个对象的值是否相等。 - **身份检查**:使用`is`判断两个对象是否指向同一个内存位置。 - **成员检查**:使用`in`检查一个元素是否存在于集合中。 - **类型检查**:例如检查一个字符串是否仅包含字母或数字。 示例: ```python x = [1, 3, 5, 7, 6] y = x[:] print(id(x) == id(y)) # 输出:False print(id(x) is id(y)) # 输出:False print(1 in [[1], 2, 3, 4]) # 输出:True print('abc10'.isalpha()) # 输出:False print('abc10'.isalnum()) # 输出:True print('abc10'.isdigit()) # 输出:False print('Beautiful is better than ugly.'.startswith('Be', 5)) # 输出:False print('abc.txt'.endswith(('.txt', '.doc', '.jpg'))) # 输出:True ``` #### 4. 字典操作 字典是一种键值对数据结构,在Python中非常常用。 - **添加元素**:通过指定键并赋值即可添加新的键值对。 - **查找元素**:使用`get()`方法安全地访问字典的值,如果键不存在则返回默认值。 - **合并列表为字典**:可以使用`zip()`结合`dict()`或字典推导式来创建字典。 示例: ```python x = {1: 1} x[3] = 2 print(x) # 输出:{1: 1, 3: 2} x = {1: 2, 2: 3} print(x.get(3, 4)) # 输出:4 print(x.get(2, 4)) # 输出:3 a = ['name', 'age', 'sex'] b = ['Dong', 38, 'Male'] d = dict(zip(a, b)) print(d) # 输出:{'name': 'Dong', 'age': 38, 'sex': 'Male'} x = [1, 2] y = ['a', 'b', 'c'] d = dict(zip(y, x)) print(d) # 输出:{'a': 1, 'b': 2} x = [1, 2, 3, 4] y = ['a', 'b', 'c'] d = dict(zip(y, x)) print(d) # 输出:{'a': 1, 'b': 2, 'c': 3} a = ['name', 'age', 'sex'] b = ['Dong', 38, 'Male'] d = {i: j for i, j in zip(a, b)} print(d) # 输出:{'name': 'Dong', 'age': 38, 'sex': 'Male'} x = {1: 1} print(len(x)) # 输出:1 ``` #### 5. 类与对象 定义了一个名为`Student`的类,该类包含了学生的基本信息和一些方法,如获取学生的姓名、年龄以及最高分的科目。 示例: ```python class Student: def __init__(self, name, age, scores): self.name = name self.age = age self.scores = scores def get_name(self): return self.name def get_age(self): return self.age def get_course(self): subjects = ['Chinese', 'Math', 'English'] max_score_index = self.scores.index(max(self.scores)) return subjects[max_score_index], self.scores[max_score_index] # 创建对象 zm = Student('Zhangming', 20, [69, 88, 100]) print(zm.get_name()) # 输出:Zhangming print(zm.get_age()) # 输出:20 print(zm.get_course()) # 输出:('English', 100) ``` 通过这些示例,我们可以看到Python提供了丰富的功能和灵活性,使得开发者能够高效地编写代码并解决实际问题。无论是基础语法还是高级特性,Python都是一种非常强大且易学的语言。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 所有算法均用 Python 实现.zip
- redis-standalone.yml redis k8s单点部署
- Python基于Scrapy兼职招聘网站爬虫数据分析设计(源码)
- zipkin.yml zipkin k8s部署
- YY9706.102-2021医用电气设备第2-47部分
- 通过运用时间序列ARIMA模型与循环神经网络(LSTM)对中国包装机器数量进行预测(python源码)
- Ruby编程基础与进阶指南
- 基于ARIMA模型的股票预测(python源码)
- 基于阿里云对象存储的对文件进行批量修改、批量解冻、批量上传
- 山东联通-海信IP501H-GK6323V100C-1+8G-4.4.2-当贝桌面-卡刷包