Python语言基础——语法基础
前言
推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。
https://www.captainbed.cn/f1
Python是一种高级编程语言,其语法简洁易懂,支持多种编程范式,如面向对象、函数式编程等。Python采用缩进来表示代码块,使代码结构清晰易读。基础语法包括变量、数据类型、运算符、条件语句、循环语句、函数定义和调用等。Python支持动态类型,变量可在运行时更改类型。此外,Python还有丰富的标准库和第三方库,可用于文件处理、网络编程、科学计算等多种任务。掌握Python的语法基础是学习Python编程的第一步。
一、变量的介绍与使用
变量的介绍
变量是值可以改变的量,可以理解为一个容器。这个容器里存放的内容是可以发生改变的。
Python中的变量用于存储数据,并且可以在程序中使用和操作这些数据。变量可以存储各种类型的数据,例如整数、浮点数、字符串等。
python
在变量类型定义方面没有强制性要求,对新手尤其方便。
变量命名规则
- 变量名可以包含字母、数字和下划线,但不能以数字开头。
- 变量名区分大小写。
- 变量名不能使用
Python
的关键字,如if
、for
、while
等。
变量的使用
变量的使用过程包括变量的定义和变量的赋值。
变量的定义是指给变量一个名称,并且指定该变量可以存储的数据类型。例如,可以使用以下语法定义一个整数类型的变量:
num = 10
变量的赋值是指给变量一个值。可以使用赋值语句来给变量赋值,例如:
num = 10
赋值语句将右侧的值(10)赋给左侧的变量(num)。
变量还可以进行运算和操作,例如:
num1 = 10
num2 = 5
result = num1 + num2
print(result) # 输出15
在Python中,还有一些特殊的变量,包括全局变量和局部变量。全局变量在整个程序中都可见,而局部变量只能在特定的代码块中访问。
总之,变量是Python中非常重要的概念,通过使用变量,可以方便地存储和操作数据。
拓展
在python
中,不需要专门定义变量的类型,系统会根据变量的值自动判断其数据类型。在Jupyter Notebook 中输入下列代码,并点击运行按钮,观察结果
a = 1
print(a + 5)
print("hello!")
a = 5
print(a + 6)
使用Jupyter Notebook 编译器,可以一步一执行,大大降低了我们写出错误的代码。
这个出问题的原因是因为a 它的值是字符串 字符串加一个整形会报错 把它改成字符串的形式就不会报错了
给a赋一个5的字符串 打印的是5 和 6 连接的字符串
二、标识符
在Python中,标识符是用户定义的名称,标识符用于标识某个符号或者东西的名字,可以理解为命名方式。在python中用来命名变量、函数、类、数组、字典、文件、对象等多种元素。
标识符命名命名规则
标识符命名需要满足下列规则:
- 只能由字母、数字和下划线组成,而且必须以字母或下划线开头;
- 不能使用python关键字;
- 长度不能超过255个字符。
- 标识符对大小写敏感,例如name和Name是不同的标识符。
- 标识符不能包含空格或特殊字符(例如!
@#$%^&*()- + = [] {} | \ ;:’“<>,.? /
)。 - Python 3之后,标识符可以包含
Unicode
字符。
注意事项
如下,如果使用关键字,Jupyter Notebook便会报错
三、数据类型
数据类型的介绍
Python是一种动态类型语言,意味着在定义变量时不需要显式地指定变量的数据类型。Python提供了许多内置的数据类型,包括以下几种常见的类型:
-
数字(Numbers):Python提供了几种内置类型的数字,包括整数(int)、浮点数(float)、复数(complex)和布尔值(bool)。
-
字符串(String):字符串是由一系列字符组成的,可以使用引号(单引号或双引号)来定义。字符串是不可变的,意味着一旦创建就不能改变其值。
-
列表(List):列表是一种有序、可变的数据类型,可以包含任意类型的元素,用方括号([])来定义。列表可以通过索引访问和修改其中的元素。
-
元组(Tuple):元组是一种有序、不可变的数据类型,类似于列表,但元组的元素不能被修改。元组用圆括号(())来定义。
-
集合(Set):集合是一种无序、不重复的数据类型,用花括号({})来定义。集合可以用于去除重复元素、判断元素是否存在等操作。
-
字典(Dictionary):字典是一种无序、可变的数据类型,由键值对(key-value)组成。键(key)必须是唯一的,值(value)可以是任意类型。字典用花括号({})来定义,键和值之间用冒号(:)分隔。
除了这些常见的数据类型,Python还提供了其他一些数据类型,如文件(file)、日期时间(datetime)等。此外,还可以使用Python标准库或第三方库来扩展Python的数据类型。
数据类型的查看
在python中可以使用type()
方法来查看变量类型
示例
当需要确定变量的数据类型时,可以使用type()
函数来查看。下面是一个示例:
a = 10
b = 3.14
c = "Hello"
d = [1, 2, 3]
e = (4, 5, 6)
f = {7, 8, 9}
g = {"name": "Alice", "age": 25}
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'str'>
print(type(d)) # <class 'list'>
print(type(e)) # <class 'tuple'>
print(type(f)) # <class 'set'>
print(type(g)) # <class 'dict'>
在这个例子中,使用type()
函数查看了变量a
到g
的数据类型,并将结果打印出来。可以看到,type()
函数返回的是一个内置类型的类(class),并使用<class '类型'>
的形式表示。
四、输入与输出
输入和输出的介绍
在Python中,可以使用input()
函数来获取用户的输入,使用print()
函数将结果输出到屏幕上。
input()
函数用于接收用户的输入,并将输入内容作为一个字符串返回。示例:
name = input("请输入您的姓名:")
print("您好," + name + "!")
在这个例子中,程序会等待用户输入姓名,并将输入内容存储在变量name
中。然后,使用print()
函数将一个欢迎消息打印到屏幕上,其中的+
操作符用于将字符串拼接在一起。
注意:input()
函数返回的是一个字符串,如果需要将输入转换为其他数据类型,可以使用相应的类型转换函数(例如int()
、float()
等)。
另外,print()
函数用于将结果输出到屏幕上。它可以接受多个参数,并将它们打印在一行上,各个参数之间用空格分隔。示例:
name = "Alice"
age = 25
print("姓名:", name, "年龄:", age)
在这个例子中,print()
函数接受了三个参数,它们之间用逗号分隔。结果会打印为姓名: Alice 年龄: 25
。
注意:在Python 3中,print
函数是一个函数,而不是一个语句。因此,调用print
函数时需要使用括号。
format格式化输出
在Python中,可以使用format()
方法来进行格式化输出。它的语法如下:
formatted_string = format(value, format_spec)
其中,value
是要格式化的值,format_spec
是格式化字符串,用于定义输出的格式。format_spec
可以包含占位符,用一对花括号 {}
来表示。占位符中可以使用索引、对齐方式、宽度、精度等参数来控制输出的格式。
以下是几个常用的占位符:
{}
:表示默认占位符,用于替换任意类型的值{:<width}
:左对齐,并指定宽度{:^width}
:居中对齐,并指定宽度{:>width}
:右对齐,并指定宽度{:d}
:输出整数{:f}
:输出浮点数{:s}
:输出字符串
以下是一些示例代码:
number = 123
print("The number is {}.".format(number))
pi = 3.1415926
print("The value of pi is {:.2f}.".format(pi))
name = "Alice"
print("Hello, {}!".format(name))
grade = 'A'
print("Your grade is {}.".format(grade))
isTrue = True
print("The value is {}.".format(isTrue))
输出结果如下:
The number is 123.
The value of pi is 3.14.
Hello, Alice!
Your grade is A.
The value is True.
除了使用format()
方法以外,还可以使用f-string
来进行格式化输出。f-string
是Python3.6及以上版本新增的一种格式化字符串的方式,使用起来更加简洁方便。以下是使用f-string
的示例:
number = 123
print(f"The number is {number}.")
pi = 3.1415926
print(f"The value of pi is {pi:.2f}.")
name = "Alice"
print(f"Hello, {name}!")
grade = 'A'
print(f"Your grade is {grade}.")
isTrue = True
print(f"The value is {isTrue}.")
输出结果和上述方式相同。
无论是使用format()
方法还是f-string
,都可以根据需要灵活地进行格式化输出。
format()
控制多个格式
占位符
在Python中,格式化字符串时可以使用一些占位符来指定输出的格式。下面介绍一些常用的占位符:
%s
:字符串占位符,用于替换字符串类型的值。%d
:整数占位符,用于替换整数类型的值。%f
:浮点数占位符,用于替换浮点数类型的值。%x
:十六进制整数占位符,用于替换十六进制类型的值。
除了上述基本的占位符之外,还可以使用一些格式化符号来控制输出的格式,如下所示:
%10s
:指定字符串的最小字段宽度为10个字符,右对齐输出。%-10s
:指定字符串的最小字段宽度为10个字符,左对齐输出。%5d
:指定整数的最小字段宽度为5个字符,右对齐输出。%0.2f
:保留两位小数输出浮点数。%#x
:输出十六进制整数时,包含前缀0x。
以下是一些示例代码:
name = "Alice"
age = 25
height = 1.65
hex_number = 255
print("My name is %s." % name)
print("I am %d years old." % age)
print("My height is %.2f meters." % height)
print("The hex number is %#x." % hex_number)
输出结果如下:
My name is Alice.
I am 25 years old.
My height is 1.65 meters.
The hex number is 0xff.
需要注意的是,虽然上述的占位符在Python中仍然是有效的,但是推荐使用更现代化的字符串格式化方式,如使用 str.format()
或者 f-string (格式化字符串字面值)。这些方式更加灵活和易读,同时也是推荐的Python风格。
五、代码缩进与注释
代码缩进
在python开发多行代码时,采用缩进的管理方式来组织代码块,也就是同一个代码块具有相同的行缩进。
在Python中,缩进是非常重要的,因为它用于定义代码块和控制结构。Python使用缩进来表示代码的层次结构,而不是使用大括号或关键字(如begin
和end
)。
例如,下面是一个简单的if语句的示例:
x = 10
if x > 5:
print("x大于5")
else:
print("x小于等于5")
在这个例子中,代码块print("x大于5")
和print("x小于等于5")
与if
和else
语句保持缩进的一致性。如果没有缩进,Python解释器将无法识别代码块的结构。
在Python中,注释用于解释代码的作用和逻辑。单行注释以#
开头,多行注释用一对三个引号('''
或"""
)括起来。
下面是一个包含注释的示例:
# 这是一个计算圆的面积的函数
def calculate_area(radius):
"""
计算圆的面积
参数:radius(半径)
返回值:圆的面积
"""
area = 3.14159 * radius ** 2
return area
在这个例子中,第一行是一个单行注释,解释了函数的用途。第二行是一个多行注释,用于解释函数的参数和返回值。
注释对于他人理解代码的逻辑和用途非常重要,因此在编写代码时应养成良好的注释习惯。