Python快速入门(四)

Stella981
• 阅读 661

引言

Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。

这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅读时间不长,但内容含量高。大家最好亲自码一遍代码,这样可以更有收获。

概要

1、掌握Python中的函数,让代码层次分明;

2、掌握Python中的条件,感受编程逻辑语言;

3、掌握Python中的循环,让编程变得轻松。

函数

函数,所有编程语言都有的功能,对于一门编程语言而言极其重要。我们把相对完整的功能的代码用一个函数包装起来,然后在需要这个功能的时候,用一行代码把它调用出来,这就是函数的基本作用。

回想一下,我们之前学过的打印函数print(),输入函数input(),这些都是系统自带的函数。而今天我们主要学习如何创建属于用户的函数。

我们把函数分成四个要素:

  • 输入

  • 主体

  • 输出

  • 调用

函数的输入

对于一般的函数而言,它需要接收一些变量,然后对变量进行加工,然后再把加工的结果返回。我们在下面的例子中,我们给大家列举几种函数接收输入的方式,以及展示如何定义最简单的函数。

代码:

def none_input( ):

print ('How old are you ?')

def one_input(arg1):

print ('How old are %s ?' %arg1)

def two_input(arg1,arg2):

print ('How old %s %s ?' % (arg1,arg2))

def star_input(*arg):

arg1, arg2 = arg

print ('How old %s %s ?'% (arg1,arg2))

none_input()

one_input('you')

two_input('are','you')

star_input('are','you')

讲解:

首先,我们用def命令定义函数,它是define的缩写,然后none_input,one_input叫做函数的名字,注意到函数定义需要用冒号结束且下一行要缩进,这是Python的格式要求。在上面的例子中我们列举了没有输入,一个,两个以及用*arg列表的形式的函数输入。

在调用函数的时候,我们需要请出函数名加上输入内容。比如这里的one_input('you')。one_input是函数名字,而‘you’就是输入内容。

运行结果:

How old are you ?

How old are you ?

How old are you ?

How old are you ?

函数的主体

在上面的例子中,每个函数从第二行都是函数的主体。主体部分其实就是我们常见的代码。但是从整体的角度,主体可以实现一个完整的功能,而这个功能就是函数所要完成的目标。

函数的输出

和输入一样,函数可以选择输出一些内容或者不输出任何东西。我们通过例子来了解:

代码:

def math(a,b):

return a+b,a-b,a*b,a/b

results = math(10,5)

re1,re2,re3,re4 = math(10,5)

print (results)

print (re1,re2,re3,re4)

讲解:

我们用定义一个math函数,return负责返回输出。这个函数返回四个值。分别是两个数的加减乘除,我们用两种方式来接收函数的返回。注意到两个返回的打印结果还是有差异的。

运行结果:

(15, 5, 50, 2.0)

15 5 50 2.0

函数的调用

函数调用的格式我们在第一个例子中提到过。我们用函数名加函数内容的形式调用函数。如果函数有输出,需要用变量来“承接”函数的输出,比如第二个例子中我们用results来承接math函数的输出。

一般而言,我们遵从先定义后调用的规则,也就是说定义的代码要放在调用的代码上面。

条件

If语句,根据给定的条件,会在不同的情况下执行不同的代码。它是我们编程中最常用到的结构之一。我们直接看下面的例子来感受条件语句的用法。

代码:

apple = 40

banana = 60

if apple < banana:

print ('banana is more than apple.')

apple = apple + 30

if apple > banana:

print ('banana is less than apple.')

讲解:

if语句和函数定义在形式上有相似处,都是首行冒号结尾和第二行有缩进。

在这个例子中我们用if语句,比较这两个变量的大小。第一次比较的时候,apple小于banana,刚好满足条件,所以条件语句返回True值,条件成立,于是执行print语句。之后,我们改变了apple的大小,于是两个变量大小关系发生了改变,我们改变了第二个if语句的条件,于是也返回True值,执行print语句。

