Python chapter 8 learning notes

本文详细介绍了Python中函数的定义与使用,包括如何定义函数、向函数传递信息、使用关键字实参及默认值等,并展示了如何返回各种类型的数据以及如何在函数中操作列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义一个函数

For example,

def greet_user():#定义函数

print("Hello!")

Now, we just need to input greet_user() and Hello! will be shown on the screen.

o   向函数传递信息

其实这一点和C语言基本是一致的。这个函数其实就是一个子函数,可以通过括号中的参数向子函数传递信息。

例子:

# -*-coding: utf-8 -*-

def greet_user(username):

 

print("Hello!" + username.title())

 

name = input("Please input your name.\n")

greet_user(name)

在这里面,形参就是指子函数def greet_user(username)括号里面的,实参就是最后一行里面的name所代表的。

o   关键字实参

def describe_pets(animal_type, pet_name):

print("\nI have a " + animal_type + ".")

print("My " + animal_type + "'s name is " + pet_name.title() + ".")

describe_pets(animal_type = 'cat', pet_name = 'hurry')#关键字实参

关键字实参的顺序无关紧要。但是普通的顺序必然非常重要。

o   默认值

def describe_pets(pet_name, animal_type = 'dog'):#默认值设置

print("\nI have a " + animal_type + ".")

print("My " + animal_type + "'s name is " + pet_name.title() + ".")

#typ = input("Please input the type of your pet.\n")

#name = input("Please input its name.\n")

 

#describe_pets(typ,name)

describe_pets(pet_name = 'hurry')#关键字实参

设置了默认值之后,默认值项得在形参括号中的最后。设置默认值之后,如果该参数不再修改,那么这个参数就自动为默认值,但是如果后面对其进行了传递,则使用传递的值而不再是默认值。设置了默认值之后,实参可以少一个(本例中,实参只剩1个)

·        返回值

o   返回简单值。此处返回值与C语言中类似。

o   让实参变成可选。可以利用指定一个默认值,即为空值即可。用到就在后面实参里写上,用不着就直接用默认的空。

o   返回字典。例如,

def build_person(first_name, last_name):

person = {'first': first_name,'last': last_name}

return person

musician = build_person('jimi', 'hendrix')

print(musician)

·        传递列表

o   在函数中修改列表

For example,

def print_models(unprinted_designs, completed_models):

while unprinted_designs:

current_design = unprinted_designs.pop()

print("Printing model: " + current_design)

completed_models.append(current_design)

Finally, unprinted_designs will not have any element. But, what if we want to retain these elements? The answer is as followed:

Use slice. function_name(list_name[:]).

For example, when we call function print_models(unprinted_designs, completed_models),we need to change it to print_models(unprinted_designs[:], completed_models).

·        Pass lots of actual parameter

o   Using *name as a formal parameter, this is just like a list.. For example,

def make_pizza(*toppings):

print(toppings)

make_pizza('mushrooms', 'green peppers', 'extra cheese')

o   Using **name as a formal parameter, this is just like a dict.

·        Import functions(★★★★★)

o   Import whole function

For example,

import pizza #There is a function file called pizza.py

pizza.make_pizza(16, 'pepperoni') # We need to point out the function from which file

o   Import specific function

from module_name import function_name

If we use this, we do not need to point out the function from which file.

·         Using as to specifying aliases for functions(用as为函数指定别名)/using as to specifying aliases for module(用as为模块指定别名)/import all functions from module.

o   from pizza import make_pizza as mp

o   import pizza as p

o   from pizza import *

