当前位置:   article > 正文

Chapter 03 Python基础语法

Chapter 03 Python基础语法

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!


前言

本章详细介绍了Python 的基础语法知识,包括字面量、注释、变量、数据类型、数据类型转换、标识符、运算符和数据输入等内容。


本篇文章参考:黑马程序员

一、字面量

字面量:在代码中被写下来的的固定的值。
那Python中有哪些值可以被写下来呢?
Python中常用的有6种值(数据)类型
在这里插入图片描述
表达方式:
在这里插入图片描述
Python中,字符串需要用双引号(")包围起来。换句话说,被引号包围起来的,都是字符串。

那我们如何基于print语句完成各类字面量的输出?
格式:print(字面量)
例如:

print(666)
print(-23)
print("你好,python")
  • 1
  • 2
  • 3

输出结果:
666
-23
你好,python

默认print语句输出内容会自动换行,在print语句中,加上 end=''即可输出不换行了

print("Hello",end='')
print("World",end='')
  • 1
  • 2

输出结果:
HelloWorld

二、注释

注释:在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。

1.单行注释
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。

# 写一个整数字面量
666
# 写一个浮点数字面量
13.14
# 写一个字符串字面量
"你好,python"

# 通过print语句输出各类字面量
print(666)
print(13.14)
print("你好,python")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

输出结果:
666
13.14
你好,python

注意:#号和注释内容一般建议以一个空格隔开(符合Python规范)。
单行注释一般用于对一行或一小部分代码进行解释。

2.多行注释
多行注释:以一对三个双引号引起来 (“”“注释内容”“”)来解释说明一段代码的作用,引号内部均是注释内容,可以换行。

"""
本段代码演示了:
通过print语句输出各类字面量
"""
# 通过print语句输出各类字面量
print(666)
print(13.14)
print("你好,python")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出结果:
666
13.14
你好,python

多行注释一般对:Python文件、类或方法进行解释
【拓展】关于注释的面试题:

  1. 单行注释中能否使用多行注释?
    单行注释中无法使用多行注释,因为单行注释仅针对一行代码或文字,不支持多行注释。
  2. 多行注释中能否使用单行注释?
    多行注释中通常也不能使用单行注释,因为多行注释已经被设计为在多行之间进行注释,不应该包含单行注释。
  3. 多行注释中能否使用多行注释?
    多行注释也通常不能嵌套使用多行注释,因为多行注释通常用特定的开始和结束符号标识,嵌套使用会导致语法错误或不符合语言规范。

三、变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
变量的作用:存储运行过程的数据,避免重复使用。
变量的特征:变量存储的数据,是可以发生改变的。
变量的定义格式:变量名称 = 变量的值
在这里插入图片描述

# 定义一个变量,用来记录钱包余额
money=50
# 通过print语句输出变量记录的内容
# print语句输出多份数据,可通过“,”将内容隔开
# 格式:print(内容1,内容2,……,内容N)
print("钱包还有:",money,"元")

# 买了冰淇淋,花费了10元
money=money-10
print("钱包还剩:",money,"元")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出结果:
钱包还有: 50 元
钱包还剩: 40 元

四、数据类型

目前在目前在入门阶段,我们主要接触如下三类数据类型:
在这里插入图片描述
字符串类型有三种不同定义方式:

# 1.双引号定义法
text1="我是字符串文本数据"
# 2.单引号定义法
text2='我也是字符串文本数据'
# 3.三引号定义法(表示在一对三个双引号的范围内,均是字符串)
text3="""我也是字符串文本数据"""
text4="""
在三个引号的包围圈内
全部都是
字符串文本数据
"""
print(text1)
print(text2)
print(text3)
print(text4)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

输出结果:
我是字符串文本数据
我也是字符串文本数据
我也是字符串文本数据
在三个引号的包围圈内
全部都是
字符串文本数据

那我们如何验证数据的类型呢?
我们可以通过type()语句来得到数据的类型:
语法:type(被查看类型的数据)
type()语句的使用方式有如下三种:

①在print语句中,直接输出类型信息

print(type("你好"))
print(type(666))
print(type(13.14))
  • 1
  • 2
  • 3

输出结果:
<class ‘str’>
<class ‘int’>
<class ‘float’>

②使用变量存储type()语句的结果(返回值)

string_type=type("你好")
int_type=type(666)
float_type=type(13.14)
print(string_type)
print(int_type)
print(float_type)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出结果:
<class ‘str’>
<class ‘int’>
<class ‘float’>

③使用type()语句,查看变量中存储的数据类型信息

name="小明"
name_type=type(name)
print(name_type)
  • 1
  • 2
  • 3

输出结果:
<class ‘str’>

这段代码中name_type变量可以存储变量name的类型信息,是因为type()语句会给出结果(返回值)。

【易淆点】变量有类型吗?我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型呢?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
例如:字符串变量表示变量存储了字符串而不是表示变量就是字符串。

五、数据类型转换

数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。
数据类型转换用途广泛:

  • 输入处理:将从用户输入或外部源(如文件、数据库)获取的数据转换为适当的数据类型,以便进一步处理和操作。
  • 将用户输入或外部数据转换为程序可处理的格式
  • 验证数据有效性
  • 在数学计算中确保数据类型正确
  • 数据展示给用户或输出到不同环境
  • 数据存储和传输时转换为适当类型
  • 与其他系统交互时,将数据转换为需求的格式

常见的转换语句:
在这里插入图片描述
在Python中,数据类型转换通常会创建一个新的对象来表示转换后的数据类型,而不会改变原始数据的内容。这意味着进行数据类型转换后,原始数据的内容不会被修改,而是生成一个新的对象来表示转换后的数据类型。因此,数据类型转换不改变原始数据的内容。
当将浮点数转换为整数时,小数部分会被丢弃,导致精度损失。虽然看起来数据内容有变化(小数部分被丢弃),但整数部分保持不变。因此,在这种情况下,可以说数据内容的改变是部分的而非完全的。数据类型转换通常在不改变原始数据内容的前提下进行,但某些特定情况下会导致部分内容改变。

# 将数字类型转换成字符串
num_str=str(11)
print(type(num_str),num_str)

float_str=str(11.345)
print(type(float_str),float_str)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出结果:
<class ‘str’> 11
<class ‘str’> 11.345

# 将字符串类型转换成数字
num1=int("11")
print(type(num1),num1)

# 错误示例,想要将字符串转换为数字,必须要求字符串内的内容都是数字
# num2=int("你好")
# print(type(num2),num2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出结果:
<class ‘int’> 11

# 整数转浮点数
float_num=float(11)
print(type(float_num),float_num)

# 浮点数转整数,会丢失精(即丢失小数部分)
int_num=int(11.567)
print(type(int_num),int_num)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出结果:
<class ‘float’> 11.0
<class ‘float’> 11

注意

  1. 任何类型,都可以通过str(x)转换成字符串
  2. 字符串内必须是数字,才可以将字符串转换为数字
  3. 浮点数转整数会丢失精度(即丢失小数部分)

六、标识符

标识符:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
既然要起名字,就会有对应的限制和规范!
规则是指Python编程语言本身所规定的语法和操作规则,而规范则是指编写Python代码时应遵循的最佳实践和约定。遵循规则和规范可以帮助编写出结构清晰、易读易懂、高效维护的Python代码。

1.标识符命名规则
Python中,标识符命名的规则主要有3类:
①内容限定:
标识符命名中,只允许出现英文、中文、数字、下划线(_)这四类元素。其余任何内容都不被允许。
注意
1.不可以数字开头
2.不推荐使用中文(英因为目前Python支持使用中文命名还不太完善,可能会出现隐藏的问题)

②大小写敏感 :
在Python中,标识符中的大小写字母会被视为不同的字符。
以定义变量为例,字母a的大写和小写Python是完全能够区分的:

Andy="安迪1"
andy="安迪2"
print(Andy)
print(andy)
  • 1
  • 2
  • 3
  • 4

输出结果:
安迪1
安迪2

③不可使用关键字:
Python关键字(也称为保留字),指被Python语言内部定义并保留使用的标识符,其他开发者不允许自定义和它们相同的标识符。
常用关键字如下:

关键字说明
True布尔类型的值,表示真,与False相反
False布尔类型的值,表示假,与True相反
None表示什么也没有,它有自己的数据类型-NoneType
and逻辑与
or逻辑或
not逻辑非
if条件语句,常与else、elif结合使用
elif条件语句,常与if、elif结合使用
else在条件语句中使用,与if、elif结合使用。也可用于异常和循环语句
forfor循环语句
whilewhile循环语句
continue跳出本次循环,执行下一次循环
pass空的类、方法或函数的占位符
try常用于捕捉异常,与except、finally结合使用
exceptexcpet包含捕获异常后的操作代码块,与try、finally结合使用
finally出现异常后,始终要执行finally包含的代码块,与try、except结合使用
raise抛出异常
from用于导入模块,与import结合使用
import用于导入模块,与from结合使用
def定义函数或者方法
return函数或方法的返回值
class定义一个类
lambda匿名函数
del删除变量或某个序列中的值
global定义一个全局变量
nonlocal声明一个非局部变量,用于标识外部作用域的变量
in判断某个变量是否在序列中
is判断是否是同一个对象
assert用于调试
as创建别名
with常与open使用,用于读取或写入文件
yield结束一个函数,返回一个生成器,用于从函数依次返回值

注意:关键字也大小写敏感,如果和关键字大小写不一致,就不算占用关键字;但是如果和关键字大小写完全一致,就算占用关键字。

class=1
print(class)
  • 1
  • 2

输出结果:
SyntaxError: invalid syntax(语法错误,运行报错)

Class=1
print(Class)
  • 1
  • 2

输出结果:
1

2.变量命名规范
①见名知意:
变量的命名要做到简洁明了,尽量做到,看到名字,就知道是什么意思。
例如:

name="张三"
age="11"
  • 1
  • 2

②下划线命名法:
多个单词组合变量名,要使用下划线做分隔。
例如:

first_number=1
student_nickname="小明"
  • 1
  • 2

③英文字母全小写:
命名变量中的英文字母,应全部小写
例如:

name="张三"
age="11"
  • 1
  • 2

七、运算符

Python中的运算符用于执行不同的操作。
1.算术运算符
在这里插入图片描述

# %d 是一个格式化字符串的占位符,用于指示在该位置插入一个整数值
# % 后面用括号括起来的表达式会提供要填充到占位符 %d 中的值
print("1 + 1结果是:%d"%(1+1))
print("2 - 1结果是:%d"%(2 - 1))
print("1 * 3结果是:%d"%(1 *3))
print("9 / 3结果是:%d"%(9 /3))
print("9 // 2(9整除2)结果是:%d"%(9 // 2))
print("9%% 2(9余2的结果是)结果是:%d"%(9%2))
print("2 的 6 次方是:结果是:%d"%(2 ** 6))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

输出结果:
1 +1结果是:2
2-1结果是:1
1 *了结果足:
9/3结果是:3
9//2(9整除2)结果是:4
9%2(9余2的结果是)结果是:1
2 的6 次方是:结果是:64

2.赋值运算符
在这里插入图片描述
3.复合赋值运算符
在这里插入图片描述

num=1
num += 1
print("num += 1:",num)
num -= 1
print("num -= 1:",num)
num *= 4
print("num *= 4:",num)
num /= 2
print("num /= 2:",num)
num = 3
num %= 2
print("num %=2:",num)
num **= 2
print("num **=2:",num)
num =9
num //= 2
print("num //= 2:", num)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

输出结果:
num += 1: 2
num -= 1: 1
num *= 4: 4
num /= 2: 2.0
num %=2: 1
num **=2: 1
num //= 2: 4

八、数据输入

我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。在Python中,与之对应的还有一个input语句(函数),用来获取键盘输入。
数据输出:print
数据输入:input

print("请告诉我你是谁?")
# 变量name用于接收(存储)input语句获取的键盘输入数据
name=input()
# %s 是一个格式化字符串的占位符,用于指示在该位置插入一个字符串值
# % 后面用括号括起来的表达式会提供要填充到占位符 %s 中的字符串值
print("Get!你是%s" %name)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

键盘输入”小明“后并回车,输出结果:
“请告诉我你是谁?”
”Get!你是小明“

注意:无论键盘输入何种类型的数据,最终的结果都是字符串类型的数据。

v1 = input("请输入一个字符串:")
v2 = input("请输入一个整数:")
v3 = input("请输入一个浮点数:")
v4 = input("请输入一个布尔类型:")
# 在字符串前面加上 f,可以在字符串中直接嵌入变量和表达式,而不需要像以前那样使用百分号(%)格式化字符串
# {} 是花括号,用于标记格式化字符串中的占位符,它指示在该位置插入变量或表达式的值
#  f 和 {} 的组合使得可以直接在字符串中嵌入变量 type(v1) 和 v1 的值,而不需要额外的格式化步骤
print(f"输入的是字符串,变量类型是{type(v1)},内容是:{v1}")
print(f"输入的是整数,变量类型是{type(v2)},内容是:{v2}")
print(f"输入的是浮点数,变量类型是{type(v3)},内容是:{v3}")
print(f"输入的是布尔类型,变量类型是{type(v4)},内容是:{v4}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

键盘键入相关数据后,输出结果:
请输入一个字符串:“你”
请输入一个整数:12
请输入一个浮点数:3.14
请输入一个布尔类型:true
输入的是字符串,变量类型是<class ‘str’>,内容是:“你”
输入的是整数,变量类型是<class ‘str’>,内容是:12
输入的是浮点数,变量类型是<class ‘str’>,内容是:3.14
输入的是布尔类型,变量类型是<class ‘str’>,内容是:true

如果我们想得到其它类型的数据,就需要进行数据类型转换。

v5=input("请输入一个整数:")
v5=int(v5)
print(f"输入的是整数,变量类型是{type(v5)},内容是:{v5}")
  • 1
  • 2
  • 3

键盘键入整数13后,输出结果:
输入的是整数,变量类型是<class ‘int’>,内容是:13

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/916560
推荐阅读
相关标签
  

闽ICP备14008679号