Python官网中各个函数介绍的链接:https://docs.python.org/3/library/functions.html

几个常见的词:

  • def (即 define,定义)的含义是创建函数,也就是定义一个函数。
  • arg (即 argument,参数)有时还能看到:parameter这种写法
  • return 即返回结果

咒语: Define a function named 'function' which has two arguments : arg1 and atg2, returns the result——'Something'

注意:

  1) def 和 return 是关键词 (keyword)

  2) 闭合括号后面的冒号必不可少,而且是英文

  3) 在IDE中冒号后回车,会自动得到一个缩进。函数缩进后面的语句被称作是语句块 (block),缩进是为了表明语句和逻辑的从属关系,是Python的显著特征之一。

    4) 一定要有return,如果我们把函数最后一句return去掉改成直接输出(以下用温度转换举例),会发现多出现了一个None。这是因为print函数是人为设计的函数,95.0°F实际上是调用函数后产生的数值,而None是变量C2F中被返回的数值。这就好比

def fahrenheit_converter(C):
fahrenheit = C * 9/5 + 32
  # return fahrenheit
print(str(fahrenheit) + '°F') C2F = fahrenheit_converter(35)
print(C2F) # 运行结果
# 95.0°F
# None

    不写return也可以顺利地定义一个函数并使用,只不过返回值是'None'罢了。

习题一:设计一个重量转换器,输入以"g"为单位地数字后返回换算成"kg"的结果。

def kilogram_converter(G):
kilogram = G / 1000
return kilogram G2K = kilogram_converter(500000)
print(G2K)

习题二:设计一个求直角三角形斜边长的函数(直角边为函数,求最长边)

import math

def calculate_bevel_edge(a, b):
c = math.sqrt(a*a + b*b)
return c edge = calculate_bevel_edge(3, 4)
print(edge)

(我发现我的代码出现淡淡的黄线,但不懂原因,PEP8)

| 传递参数与参数类型

传递参数的两种方式:位置参数、关键词参数

以上面求斜边为例,介绍输入方式的正确错误:

edge =  calculate_bevel_edge(3, 4)  // 第一种
edge = calculate_bevel_edge(a=3, b=4)  // 第二种
edge = calculate_bevel_edge(a=3, 4)    // 第三种 edge = calculate_bevel_edge(b=4, 3)  // 错误

设计一个建议的敏感词过滤器:

一、掌握 open 和 write 的基本用法

1、在桌面创建test.txt 文件

2、使用open打开。因为我的IDE在E盘,而我的test文件在桌面,所以我写了一个C盘表示位置。

file = open('C:/Users/asus/Desktop/test.txt','w')
file.write('Hello world')

二、设计函数

传入参数 name 与 msg 就可以控制在桌面写入的文件名称和内容的函数 test,这就是不需要return 也可以发挥作用的函数

def test_create(name, msg):
desktop_path = 'C:/Users/asus/Desktop/'
full_path = desktop_path + name + '.txt'
file = open(full_path,'w')
file.write(msg)
file.close()
print('Done') test_create('hello','hello world')

三、敏感词过滤函数

def text_filter(word, cencored_word = 'lame', changed_word = 'Awesome'):
return word.replace(cencored_word, changed_word) text_filter('Python is lame!')

四、将以上两个函数合并

def text_filter(word, cencored_word = 'lame', changed_word = 'Awesome'):
return word.replace(cencored_word, changed_word) def test_create(name, msg):
desktop_path = 'C:/Users/asus/Desktop/'
full_path = desktop_path + name + '.txt'
file = open(full_path,'w')
file.write(text_filter(msg))
file.close()
print('Done') test_create('hello','Python is lame!')

最后,Python解决数学问题可以用到的一些符号

