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. QT笔记--checkbox

    1 复选框 一般用来表示“是/否”.: 2 属性有哪些 如果需要默认选中,那么设置QAbstractButton->checked 3 哪些操作函数 需要判断是否选中.也就是isChecked( ...

  2. C++中print和printf的区别

    print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行.

  3. SpringBoot系列教程web篇之Beetl环境搭建

    前面两篇分别介绍了目前流行的模板引擎Freemaker和Thymeleaf构建web应用的方式,接下来我们看一下号称性能最好的国产模板引擎Beetl,如何搭建web环境 本文主要来自官方文档,如有疑问 ...

  4. Qt deletelater函数分析(1)

               生活的全部意义在于无穷地探索尚未知道的东西,在于不断地增加更多的知识.--左拉 该函数是QObject类的函数:                             ---- ...

  5. [转帖]Linux中的find(-atime、-ctime、-mtime)指令分析

    Linux中的find(-atime.-ctime.-mtime)指令分析 https://www.cnblogs.com/zhangjinjin01/p/5505970.html https://w ...

  6. Java开发笔记(一百三十六)JavaFX的窗格

    虽然Java自诞生之初就推出了AWT,紧接着第二版又推出升级后的Swing,打算在桌面开发这块大展拳脚:可是后来Java在服务器开发上大放异彩,在桌面开发上反而停滞不前,可谓失之J2SE收之J2EE. ...

  7. CF1051D Bicolorings

    题目描述 咳咳,懒得复制了上面是两张图:) 解题思路 这题是一道很好的题,感觉之前做过,一开始手推状态找规律,可以用状压但是没想到 借鉴了一下大佬的dp modify数组用以累加新增的状态数 dp数组 ...

  8. CSS中position和float的使用

    近期会更新一系列博客,对基础知识再度做个巩固和梳理. 一.position定位 (一):position的属性 1.absolute:生成绝对定位的元素,相对于最近一级定位不是static的父元素来进 ...

  9. OSGI.NET插件方式开发你的应用

    之前一直从事C# WEB开发.基本都是业务开发,性能优化. 体力活占比90%吧.模块真的很多很多,每次部署经常出先各种问题.发布经常加班. 今年开始接触winform 开发.发现C# 的事件  委托 ...

  10. [CF436D]Pudding Monsters

    题目大意:有一个长度为$2\times 10^5$的板,有$n(n\leqslant 10^5)$个格子$a_1,\dots,a_n$有布丁怪兽,一开始连续的怪兽算一个怪兽,有$m(m\leqslan ...