<think>我们面对的任务是将一个关于课程章节主题的表格内容从英文翻译成中文。由于用户没有提供具体的表格内容,我们需要假设一个常见的场景:用户可能有一个包含课程章节编号、英文主题名称等信息的表格,需要将英文主题翻译成中文。 由于没有具体表格内容,无法直接翻译,因此需要先说明一般性方法,并给出示例。 注意:在实际操作中,用户应该提供具体的表格内容。这里我们只能提供通用的步骤和示例。 步骤: 1. 识别表格结构:通常表格有列标题(如Chapter、Topic等)和行数据。需要确保翻译的是主题内容,而不翻译章节编号等不需要翻译的部分。 2. 逐行翻译主题:对每个主题(Topic)进行翻译。翻译时要注意教育领域的术语准确性,保持简洁明了。 3. 调整格式:翻译后的中文应保持与原文相同的格式(如标点、大小写等),但中文通常不使用英文的大写形式。 示例: 假设原始表格如下: | Chapter | Topic | |---------|------------------------| | 1 | Introduction to AI | | 2 | Machine Learning Basics| | 3 | Neural Networks | | 4 | Natural Language Processing | 翻译后的表格: | 章节 | 主题 | |------|--------------------| | 1 | 人工智能导论 | | 2 | 机器学习基础 | | 3 | 神经网络 | | 4 | 自然语言处理 | 注意:翻译时需确保专业术语的准确性。例如: - "Introduction to AI" -> "人工智能导论" - "Machine Learning Basics" -> "机器学习基础" - "Neural Networks" -> "神经网络" - "Natural Language Processing" -> "自然语言处理" 如果用户有具体的表格内容,可以按照上述方法进行翻译。对于不确定的术语,建议使用专业词典或在线资源(如术语在线)进行查询,确保翻译的准确性。 另外,如果表格内容较多,可以考虑使用翻译工具(如Google翻译、百度翻译等)进行批量翻译,但机器翻译后需要人工校对,特别是专业术语。 如果用户需要代码实现,例如使用Python进行批量翻译,可以使用翻译API(如Google Cloud Translation API、百度翻译API等)。但请注意,使用API需要申请密钥,并且可能涉及费用。 以下是一个使用百度翻译API的Python示例代码(需要安装requests库): 注意:在实际使用前,需要替换成自己的appid和secretKey(注册百度翻译开放平台获取)。 ```python import requests import random import hashlib def baidu_translate(query, from_lang='en', to_lang='zh'): appid = '你的appid' # 替换为你的appid secretKey = '你的secretKey' # 替换为你的secretKey url = 'https://api.fanyi.baidu.com/api/trans/vip/translate' salt = random.randint(32768, 65536) sign_str = appid + query + str(salt) + secretKey sign = hashlib.md5(sign_str.encode()).hexdigest() params = { 'q': query, 'from': from_lang, 'to': to_lang, 'appid': appid, 'salt': salt, 'sign': sign } response = requests.get(url, params=params) result = response.json() if 'trans_result' in result: return result['trans_result'][0]['dst'] else: return None # 示例:翻译一个英文句子 english_text = "Introduction to AI" chinese_translation = baidu_translate(english_text) print(chinese_translation) # 输出:人工智能导论 ``` 注意:上述代码仅用于演示,实际使用时需要处理可能出现的异常,并且注意API的调用频率和字符限制。 如果用户没有编程需求,也可以使用Excel等工具配合在线翻译服务进行翻译。 最后,由于用户没有提供具体表格内容,因此无法给出具体的翻译结果。建议用户提供具体的表格内容以便进行翻译。 §§相关问题§§: 1. 如何将Excel表格中的英文内容批量翻译成中文? 2. 在教育领域翻译课程主题时有哪些注意事项? 3. 除了百度翻译API,还有哪些翻译API可以使用?</think>### 翻译课程章节主题表格的方法 表格内容翻译需兼顾准确性和学术术语规范,以下是具体操作步骤: --- #### **人工翻译(推荐)** 1. **识别关键术语** 教育领域的专业术语需统一(如"Machine Learning"固定译为"机器学习"),避免歧义 示例: `"Supervised Learning" → "监督学习"` `"Data Preprocessing" → "数据预处理"` 2. **保持格式一致性** 表格列宽、标题层级需与原文对齐 错误示例: `"Chapter 1: Introduction" → "第一章:介绍"`(应保留数字格式) 正确示例: `"Chapter 1: Introduction" → "第1章:导论"` 3. **文化适配调整** 西方教育特有概念需本地化 示例: `"Office Hours" → "教师答疑时间"`(非直译"办公时间") --- #### **工具辅助翻译** ```python # Python示例:使用Google Translate API批量翻译 from googletrans import Translator def translate_table(text_list): translator = Translator() results = [] for text in text_list: translation = translator.translate(text, src='en', dest='zh-cn').text results.append(translation) return results # 输入示例 original_topics = [ "Neural Network Architectures", "Backpropagation Algorithm", "Convolutional Layers" ] translated = translate_table(original_topics) print(translated) # 输出:['神经网络架构', '反向传播算法', '卷积层'] ``` > **注意**:机器翻译后需人工校验,避免出现类似`"Recurrent Neural Network" → "周期性神经网络"`(正确应为"循环神经网络")的错误 --- #### **排版规范** | 英文原内容 | 中文译文 | |------------|----------| | Syllabus | 教学大纲 | | Lecture Notes | 讲义 | | Grading Rubric | 评分标准 | | Prerequisite | 先修课程 | > 表格需保持:① 列宽比例一致 ② 表头加粗 ③ 专业术语用学术译名 --- #### **常见错误规避** - **避免直译**: `"Deadline" → "截止线"`(正确译法:"截止日期") - **术语统一**: 全表保持`"Assignment"`统一译为"作业",而非混用"任务"/"课业" - **保留符号**: 章节编号保持`"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值