📌Python编程基础--Chapter03基础语法上
一、概述
• 本章将介绍Python语言的基础语法。
• 学习使用Python语言编程,首先要了解Python语言的编码规范,还需要了解Python的数据类型:数值型(整型、浮点型、复数型)、布尔型、序列类型(字符串、列表、元组)、字典和集合。
所有程序都使用这些数据类型。
• 本章主要介绍数值型、布尔型
的基本知识,此外介绍字符串的表示
,后续章节将介绍序列类型、字典和集合。
• 本章还介绍最重要的编程概念—变量
。变量用于存储和操作数据,如果不使用几个变量,很难写出实用的程序(注意:Python的变量和其他高级语言不同)
。
学习编程的最佳方法是多练。本章将利用交互式命令环境shell来介绍上述知识。
二、交互式命令环境shell
1、启动IDLE
- 从“开始”菜单的程序列表中启动,或将IDLE程序图标发送至桌面,双击启动。
2、shell提示符
- 在Python记录中,“>>>”是Python shell的提示符。
3、记录
- shell记录是命令行shell的快照,显示了一系列用户输入和Python的应答。
4、用途
- 执行单一语句或计算表达式或函数的值;查看帮助等。
例如:
三、Python的编码规范
1、命名规则
• Python语言有一套自己的命名规则
• 命名规则并不是语法规定,只是一种习惯用法
• 建议遵守
(1) 变量名、模块名、包名
• 通常采用小写字母,可使用下划线。
例如:
math.py
#模块名,即文件名
_hi=’Hello world!’
#_hi变量名,通常前缀有一个下划线的变量名为全局变量
(2)类名、对象名
• 类首字母采用大写;
• 类中的方法名首字母小写,其后的每个单词的首字母大写(类的特殊方法除外);
• 对象名(类的实例)采用小写;
• 类外引用其属性和方法名时,以对象名作为前缀,即:对象名.属性名
/对象名.方法名
• 类的私有变量、私有方法以两个下划线作为前缀。
例3-1:类及对象命名举例
(3)函数名
• 函数名通常采用小写字母,并用下划线或单词首字母大写增加名称的可读性。
• 模块中函数以模块名作前缀。
例如:
为演示模块中函数用法,本例使用了生成随机数的模块random。
该模块中有一个函数randrange(),该函数可以根据给定的数字范围生成随机数。其声明为:
randrange(start, stop[,step])
说明:
- 参数start表示生成随机数所在范围的开始数字。
- 参数stop表示生成随机数所在范围的结束数字,但不包括数字stop。
- 参数step表示步长。生成的随机数在[start, stop-1]的范围内,取值等于start+step。
例3-2:比较两个数的大小,数据由随机函数生成。随机数的范围在1—8之间选取。
• 三次的执行结果:
例3-3:比较两个程序段
命名规则会带来很多益处:
• 统一命名规则便于开发团队合作开发同一个项目;
• 便于统一代码风格,理解不同程序员编写的代码;
• 命名规范的变量名使函数的内容更容易被理解;
• 避免项目中随意命名变量的情况,促进程序员之间的交流。
2、代码缩进与冒号
对于C、C++、Java等语言,代码缩进只是作为编程的一种良好习惯。
对于Python而言,代码缩进是一种语法。Python语言中没有采用花括号
或begin…end
分隔代码块,而是使用冒号和代码缩进区分代码之间的层次,即代码的逻辑关系。
例3-4:比较两个程序段并查看运行结果
3、模块导入的规范
模块是类或函数的集合,用于处理一类问题,使用任何Python模块都必须先导入(除内置模块之外)。
模块的导入使用:
import
语句- 或
from…import…
语句
(1)import语句
例如:导入数学函数模块math,调用其中的函数。
(2)from…import…语句
例如:
说明:
- 使用第二种导入方式,在调用math模块中的任何函数时,都无需在前面加上
math.
。 - 使用第二种导入方式时,如果程序中的函数与math模块中的某个函数同名,将被math模块中的同名函数覆盖。第一种导入方式不会覆盖任何既有函数,但使用起来不如第二种方式简洁。
- 还可以导入模块math的特定函数。例如:
from math import sqrt,tan
只导入函数sqrt
和tan
。
4、使用空行分隔代码
- 函数之间或类的方法之间可用空行分隔,表示一段新的代码的开始。
- 类和函数入口之间也可用一空行分隔,突出函数入口的开始。
- 使用空行分隔代码是为了增加程序的可读性。
例3-5:
5、注释
- Python使用
#
进行注释。 - 注释是用于说明代码实现的功能、采用的算法、代码的编写者以及代码创建和修改的时间等信息。
- 执行程序时,Python忽略所有注释,注释仅供程序员或其他可能阅读源代码的人员阅读。
- Python可以使用中文注释。Python 3默认的编码是Unicode,可以直接使用中文注释;但在Python 2中若使用中文注释,必须在Python文件的最前面加上:
# -*- coding: UTF-8 -*-
例3-6:根据美元不同硬币个数计算美分总额
6、语句的分隔
- 分号是C、Java等语言中标识语句结束的标志,在C、Java中分号是必须的; Python也支持分号,但Python的分号可以省略,主要通过换行来识别语句的结束。
- 若在一行中书写多个语句,则必须使用分号,否则Python无法识别语句之间的间隔。简单直白是Python语法的特点,通常一行只写一条语句,这样便于阅读和理解程序。
- Python也支持多行写一条语句,Python使用
“\”
作为续行符。多行写一条语句适用于长语句的情况。
例3-7:带分号的语句
例3-8:一条语句写多行
四、变量和常量
-
在Python语言中,变量是计算机内存中的一块区域,变量可以存储任何值(与C/C++不同,Python中实际上是指向或引用),而且值可以改变。
-
常量是一块只读内存区域,常量一旦初始化就不能修改。
1、变量名及命名规则
变量名用于标识对象及引用对象。
Python中,用合法的标识符命名对象。
命名语法(赋值语句): <名字>=<数据>
标识符
标识符是指Python语言中允许作为变量名或其他对象名称的有效符号
- 首字符是字母或下划线(Python中汉字属于字母)
- 其余可以是字母、下划线、数字
- 大小写敏感(PI和pi是不同的标识符)
- 变量名的长度不受限制
- 不能将Python关键字用作变量名
关键字
关键字是Python语言的关键组成部分,不可随便作为其他对象的标识符
- 在一门语言中关键字是基本固定的集合
- 在 IDE 中常以不同颜色字体出现
Python 3.x中的关键字
- 由Python 2.x中的31个变为33个
合法和非法变量名举例:
Python中的名字与变量:
- 名字像一个标签,通过赋值来“贴”在某个数值上;
- 名字和数值的关联,称为引用或指向;
- 关联数值后的名字,就拥有了数据的值(value)和类型(type);
- 一个数值可以和多个名字关联;
- 与数值关联的名字称作变量,表示名字的值和类型可以随时变化。
例如:
- 变量可以随时指向任何一个数据对象,比如0,True,1.02,或者"Hello"
2、常量
常量是一旦初始化后就不能改变的量。
例如:上例中的0,True,1.02,或者"Hello"都是常量。
五、数据类型
数据类型是构成编程语言语法的基础。不同的编程语言有不同的数据类型,但都具有常用的几种数据类型。
Python的内置数据类型:
本章介绍数字及其运算、字符串的表示,其他数据类型后续介绍。
1、数字
Python 3.x的数字类型分为:
- 整型
- 浮点型
- 布尔型
- 复数类型
使用Python编写程序时,不需要声明变量的类型。由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联以及类型转换等操作。
查看变量的类型:
- 使用内置函数:
type(x)
- 功能:返回x的类型,适用于所有类型的判断
(1)整型
• 即数学中的整数。
• Python 3.x中没有long类型,整数都是int型,但其行为模式与Python 2.x中的long类型差不多。
(2)布尔类型
- 整型的子类
- 仅有2个值:True(逻辑真)、False (逻辑假)
- 实际上是用整型的1、0分别存储的
- 各种类型中某些值会自动被转换为False(如:
None, 0,0.0,0j,"",[],(), {},set()
),其它值则是True - bool(x)函数:内置函数,将参数x转换为“True”或“False”。
例如:
(3)浮点型
• 即数学中的实数。
• 可以用科学计数法表示。
• 灵活的小数表示方法:
数值的表示:
数值除了用十进制表示之外,还可表示为八进制、十六进制和二进制:
- 八进制:以
0o/0O
打头,0-7数字 - 十六进制:以
0x/0X
打头,0-9数字,字母a-f/A-F - 二进制:以
0b/0B
打头,0-1数字
例如:
进制简介
十进制转二进制:
除基取余法:
- 用2去除十进制整数,得到商和余数;
- 如果商不为0,则继续用2除,再得到商和余数,重复该步骤直至商为0;
- 最后将余数按照从后至前的顺序排列,即得到转换后的二进制数。
说明:
- “除基取余法”中的“基”是指基数,基数即为一种数制中可用数码的个数。二进制可用的数码只有0和1两个,所以二进制的基数是2。
例如:
二进制转十进制:
二进制转十进制的规则是“按权展开求和”,即二进制的每一位写成数码乘以位权的形式,再对乘积求和。
例如:对于二进制数11010B,其对应的十进制数为:
11010B=1*24+1*23+0*22+1*21+0*20
=1*16+1*8+0*4+1*2+0*1
=16+8+0+2+0
=26
关于八进制和十六进制:
计算机内部用二进制表示数据,但二进制数太长,不够方便,而八进制和十六进制与二进制相互转换十分方便,因此常用八进制和十六进制表示数据。
- 3位二进制数对应1位八进制数
- 4位二进制数对应1位十六进制数
进制转换函数:
python默认地用十进制值显示数值,但它提供了内置的函数,允许将整数转换为其他进制的数字字符串:
- oct函数—将十进制数转换为八进制数
- hex函数—将十进制转换为十六进制数
- bin函数—将十进制数转换为二进制数
另一种方式:内置函数int会将一个数字的字符串转换为一个整数,并可以通过定义的第二个参数来确定第一个数字字符串参数的进制。
例如:
(4)复数型
Python提供了内置的复数支持。复数常用于工程和科学计算之中。
复数是涉及-1的平方根的数字,在Python中,用1j表示-1的平方根。
2、字符串
字符串由一系列字符组成。字符包括:
- 字母
- 数字
- 标点符号
- 其他特殊符号和不可打印的字符
例如:
"cat!"
"567-45442"
"Up and Down"
(1)字符串的表示
在Python中,可以使用三种方式表示字符串。
- 单引号,如:
'http'、'open windows'、 'cat'
- 双引号,如:
"http"、 "open windows"、 "cat"
- 三引号,如:
""" http"""
或多行字符串:
"""
Me and my monkey
have something to hide
"""
说明:
1、三种引号是等价的。大多数情况会使用单引号,因为易于输入(不需按下Shift键)。
2、单引号和双引号的一个主要用途为:可以在字符串中包含字符"和',不需要转义字符(\" 或\')。
如:
"It's great"
'She said "Yes!"'
3、三引号适用于创建多行字符串,不需要使用续行符(\)。
三引号括起的字符串中还可以包含字符"和',不需要转义字符( \" 或\' ) 。
另外,三引号创建的多行字符串可作为程序的文档说明。
(2)字符串的输出
print()函数常用于在屏幕上输出字符串。
例如:用print函数输出三种引号的字符串
用print()函数输出多个字符串
当在一条语句中输出多个字符串时,print()函数会自动地插入空格,只需用逗号将不同的字符串隔开即可。
例如:
为定制输出格式可使用格式说明符输出字符串:
例如:
%s—字符串的格式说明符;
命令行中黑色的%是分隔符,表明其后的所有值会被插入到字符串相应的格式说明符处;
%10s—占位10个字符,右对齐;
%-5s—占位5个字符,左对齐。
其他格式符:%d—整数格式符;%f—浮点数格式符;%o—八进制格式符;%x—十六进制格式符
整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣✨
欢迎专注我的公众号:AdaCoding 和 Github:AdaCoding123