Python基础语法 从入门到精通
Python中常用的有6种值(数据)的类型
类型 | 描述 | 说明 |
数字(Number) | 支持 整数(int) 浮点数(float) 复数(complex) 布尔(bool) | 整数(int),如:10、-10 |
浮点数(float),如:13.14、-13.14 | ||
复数(complex),如:4+3j,以j结尾表示复数 | ||
布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。 True本质上是一个数字记作1,False记作0 | ||
字符串(String) | 描述文本的一种数据类型 | 字符串(string)由任意数量的字符组成 |
列表(List) | 有序的可变序列 | Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
字符串(string)
又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串
如:"!@#$%^&"
Python中,字符串需要用双引号(")包围起来 被引号包围起来的,都是字符串
1. 掌握字面量的含义 代码中,被写在代码中的固定的值,称之为字面量 2. 常见的字面量类型 我们目前了解:整数、浮点数、字符串这三类即可 3. 如何基于print语句完成各类字面量的输出 print(字面量),如: print(10),输出整数10 print(13.14),输出浮点数13.
注释:在程序代码中对程序代码进行解释说明的文字。 作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够 大大增强程序的可读性。
注释的分类
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
多行注释: 以 一对三个双引号 引起来 ( )来解释说明一段代码的作用使用方法
1. 注释的作用是? 注释是代码中的解释型语句,用来对代码内容进行注解 注释不是代码,不会被程序执行 2. 单行注释如何定义? 通过 # 号定义,在#号右侧的所有内容均作为注释 建议在#号和注释内容之间,间隔一个空格 单行注释一般用于对一行或一小部分代码进行解释 3. 多行注释如何定义? 通过一对三个引号来定义("""注释内容"""),引号内部均是注释,可以换行 多行注释一般对:Python文件、类或方法进行解释
什么是变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。 简单的说,变量就是在程序运行时,记录数据用的
变量,从名字中可以看出,表示“量”是可变的。 所以,变量的特征就是,变量存储的数据,是可以发生改变的。
为什么必须要使用变量? 都是输出内容,直接输出不行吗? 变量的目的是存储运行过程的数据 存储的目的是为了:重复使用
1.变量是什么,有什么作用? 变量就是在程序运行时,记录数据用的 2. 变量的定义格式是? 变量名 = 变量值 3. 变量的特征是? 变量的值可以改变
4. print语句如何输出多份内容? print(内容1, 内容2, ......, 内容N) 5. Python中如何做减法? 使用符号 - 即可完成减法运算 拓展:加(+)、减(-)、乘(*)、除(/)
数据类型
在学习字面量的时候,我们了解到:数据是有类型的。 目前在入门阶段,我们主要接触如下三类数据类型:
类型 | 描述 | 说明 |
string | 字符串类型 | 用引号引起来的数据都是字符串 |
int | 整型(有符号) | 数字类型,存放整数 如 -1,10, 0 等 |
float | 浮点型(有符号) | 数字类型,存放小数 如 -3.14, 6.66
|
string、int、float这三个英文单词,就是类型的标准名称。
type()语句
那么,问题来了,如何验证数据的类型呢? 我们可以通过type()语句来得到数据的类型: 语法: type(被查看类型的数据)
变量有类型吗?
我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型? 查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
1. 使用什么语句可以查看数据的类型? type() 2. 如下代码,name_type变量可以存储变量name的类型信息,是因为? 因为type()语句会给出结果(返回值) 3. 变量有没有类型? 没有,字符串变量表示变量存储了字符串而不是表示变量就是字符串
字符串有3种不同的定义方式: "字符串" '字符串' """字符串""" 三引号定义法,
表示在一堆三个双引号的范围内,均是字符串,要注意的是,包含范围是:从三个引号开始,到下一个三个引号结
数据类型转换
掌握如何在字符串、整数、浮点数之间进行相互转换 了解转换的注意事项
为什么要转换类型
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等 那么,我们为什么要转换它们呢?
数据类型转换,将会是我们以后经常使用的功能。 如: 从文件中读取的数字,默认是字符串,我们需要转换成数字类型 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换 将数字转换成字符串用以写出到外部系统 等等 用途很多,那么让我们来学习一下如何转换吧。
常见的转换语句
语句(函数) | 说明 |
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象 x 转换为字符串 |
同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值) 我们可以用print直接输出 或用变量存储结果值
类型转换不是万能的,毕竟强扭的瓜不会甜,我们需要注意: 1. 任何类型,都可以通过str(),转换成字符串 2. 字符串内必须真的是数字,才可以将字符串转换为数字\
标识符
什么是标识符
在Python程序中,我们可以给很多东西起名字,比如: 变量的名字 方法的名字 类的名字,等等 这些名字,我们把它统一的称之为标识符,用来做内容的标识。 所以,标识符: 是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
标识符命名规则
Python中,标识符命名的规则主要有3类: 内容限定 大小写敏感 不可使用关键字
标识符命名规则 - 内容限定
标识符命名中,只允许出现: 英文 中文 数字 下划线(_) 这四类元素。 其余任何内容都不被允许。
标识符命名规则 - 大小写敏感
以定义变量为例: Andy = “安迪1” andy = “安迪2” 字母a的大写和小写,是完全能够区分的。
标识符命名规则 - 不可使用关键字
Python中有一系列单词,称之为关键字 关键字在Python中都有特定用途 我们不可以使用它们作为标识符
变量命名规范
学完了标识符(变量、类、方法)的命名规则后,我们在来学习标识符的命名规范。 变量名 类名 方法名 不同的标识符,有不同的规范。 我们目前只接触到了:变量。所以,目前学习:变量的命名规范。 见名知意 下划线命名法 英文字母全小写
变量的命名要做到: 明了:尽量做到,看到名字,就知道是什么意思 简洁:尽量在确保“明了”的前提下,减少名字的长度
运算符
运算符 | 描述 | 实例 |
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
算术运算符的演示
赋值运算符
运算符 | 描述 | 实例 |
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
复合赋值运算符
运算符 | 描述 | 实例 |
+= | 加法赋值运算符 | 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 |
字符串扩展
字符串的引号嵌套
思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写? 单引号定义法,可以内含双引号 双引号定义法,可以内含单引号 可以使用转移字符(\)来将引号解除效用,变成普通字符串
字符串拼接
既然,字符串和变量进行拼接,我们来完成一个小需求: 定义2个变量: name,内容是“黑马程序员” address,内容是“建材城东路9号” 要求写程序通过print语句以及字符串拼接的方式输出: “我是:黑马程序员,我的地址是:建材城东路9号院“
数字类型,也太没有地位了吧,竟然要被转成字符串拼接。 有没有体面一点的方式,让数字以其原本的面貌拼接进去呢? 安排。 Python中,其实支持非常多的数据类型占位 最常用的是如下三类
格式符号 | 转化 |
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
字符串格式化 - 表达式的格式化
刚刚的演示,都是基于变量的。 可是,我想更加优雅些,少写点代码,直接对“表达式”进行格式化是否可行呢? 那么,我们先了解一下什么是表达式。 表达式:一条具有明确执行结果的代码语句 如: 1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字 又或者,常见的变量定义: name = “张三” age = 11 + 11 等号右侧的都是表达式呢,因为它们有具体的结果,结果赋值给了等号左侧的变量。
数据输入
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。 在Python中,与之对应的还有一个input语句,用来获取键盘输入。 数据输出:print 数据输入:input 使用上也非常简单: 使用input()语句可以从键盘获取输入 使用一个变量接收(存储)input语句获取的键盘输入数据即可
input语句获取的数据类型
我们刚刚试验的都是输入了字符串类型的数据。 那么如果我们输入数字类型或其它类型,结果会如何? 那么,让我们通过前面学习过的??? type()语句 来验证一下输入内容的数据类型吧。 可以看到,无论键盘输入何种类型的数据 最终的结果都是:字符串类型的数据