2021-02-14 大数据课程笔记 day25

时间煮雨
@R星校长

Python教程

第一章Python的介绍

python介绍

一种面向对象,面向函数的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL(GNU General Public License) 协议[2]. Python 语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python 具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。常见的一种应用情形是,使用 Python 快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如 3D 游戏中的图形渲染模块,性能要求特别高,就可以用 C/C++ 重写,而后封装为 Python 可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

Python的历史

自从 20 世纪 90 年代初 Python 语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和 Web 编程。
Python 的创始人为 Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫 Monty Python 的喜剧团体的爱好者。
ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在 Python 中避免这一错误。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。
就这样,Python 在 Guido 手中诞生了。可以说,Python 是从 ABC 发展起来,主要受到了 Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了 Unix shell 和 C 的习惯。
Python[4] 已经成为最受欢迎的程序设计语言之一。2011年1月,它被 TIOBE 编程语言排行榜评为 2010 年度语言。自从 2004 年以后,python 的使用率呈线性增长[5] 。
由于 Python 语言的简洁性、易读性以及可扩展性,在国外用 Python 做科学计算的研究机构日益增多,一些知名大学已经采用 Python 来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python 语言讲授。众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV、三维可视化库VTK、医学图像处理库ITK。而 Python 专用的科学计算扩展库就更多了,例如如下 3 个十分经典的科学计算扩展库:NumPy、SciPy 和 matplotlib,它们分别为 Python 提供了快速数组处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
说起科学计算,首先会被提到的可能是 MATLAB。然而除了 MATLAB 的一些专业性很强的工具箱还无法替代之外,MATLAB 的大部分常用功能都可以在 Python 世界中找到相应的扩展库。和 MATLAB 相比,用 Python 做科学计算有如下优点:
● 首先,MATLAB 是一款商用软件,并且价格不菲。而 Python 完全免费,众多开源的科学计算库都提供了 Python 的调用接口。用户可以在任何计算机上免费安装 Python 及其绝大多数扩展库。
● 其次,与 MATLAB 相比,Python 是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。
● 最后,MATLAB 主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而 Python 有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用 Python 实现完整应用程序所需的各种功能。

关键点常识

1、Python 的发音与拼写
2、Python 的意思是蟒蛇,源于作者喜欢 Monty Python 的喜剧团体
3、Python 的作者是 Guido van Rossum(龟叔)
4、Python 是龟叔在 1989 年圣诞节期间,为了打发无聊的圣诞节而用 C 编写的一个编程语言
5、Python 正式诞生于 1991 年
6、 Python 的解释器如今有多个语言实现,我们常用的是 CPython(官方版本的 C 语言实现),7、其他还有 Jython(可以运行在 Java 平台)、IronPython(可以运行在 .NET 和 Mono 平台)、PyPy(Python 实现的,支持JIT即时编译)
8、Python 目前有两个版本,Python2 和 Python3,最新版分别为 2.7.13 和 3.6.2,现阶段大部分公司用的是 Python2,Life is shot, you need Python. 人生苦短,我用 Python。
9、2021年2月份 编程语言用户量排行榜 :https://www.tiobe.com/tiobe-index/ 在这里插入图片描述

1.1.4 Python优缺点

  • 简单————Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
  • 易学————就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
  • 免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
  • 高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
  • 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
  • 解释性————这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
  • 面向对象————Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
  • 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  • 丰富的库————Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
  • 规范的代码————Python采用强制缩进的方式使得代码具有极佳的可读性。
Python应用场景
  • Web应用开发(目前国内使用较少)
    Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
  • 操作系统管理、服务器运维的自动化脚本
    在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
  • 科学计算机器学习
    NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
  • 服务器软件(网络软件)——阿里云
    Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

第二章 python 安装下载及基础语法

Python 的下载

1、python网址:https://www.python.org/
2、anaconda网址:https://www.anaconda.com/
注意:Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等 180 多个科学包及其依赖项。