【Python】编程小白的第一本python(最基本的魔法函数)的更多相关文章

  1. 读书笔记:编程小白的第一本python入门书

    书名:编程小白的第一本python入门书 作者:侯爵 出版社/出处:图灵社区 年份:2016年 封面: 感想: 本书短小精悍,精华部分在于给编程小白打了鸡血的同时输出了一种“高效学习法的思想”. 个人 ...

  2. 编程小白的第一本python入门书电子版|百度网盘分享无偿获取|评分超高的python教材

    点此进入网盘下载提取码:cr74 为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书.随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化 ...

  3. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  4. 【Python】编程小白的第一本python(基础中的基础)

    一.变量 如果不知道变量是什么类型,可以通过type()函数来查看类型,在IDE中输入: print(type(word)) 另外,由于中文注释会导致报错,所以需要在文件开头加一行魔法注释 #codi ...

  5. 2个月,我从编程小白成为了Python研发工程师

    从编程小白,到Python研发工程师,需要多久呢? 答案就是:91门课,450个小时. 听起来似乎难以实现,但其实如果每天抽出八小时学习,两个月的时间,就能由编程小白转变成为Python工程师,听起来 ...

  6. 《Python编程》课程报告 python技术在数据分析中的应用之网络爬虫

      摘要:... 2 1       引言 :... 2 1.1课题研究背景和研究现状... 2 1.1.1课题背景和目的... 3 1.1.2研究现状... 4 1.1.2.1语言... 4 1.1 ...

  7. [Python编程实战] 第一章 python的创建型设计模式1.1抽象工厂模式

    注:关乎对象的创建方式的设计模式就是“创建型设计模式”(creational design pattern) 1.1 抽象工厂模式 “抽象工厂模式”(Abstract Factory Pattern) ...

  8. Python 编程常见问题

    Python 编程常见问题 经常使用Python编程,把经常遇到问题在这里记录一下,省得到网上查找,因此这篇文章会持续更新,需要的可以Mark一下.进入正题: 1.Python常用的文件头声明 #!/ ...

  9. Python编程:从入门到实践(选记)

    本文参考< Python 编程:从入门到实践>一书,作者: [ 美 ] Eric Matthes 第1章 起步 1.1     搭建python环境 在不同的操作系统中, Python 存 ...

随机推荐

  1. python实践项目九:操作文件-修改文件名

    描述:多个文件,文件名名包含美国风格的日期( MM-DD-YYYY),需要将它们改名为欧洲风格的日期( DD-MM-YYYY) 代码1:先创建100个文件名为美国风格日期的文件(文件路径为项目当前路径 ...

  2. 【剑指offer】面试题 23. 链表中环的入口节点

    面试题 23. 链表中环的入口节点

  3. 【转帖】处理器史话 | 服务器CPU市场的战役, AMD、Intel和ARM的厮杀

    处理器史话 | 服务器CPU市场的战役, AMD.Intel和ARM的厮杀 https://www.eefocus.com/mcu-dsp/377300   说完了个性鲜明的消费类电子,接下来聊一聊通 ...

  4. INV*账户别名接收发放

    DECLARE --p_old_new_flag OLD 为导出 NEW 为导入 l_iface_rec inv.mtl_transactions_interface%ROWTYPE; l_iface ...

  5. Java 8 Optional 的用法

    认识Optional   Optionals是用于防止 NullPointerException 的漂亮工具.让我们快速了解一下Optionals的工作原理. Optional 是一个简单的容器,其值 ...

  6. 用外部按钮打开DATETIMEPICKER下拉日期选择窗口

    https://www.cnblogs.com/gaodu2003/archive/2009/08/10/1543115.html 方法一: SendMessage(DateTimePicker1.H ...

  7. linux全面详细转载文章

    在网上发现了一位大佬写的linux各种命令.系统.配置等的详细解析,在此转载保留以便学习! 骏马金龙https://www.cnblogs.com/f-ck-need-u/p/7048359.html

  8. 10 IO流(七)——copy方法封装、关闭流方法封装的两种方式以及try...with...resource

    前言 本文将上一节做的代码,对copy方法与关闭流方法进行封装,并使用try...with...resource关闭流. copy方法封装 我们将copy方法封装,使得只需传入两个流,就能将输入流的源 ...

  9. golang程序因未知错误崩溃时如何记录异常

    开发服务器程序时如果未经过充分测试, 服务稳定运行一段时间后会突然崩溃退出.一般是因为程序中出现了某个未捕获的异常. 这类问题属于偶现的,且需要服务器运行一段时间之后才会出现,难以定位有问题的代码段. ...

  10. springboot 配置elasticsearch Java High Rest Client

    前提声明 在新版本的spring boot中逐渐放弃了对Spring Data Elasticsearch的支持,所以不推荐使用,使用ES官方推出的Java High Rest Client. 引入依 ...