一、Python 基础语法
1.字面量
字面量:在代码中被写下来的固定的值,称之为字面量。如 123、hello、你好
2.注释
注释:在程序代码中对程序代码进行解释说明的文字。
注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码,大大增强程序的可读性。
注释的分类:
单行注释:以 # 开头,# 右边的所有文字当作说明,起辅助说明的作用。
# 我是单行注释
print("Hello World!")
注意,# 和注释内容之间一般以一个空格隔开。
多行注释:以 一对三个双引号 引起来注释内容。
"""
我是
多行注释
的注释内容
"""
print("锄禾日当午")
print("汗滴禾下土")
3.变量
变量:在程序运行时,能储存运算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的。
变量的定义格式:
变量名称 = 变量的值
每一个变量都有自己的名称,称之为:变量名
等号表示赋值,表示将等号右侧的值,赋予左侧的变量
每一个变量都有自己存储的值(内容),称之为:变量值
4.数据类型
常用的数据类型:
数字(number):
整数(int),如10、-10
浮点数(float),如13.14、-13.14
复数(complex),如:4+3j,以 j 结尾表示复数
布尔(bool),表示逻辑,True为真,False为假,True记作1,False记作0
字符串(string):描述文本的一种数据类型,由任意数量的字符组成,如abcdefg,一二三四五,@#¥%……,被双引号包围的都是字符串
列表(list):有序的可变序列,是Python中使用最频繁的数据类型,可有序记录一堆数据
元组(tuple):有序的不可变序列,可有序记录一堆不可变的Python数据集合
集合(set):无序不重复集合,可无序记录一堆不重复的Python数据集合
字典(dictionary):无序Key-Value(键值对)集合,可无序记录一堆键值对的Python数据集合
在Python中,可以通过type( )语句来查看类型信息
查看字面量的类型:
print(type(123))
# 输出<class 'int'>
print(type("Hello"))
# 输出<class 'str'>
查看变量中存储的数据类型:
name = "往往"
name_type = type(name)
print(name_type)
# 输出 <class 'str'>
在Python 中变量是没有类型的,变量存储的数据有类型。
5.类型转换
数据类型转换的应用场景:
从文件中读取的数字,默认是字符串,需要转换成数字类型。
input()语句,默认结果是字符串
将数字转换成字符串以写出到外部系统
等等
常见转换语句:
int(x):将 x 转换为一个整数
float(x):将 x 转换为一个浮点数
str(x):将对象 x 转换为字符串
num = 123
print(type(num),num)
# 此时输出为 <class 'int'>,123 ,num存储的123为整数类型
num_str = str(num)
# 将num中的数据转换为字符串类型
print(type(num_str),num_str)
# 此时输出为 <class 'str'>,123 ,num_str存储的是"123",即字符串123
6.标识符
在 Python 程序中,我们可以给很多东西起名字,比如:
变量的名字
方法的名字
类的名字,等等
这些名字,我们把它统一称为标识符,用来做内容的标识。
所以,标识符:
标识符是用户在编程的时候所使用的的一系列名字,用于给变量、类、方法等命名。
在 Python 中,标识符命名规则主要有三类:
内容限定:标识符命名只允许出现英文、中文、数字、下划线( _ ),这四类元素,其余任何内容都不被允许。
注意:不推荐使用中文;数字不可以开头
大小写敏感:Andy 和 andy 是两个不同的变量名,Python能够区分它们。
不可使用关键字:类似 False、True、None、if、for、in 等等,在 Python 中有其特定用处的单词,称为关键字。
变量命名规范
见名知意:简单明了,看到名字知道含义,类似变量名 name、num、ans等等。
下划线命名法:多个单词组合变量名时,用下划线分隔,如变量名 first_name、student_id 等等。
英文字母全小写:命名变量中的英文字母应全部小写。
7.运算符
算术运算符
+ :加,两个对象相加 a + b
- :减,得到负数或是一个数减去另一个数 a - b
* :乘,两个数相乘或是返回一个被重复若干次的字符串 a * b
/ :除,两个数相除,b / a
// :取整除,返回商的整数部分
% :取余,返回除法的余数
** :指数,a**b 为 a 的 b 次方
赋值运算符
= :赋值运算符,把 = 号右边的结果赋值给左边的变量
符合赋值运算符
+= :加法赋值运算符, 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
8.字符串扩展
字符串的三种定义方式
单引号定义法:name = 'Avery的小站'
双引号定义法:name = "Avery的小站"
三引号定义法:name = """Avery的小站"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收时为字符串
不使用变量接收,可以当作多行注释使用。
注意:如果想要在字符串内使用引号,可以使用转义字符(\)来将引号解除引用,变成普通字符串。
字符串拼接
如果有两个字符串的字面量(文本),可以使用“ + ”将他们拼接起来,如:
print("Avery" + "的" + "小站")
输出为 Avery的小站
其中的字面量都可以替换成相应的变量名,仍然可以实现字符串拼接。
注意:使用“ + ”进行字符串拼接时,拼接的字面量以及变量只能是字符串类型,不能是其他类型。
字符串格式化
有时,拼接字符串并不好用:
变量过多,拼接过于麻烦
字符串无法和数字或其他类型完成拼接
name = "Avery"
message = " %s 的小站" % name
print(message)
# 输出为 Avery 的小站
其中的,%s
% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方
简单来说,就是 %s 先占个位置,等会有个变量会来,然后%s 会把他变成字符串填入占位的地方。
若有多个变量占位,变量要用括号括起来,并按照占位的顺序填入
class_num = 57
avg_salary = 16781
message = "Python大数据学科,北京%s期,毕业平均工资:%s" % (class_num,avg_salary)
除此以外,Python 还支持其他数据类型占位:
%s :将内容转换为字符串,放入占位位置
%d :将内容转换成整数,放入占位位置
%f :将内容转换成浮点数,放入占位位置
格式化的精度控制
可以使用辅助符号“m.n”来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
%5d:表示将整数的宽度控制在5位,将小数点精度设置为2
%5.2f:表示将整数宽度设置为5,小数点精度设置为2
注意:小数点和小数部分也算入宽度计算。如,对11.345设置了 %7.2f 后,结果是 [空格][空格]11.35.两个空格补足宽度,小数部分限制两位精度后,四舍五入为 .35
%.2f:表示不限制宽度,只设置小数点精度为 2
字符串快速格式化的方式
通过语法:f“内容{变量}”的格式进行快速格式化
例如:
name = '往往'
print(f"我是{name}")
#输出:我是往往
这种方式不理会类型,不做精度控制,适合对精度没有要求的时候快速使用
表达式格式化
表达式:一条具有明确执行结果的代码语句
如:
1 + 1、5 * 2,name = “张三”、age = 11 + 11
print("1 * 1 的结果是:%d" %(1 * 1))
print(f"1 * 1 的结果是:{1 * 1}")
print("字符串在Python中的类型时:%s" % type('字符串')
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
数据输入
input 语句(函数)
使用 input()语句可以从键盘获取输入
使用一个变量接收(存储)input 语句获取的键盘输入数据即可
print("你是谁?")
name = input()
name = input(你是谁?)
注意:无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型,如果需要进行数据转换,需要自行进行转换