国科大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 只导入函数sqrttan

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
在这里插入图片描述

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值