Python 的安装
1、Python 安装比较简单,只需要双击安装即可,安装比较快(window)
2、anaconda 同样是双击安装,但是安装过程的时间比较长,需要很多依赖项(window)

环境变量配置:在这里插入图片描述
参考:https://www.cnblogs.com/yuxuefeng/articles/9235431.html

Python IDE 的安装
1、eclipse插件安装(了解)
	Help—> eclipse marketplace—> pydev (较慢)
	插件包:解压拷贝到 eclipse 的 dropins 中,重启即可
2、pycharm 安装
	傻瓜式安装,创建新的项目的时候直接选择 sdk

破解步骤:
1.将JetbrainsCrack-release-enc.jar拷贝到安装 pycharm 目录的 bin 文件夹下
2.修改 bin 目录下的两个配置文件:pycharm64.exe.vmoptionspycharm.exe.vmoptions
修改:内容

-Xms1024m
-Xmx1024m

添加内容:

-javaagent:D:\devsoft\JetBrains\PyCharm 2018.2.3\bin\JetbrainsCrack-release-enc.jar

3.启动 -> Activation code-> 输入《注册码.txt》文件中的内容即可完成破击

第一个案例程序 Python_helloworld
1、在任意的IDE中创建Python项目
2、创建Python file文件
3、输入代码 print(“hello ,python”)
4、右击直接运行,会在控制台看到对应的结果
交互式窗口
1、python:在cmd中直接输入python(配置环境变量)
2、ipython:找到对应的ipython的执行文件,直接执行
	ipython:支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数
	注意:Python中本身不带有这个ipython的交互,需要自行安装。首先查看计算机中是否包含pip,一般安装完之后有,执行python –m pip install –upgrade pip,先将pip进行更新,然后安装ipython:pip install ipython
Python 的注释及乱码
1、单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用 
2、多行注释:’’’多行注释’’’可以写多行的功能说明
3、Python乱码问题
	   由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。
	   当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行(python3可不要):
	# -*- coding:utf-8 -*-
或
	# coding=utf-8
变量及类型

  1、变量的定义
  在程序中,有时我们需要对 2 个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
  如果在程序中,需要把 2 个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
  在 Python 中,存储一个数据,需要一个叫做变量的东西
  变量三要素:变量的名称,变量的类型,变量的值

  2、变量的类型
为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型,如图所示在这里插入图片描述
注意:
  整数
  Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
  计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和 0-9,a-f 表示,例如:0xff00,0xa5b4c3d2,等等。
  浮点数
  浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109 和 12.3x108 是完全相等的。浮点数可以用数学写法,如 1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把 10 用 e 替代,1.23x109 就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5,等等。
  整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
  字符串
  字符串是以单引号 ’ 或双引号 " 括起来的任意文本,比如 ‘abc’,“xyz” 等等。请注意,’‘或"“本身只是一种表示方式,不是字符串的一部分,因此,字符串 ‘abc’ 只有 a,b,c 这 3 个字符。如果’本身也是一个字符,那就可以用”"括起来,比如 “I’m OK” 包含的字符是 I,’,m,空格,O,K 这 6 个字符。
  如果字符串内部既包含’又包含"怎么办?可以用转义字符\来标识,比如:
  ‘I’m “OK”!’
  表示的字符串内容是:
  I’m “OK”!
  转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看:
  如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r’‘表示’‘内部的字符串默认不转义,可以自己试试:
  >>>print(r’I’m ok’)
  I’m ok
  如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’…’’'的格式表示多行内容,
  布尔值
  布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来
  布尔值可以用and、or和not运算。
  and运算是与运算,只有所有都为True,and运算结果才是True:
  空值
  空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
  此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
  怎样知道一个变量的类型呢?
  在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
  可以使用type(变量的名字),来查看变量的类型

  3、常见的数据类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数(pyhon2.x)
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符(pyhon2.x)
ord(x ) 将一个字符转换为它的整数值 a->97
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
标识符和关键字

  1、标识符
  开发人员在程序中自定义的一些符号和名称,标示符是自己定义的,如变量名 、函数名等

  2、标示符的规则
  标示符由字母、下划线和数字组成,且数字不能开头。不能有特殊符号:,/,;,#
  思考:下面的标示符哪些是正确的,哪些不正确为什么