注意到if后面的是一个逻辑判断表达式,返回的值是逻辑变量True或者False。它一般由比较运算符和逻辑运算符组成。在上面的例子中,我们只使用了比较运算符而没有使用逻辑运算符。逻辑运算符可以在有多个判断条件的时候加入进来,起到多条件同时判断的作用。

运行结果:

banana is more than apple.

banana is less than apple.

if语句完全体:if else

If语句虽然妙,但是和else配合服用更加妙。字面意思很好理解,就是if中的条件如果成立那么我们就执行if语句下的代码,否则(else)我们就执行else语句下的代码。这样的好处是可以一次把条件分成很多情况,然后根据不同情况选择不同决定。

代码:

apple = 50

banana = 50

if apple < banana:

print ('banana is more than apple.')

elif apple > banan:

print ('banana is less than apple.')

else:

print ('banana is same as apple.')

讲解:

我们把banana和apple的大小关系划分成三种:大于,小于和等于。If负责小于的情况,elif负责大于的情况,最后else是这两个条件之外的,也就是等于。所以三个情况刚好构成了一个事件的完整逻辑关系。

运行结果:

banana is same as apple

循环

同If语句一样,循环语句也是编程语言的一个必备基本结构。一般而言,Python有两种方式可以实现循环语句,一种是for语句另一种是while语句,我们先从稍微简单一点的for开始学习。

for语句循环

for语句的循环有两种基本套路:

  • 通过不断访问列表元素来实现循环

  • 使用range()函数来实现循环

我们分别介绍这两种套路。

列表简单理解起来就是一堆变量的集合,我们用中括号 [ ]将列表中元素放进去,列表里的元素用逗号隔开:

代码:

the_list = [1, 2, 3, 4, 5]

print (the_list)

sum = 0

for number in the_list:

sum = sum + number

print (sum)

讲解:

这里,我们定义一个叫做the_list的列表,把1到5的数字存放在列表当中。然后我们利用for循环实现一个连续整数的加法,注意到我们以for开头,然后接着一个变量number将会用来依次访问列表中的元素。

注意:

首行冒号结尾以及次行缩进的格式;

in和for形影不离,配套使用。

运行结果:

[1, 2, 3, 4, 5]

15

range() 函数,是用来创建数字列表。它有3个参数来控制生成的整数列表,第一个是起始整数,第二是结束整数,但是列表并不会取到这个数,而是比它小一位,最后一个就是步长。当然我们不需要每次都输入三个参数来控制,如果只输入一个参数,那么Python会默认起始整数为0,输入的参数是结束整数。如果输入两个参数,那么第一个是起始整数,第二个就是结束整数。

代码:

the_list = range(1,6)

sum = 0

for number in the_list:

sum = sum + number

print (sum)

讲解:

这里,我们用range()函数,建立了一个从1到5的整数列表,注意到(1,6)由于Python的规定,实际表示的是从1到5。

运行结果:

15

While循环语句

接下来我们介绍比for更加复杂一些的while循环。和for不同的是,while不是访问一个列表取值,而在一个逻辑条件一直成立的情况下,不断执行循环里面的代码。

代码:

number = 0

sum = 0

while number < 5:

number = number + 1

sum = sum + number

print (sum)

讲解:

这里,while循环的判断条件是number<5,当number小于5的时候,代码会一直循环执行里面的求和,直到条件失效。利用每次循环给number加1,最后实现了1-5整数的求和。

运行结果:

15

最后我们给大家提醒循环的使用注意点:

  • 少用while多用for

  • 检查while语句中的逻辑表达式是否最终会变成False,防止无限循环。

  • 必要时候可以打印循环里的变量来观察。

Python快速入门(四)

你点的每个赞,我都认真当成了喜欢

本文分享自微信公众号 - Python学会(gh_39aead19f756)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Python快速入门(一)
引言Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅读时间不长,且内容含量高。大家最好亲自码一遍代码,这样可以更有收获。概要
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这