Python基础语法
字面量
在代码中,被写下来的的固定的值,称之为字面量
字符串
又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串
Python中,字符串需要用双引号( )包围起来被引号包围起来的,都是字符串
注释
在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够
大大增强程序的可读性。
分类
- 单行注释
- 多行注释
变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的
变量存储的数据,是可以发生改变的。
变量的目的是存储运行过程的数据
存储的目的是为了:重复使用
数据类型
在学习字面量的时候,我们了解到:数据是有类型的。
目前在入门阶段,我们主要接触如下三类数据类型:
type(被查看类型的数据)
注意点:
我们可能会说:字符串变量
但要知道,不是变量是字符串,而是它存储了:字符串
变量是没有类型的
数据类型转换
数据类型转换,将会是我们以后经常使用的功能。
如:
•从文件中读取的数字,默认是字符串,我们需要转换成数字类型
•后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
•将数字转换成字符串用以写出到外部系统
•等等
常见转换语句
注意点:
同前面学习的type()语句一样,这三个语句,都是带有结果的(返回值)
我们可以用print直接输出
或用变量存储结果值
类型转换不是万能的,毕竟强扭的瓜不会甜,我们需要注意:
- 任何类型,都可以通过str(),转换成字符串
- 字符串内必须真的是数字,才可以将字符串转换为数字
标识符
在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 |
字符串扩展
三种定义方式
如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?
•单引号定义法,可以内含双引号
•双引号定义法,可以内含单引号
•可以使用转移字符**(\)**来将引号解除效用,变成普通字符串
字符串拼接
字符串无法与非字符串进行拼接
字符串格式化
1.变量过多,拼接起来实在是太麻烦了
2.字符串无法和数字或其它类型完成拼接。
所以,有没有其它方式,即方便又支持拼接其它类型呢?
这个方式,就是字符串的格式化
其中的,%s
•% 表示:我要占位
•s 表示:将变量变成字符串放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置
那,数字类型呢?可以不可以占位?
那必须可以,我们来尝试如下代码:
多个变量占位
变量要用括号括起来
并按照占位的顺序填入
数字也能用%s占位吗?
可以的哦,这里是将数字 转换成了 字符串哦
也就是数字57,变成了字符串"57"被放入占位的地方
格式符号 | 转化 |
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
数字精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
•m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
•.n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
•%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格] [空格] [空格]11,用三个空格补足宽度。
•%5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格] [空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
•%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
快速写法
目前通过%符号占位已经很方便了,还能进行精度控制。
可是追求效率和优雅的Python,是否有更加优雅的方式解决问题呢?
通过语法:f"内容{变量}"的格式来快速格式化
注意;
这种写法不做精度控制
也不理会类型
适用于快速格式化字符串
表达式的格式化
刚刚的演示,都是基于变量的。
可是,我想更加优雅些,少写点代码,直接对**“表达式”进行格式化是否可行呢?**
那么,我们先了解一下什么是表达式。
表达式:一条具有明确执行结果的代码语句
如:
1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字
又或者,常见的变量定义:
name = “张三” age = 11 + 11
等号右侧的都是表达式呢,因为它们有具体的结果,结果赋值给了等号左侧的变量。
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码哦
数据输入
获取键盘输入
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
•数据输出:print
•数据输入:input
使用上也非常简单:
•使用input()语句可以从键盘获取输入
•使用一个**变量接收(存储)**input语句获取的键盘输入数据即可
- input()语句的功能是,获取键盘输入的数据
- 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。
完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
•数据输出:print
•数据输入:input
使用上也非常简单:
•使用input()语句可以从键盘获取输入
•使用一个**变量接收(存储)**input语句获取的键盘输入数据即可
[外链图片转存中…(img-wBzlALh9-1675856741862)]
- input()语句的功能是,获取键盘输入的数据
- 可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息。
- 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型