fromNo12 from#12 my_Boolean my-Boolean Obj2 2ndObj myInt test1 Mike2jack My_tExt test test!32haha(da)ttint jack_rose jack&rose GUI G.U.I
  python中的标识符是区分大小写的
在这里插入图片描述
  3、命名规则
  见名知意
  起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
  驼峰命名法 : 在这里插入图片描述
  小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
  大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
  不过在程序员中还有一种命名法比较流行,就是用下划线“
”来连接所有的单词,比如 send_buf
  4、关键字
  python一些具有特殊功能的标示符,这就是所谓的关键字
关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符
查看关键字:(保留字)

and	 	as	 	assert	 	break		class	 	continue	 def	 
del 		elif 		else 		except 		exec 	finally	 for 
from 	global 	if 			in 			import 	is 		 lambda 
not 		or 		pass 		print 		raise 	return 	 try 
while 	with 	yield 

  可以通过以下命令进行查看当前系统中python的关键字:在这里插入图片描述

输入与输出

1、普通的输出

# 打印提示
    print('hello world') System.out.println
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。
比如输出'hello, world',用代码实现如下:
>>> print('hello, world')

print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog

print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:

print()也可以打印整数,或者计算结果:
>>> print(300)
300
>>> print(100 + 200)
300
因此,我们可以把计算100 + 200的结果打印得更漂亮一点:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
注意,对于100 + 200,Python解释器自动计算出结果300,
但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。

2、格式化输出

最后一个常见的问题是如何输出格式化的字符串。
我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,
而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
你可能猜到了,%运算符就是用来格式化字符串的。
在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,
后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
常见的占位符有:
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
练习:编写程序
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,
并用字符串格式化显示出'xx.x%',只保留小数点后1位:

3、输入

如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里
1. python2版本中
1.1 raw_input()
在Python中,获取键盘输入的数据的方法是采用 raw_input 函数。
看如下示例:
注意:
raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中
raw_input()会把用户输入的任何值都作为字符串来对待
1.2 input()
input()函数与raw_input()类似,但其接受的输入作为是表达式。
input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
raw_input()输入的都当成字符串(和Python3的input功能一样)
2. python3版本中
没有raw_input()函数,只有input()
并且 python3中的input与python2中的raw_input()功能一样
运算符

1、算术运算符
下面以 a=10 ,b=20 为例进行计算

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余(取模) 返回除法的余数 b % a 输出结果 0
** 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000

2、赋值运算符

运算符 描述 实例
= 赋值运算符 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7

3、复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

注意:Python 中没有 a++ , a-- , ++a , --a 等操作

4、逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

5、比较(关系)运算符

运算符 描述 示例
== 检查两个操作数的值是否相等,如果是则条件变为真。 如a=3,b=3则(a == b) 为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3则(a != b) 为 true.
<> 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a > b) 为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a < b) 为 false.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a >= b) 为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a <= b) 为 true.

练习:
由用输入一个学生的信息,(姓名,年龄,地址)。然后看看年龄是否是偶数,然后输出。

第三章 Python的逻辑判断和循环

1、if elif else 条件判断

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')

根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:

age = 3
if age >= 18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')

注意不要少写了冒号:。
当然上面的判断是很粗略的,完全可以用elif做更细致的判断:

if判断条件还可以简写,比如写:

if x:
    print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

input 陷阱

最后看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:

birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

输入 1982,结果报错:
这是因为 input() 返回的数据类型是 str,str 不能直接和整数比较,必须先把 str 转换成整数。Python 提供了 int() 函数来完成这件事情:

s = input
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值