第二天:python的函 数、循环和条件、类
https://uqer.io/community/share/54c8af17f9f06c276f651a54
第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函
数、循环和条件、类,这样才算对Python有一个大致的了解。今天的学习大纲如下:
1.函数是未来的重头戏,用来进行重复调用和封装,函数调用也需要尽量丰富
2.函数的调用中的参数要尽可能符合业务要求,因此在封装过程中,业务逻辑要精通
3.循环要使用好,但是显示循环要尽量减少
4.类的调用、继承还不会,要做专题尽量丰富
三、函数
1、定义函数
四、循环与条件
1、 if 语句
2、 while true/break 语句
3、 for 语句
4、列表推导式(这个不会,很多次都不会)
五、类
1、闲说类与对象
2、定义一个类
三,函数
1、定义函数
(1)定义规则
介绍列表方法的时候已经大概说过函数,学过数学的人都知道函数,给一个参数返
回一个值。函数也可以自己定义。用如下的格式:
def 函数名(参数): 输入函数代码
函数代码中, return 表示返回的值。比如定义一个平方函数 square(x) ,输入
参数 x ,返回 x 的平方:
def square(x):return x*x
square(9)
81
(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 语句
也是注意一是缩进,二是条件后面有冒号:
j=2.67
if j<3:
print 'j<3'
j<3
对于多条件,注意的是elseif要写成elif,标准格式为:
if 条件1:
执行语句1
elif 条件2:
执行语句2
else:
执行语句3
注意 if…elif…else 三个是并列的,不能有缩进:
t=3
if t<3:
print 't<3'
elif t==3:
print 't=3'
else:
print 't>3'
t=3
2、 while true/break 语句
该语句的格式为
while true即条件为真:
执行语句
if中断语句条件 : break
看个例子:
a=3
while a<10:
a=a+1
print a
if a==8:
break
45678
虽然 while 后面的条件是 a<10 ,即 a 小于10的时候一直执行,但是 if 条件
中规定了 a 为8时就 break 掉,因此,输出只能输到8。
3、 for 语句
不多说了,可以遍历一个序列/字典等。
a=[1,2,3,4,5]
for i in a:
print i
12345
5、列表推导式:轻量级循环
列表推导式,是利用其它列表来创建一个新列表的方法,工作方式类似于 for 循
环,格式为:
[输出值 for 条件]
当满足条件时,输出一个值,最终形成一个列表:
[x*x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[x*x for x in range(10) if x%3==0]
[0, 9, 36, 81]
六、类
作为第二天的Python学习,先对类有一个大致的印象吧。
1、闲说类与对象
类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义
了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,
但它本身不存在于现实世界上。
而对象,是类的一个具体。它是一个实实在在存在的东西。如果上面说的“人”是一
个抽象的类,那么你自己,就是这个类里一个具体的对象。
一个类的对象,也叫一个类的实例。再打个比方,类好比一个模具,对象就是用这
个模具造出来的具有相同属性和方法的具体事物,俗话说:“他俩真像,好像一个模
子刻出来的”,就是指的这个意思。 那么用这个模具造一个具体事物,就叫类的实
例化。下面看一个具体的类:
2、定义一个类
class boy:
gender='male'
interest='girl'
def say(self):
return 'i am a boy'
上面的语句定义了一个类 boy ,我们来根据这儿类的模型构造一个具体的对象:
peter=boy()
现在来看看 peter 这个具体的实例有哪些属性和方法。
“什么叫属性和方法?”
它们都是“类”的两种表现,静态的叫属性,动态的叫方法。比如“人”类的属性有姓
名、性别、身高、年龄、体重等等,“人”类的方法有走、跑、跳等等。
peter.gender
'male'
peter.interest
'girl'
peter.say()
'i am a boy
这里 gender 和 interest 是 peter 的属性,而 say 是他的方法。如果再实例
化另一个对象比如 sam :
sam=boy()
那么 sam和 peter 有一样的属性和方法,可以说,“他们真是一个模子刻出来
的!”
第二天:python的函 数、循环和条件、类的更多相关文章
- Python(四) 分支、循环、条件与枚举
一.什么是表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 二.表达式的优先级 三.表达式优先级练习 优先级同级 从左往右计算 1 or 2 a ...
- 记录我的 python 学习历程-Day02-while 循环/格式化输出/运算符/编码的初识
一.流程控制之--while 循环 循环就是重复做同一件事,它可以终止当前循环,也可以跳出这一次循环,继续下一次循环. 基本结构(基本循环) while 条件: 循环体 示例 # 这是一个模拟音乐循环 ...
- 利用Python中的for循环和while循环,打印各种方向的九九乘法表。
哈喽大家好,今天,可乐来给大家分享一下Python中用for循环和while循环打印九九乘法表的操作.由于本人也是刚刚接触Python不长时间,代码也是自己编写的,所以有什么不足之处还请大家多多指教. ...
- 第二章----python基础
概要:python是一种计算机编程语言,有自己的一套语法,编译器或者解释器负责把符合语法的程序代码翻译成CPU能识别的机器码,然后执行.python使用缩进来组织代码块,Python程序中大小写是敏感 ...
- 第二章 python基础(一)
第一节 Python文件类型 源代码 Python源代码的文件以“py”为扩展名,由Python程序解释,不需要编译 字节代码 Python源文件经编译后生成的扩展名为“pyc”的文件 编译方法 im ...
- Python学习day15-函数进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python编程基础:循环结构
一.为什么要用循环 现在有一个任务,要求你输出一百遍"好好学习,天天向上!",想一想,你会怎么做? (一)老老实实的笨方法 print("第1遍写:好好学习,天天向上!& ...
- Python之 continue继续循环和多重循环
Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环. 假设我们已经写好了利用for循环计算平均分的代码: L ...
- OpenJudge计算概论-第二个重复出现的数
/*======================================================================== 第二个重复出现的数 总时间限制: 1000ms 内 ...
随机推荐
- sourceTree 代码未同步合并
在同一个分支下,提交代码会有代码合并情形. 1.未同步代码前,提交代码 2.提交报错 3. 拉取未同步的提交代码 4.点击提交到暂存区, 5. 暂存区变成2条,再点击推送. 6.sourceTree ...
- HL-D793G七位蓝色+PT6311驱动
和之前那块一起买的.又画了这个屏幕驱动,还画了灯丝电源驱动,和以前画的stm8核心板在JLC拼板. 亚光黑颜色,不单独收钱! 切好水洗吹干! 忘记给排针加丝印,手写代之. 焊接的时候,脑子发热,以为把 ...
- 2018年山东省省队集训 Round 1 Day 2简要题解
从这里开始 Problem A 生日礼物 Problem B 咕咕 Problem C 解决npc (相信来看这篇博客的人都有题面) T2以为可以线性递推,然后花了两个小时.然后想了两个小时T1,会了 ...
- 将markdown文档使用gulp转换为HTML【附带两套css样式】
将markdown文档使用gulp转换为HTML[附带两套css样式] 今天遇到一个需求,即将Markdown文档转为为HTML在网页展示,身为一名程序员,能用代码解决的问题,手动打一遍无疑是可耻的. ...
- Spring 学习——Spring AOP——AOP配置篇Advice(有参数传递)
声明通知Advice 配置方式(以前置通知为例子) 方式一 <aop:config> <aop:aspect id="ikAspectAop" ref=" ...
- 不小心跳进安装Django-redis的坑
为了写缓存这一块,我用pip install django-redis安装Django-redis. 它也把我的Django更新到最新了,我回头看下面的截图才发现的,把我的Django从1.8.2更新 ...
- snmp模拟器snmpsid使用
snmpsim使用 安装 pip install snmpsim 简单使用 生成snmpwalk文件: snmpwalk -v2c -c 'password' -ObentU 218.200.x.15 ...
- 20175312 2018-2019-2 《Java程序设计》第6周学习总结
20175312 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第七.十章的学习,主要的学习渠道是PPT,和书的课后习题. 总结 ...
- 论文笔记:Learning regression and verification networks for long-term visual tracking
Learning regression and verification networks for long-term visual tracking 2019-02-18 22:12:25 Pape ...
- DataTable2JSON 和 DataTable2Class 性能比较
DataTable 用 5000行和50000行数据做测试,得出转class效率貌似高一点点,不过优化并不大,还是 sql ,网络请求方面做优化比较显著. jobject 2019-03-07 06: ...