python学习第二天:python的函数、循环和条件、类

第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习

,这样才算对Python有一个大致的了解。今天的学习大纲如下:

三、函数

1、定义函数

四、循环与条件

1、if语句

2、while true/break语句

3、for语句

4、列表推导式

五、类

1、闲说类与对象

2、定义一个类

三,函数

1、定义函数

(1)定义规则

介绍列表方法的时候已经大概说过函数,学过数学的人都知道函数,给一个参数返回一个值。函数也可以自己定义。用如下的格式:

def函数名(参数):

输入函数代码

函数代码中,return表示返回的值。比如定义一个平方函数square(x),输入参数x,返回x的平方:

(2)定义变参数函数

有时需要定义参数个数可变的函数,有几个方法可以做到:

·给参数指定默认值

比如,定义参数f(a,b=1,c=’hehe’),那么在调用的时候,后面两个参数可以定义也可以不定义,不定义的话默认为b=1,c=’hehe’,因此如下调用都可以:

F(‘dsds’);

F(‘dsds’,2);

F(‘dsds’,2,’hdasda’);

·参数关键字

上面的方法等于固定了参数的位置,第一个值就是第一个参数的赋值。而“参数关键字”方法,其实是固定了参数关键字,比如仍然定义参数f(a,b=1,c=’hehe’),调用的时候可以用关键字来固定:

F(b=2,a=11)

位置可以动,只要参数关键指出来就可以了。

四、循环与条件

注意Python是用缩进来标识出哪一段属于本循环。

1、if语句

也是注意一是缩进,二是条件后面有冒号:

对于多条件,注意的是elseif要写成elif,标准格式为:

if条件1:

执行语句1

elif条件2:

执行语句2

else:

执行语句3

注意if…elif…else三个是并列的,不能有缩进:

2、while true/break语句

该语句的格式为

while true即条件为真:

执行语句

if中断语句条件: break

看个例子:

虽然while后面的条件是a

3、for语句

不多说了,可以遍历一个序列/字典等。

5、列表推导式:轻量级循环

列表推导式,是利用其它列表来创建一个新列表的方法,工作方式类似于for循环,格式为:

[输出值for条件]

当满足条件时,输出一个值,最终形成一个列表:

X%3==o x被3整除即余数为

如上的例子就是利用序列[0,1,2,3,4,5,6,7,8,9],生成了一个新的序列。

###六、类

作为第二天的Python学习,先对类有一个大致的印象吧。

1、闲说类与对象类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。

而对象,是类的一个具体。它是一个实实在在存在的东西。如果上面说的“人”是一个抽象的类,那么你自己,就是这个类里一个具体的对象。

一个类的对象,也叫一个类的实例。再打个比方,类好比一个模具,对象就是用这个模具造出来的具有相同属性和方法的具体事物,俗话说:“他俩真像,好像一个模子刻出来的”,就是指的这个意思。那么用这个模具造一个具体事物,就叫类的实例化。下面看一个具体的类:

2、定义一个类

上面的语句定义了一个类boy,我们来根据这儿类的模型构造一个具体的对象:

peter这个具体的实例有哪些属性和方法。

“什么叫属性和方法?”

它们都是“类”的两种表现,静态的叫属性,动态的叫方法。比如“人”类的属性有姓名、性别、身高、年龄、体重等等,“人”类的方法有走、跑、跳等等。

这里gender和interest是peter的属性,而say是他的方法。如果再实例化另一个对象比如sam:

那么sam和peter有一样的属性和方法,可以说,“他们真是一个模子刻出来的!”

嗯哼!

本文来自企鹅号 - 家是温柔的港湾媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

Python生成器

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅...

1672
来自专栏积累沉淀

必须掌握的八种排序(7-8)--归并排序,基数排序

7、归并排序 (1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后...

2295
来自专栏目标检测和深度学习

常用排序算法总结(2)

1374
来自专栏你不就像风一样

让你一看就懂的快速排序算法(Java)

你也许会被快速排序的文章弄得迷迷糊糊,其实大体上去看,快速排序就一步:找个数做基准数,把小于它的数移到它左边,把大于它的数移到它右边。这句话是核心。然后我们只需...

1132
来自专栏赵俊的Java专栏

最长上升连续子序列

1734
来自专栏海天一树

图的深度优先搜索

图有两种最基本的搜索算法,一种是深度优先搜索,另一种是广度优先搜索。本节先介绍深度优先搜索。

982
来自专栏刘望舒

算法(三)初等排序后篇[选择和希尔排序]

1.选择排序 根据上一篇文章讲到的插入排序和冒泡排序,我们把选择排序的数组也分为已排序部分和未排序部分。 图解选择排序 在用图来讲解选择排序之前,我们要先了...

1908
来自专栏从流域到海域

《笨办法学Python》 第19课手记

《笨办法学Python》 第19课手记 本节课讲函数和变量(变量和函数的关系是变量作为做函数的参数,定义时是形参,使用时是实参),内容比较简单。 源代码如下: ...

25010
来自专栏老九学堂

嘀 , 嘀嘀 ... 常用排序算法再总结

  这篇文章中再和小伙伴们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。

1263
来自专栏Python爱好者

Java基础笔记05

1658

扫码关注云+社区

领取腾讯云代金券