首页 > 编程语言 >如何系统地学习Python(一)基础语法与数据类型

如何系统地学习Python(一)基础语法与数据类型

时间:2024-03-28 10:59:45浏览次数:29  
标签:运算符 操作数 函数 Python 数据类型 语法 print 变量

学习Python可以遵循一个结构化的框架,从基础知识开始,逐步深入到高级特性和实际应用。后面根据系统的学习Python的框架分享一系列文章,请交流指正:

一、python介绍

Python是一种高级的、解释型的、面向对象的编程语言。它具有简单易学、语法优雅、可读性强等特点,因此被广泛应用于Web开发、数据分析、人工智能等领域。

Python具有丰富的标准库和第三方库,可以方便地处理各种任务。同时,Python还支持多种编程范式,包括面向过程、函数式和面向对象编程。

Python的语法简洁明了,通过缩进来表示代码块的层次关系,使得代码更加可读和易于维护。此外,Python还具有动态类型系统,可以自动推断变量的类型,简化了编程过程。

Python拥有活跃的开发者社区,提供了丰富的资源和文档,使得学习和使用Python变得更加容易。同时,Python也有许多知名的框架和工具,如Django、Flask和NumPy等,方便开发者进行快速开发和高效的编程。

总的来说,Python是一门功能强大、易于学习和使用的编程语言,适用于各种编程任务和应用领域。

二、变量与数据类型

在Python中,变量是用来存储数据的容器,可以存储不同类型的数据。Python中的常用数据类型有整数、浮点数、字符串、布尔值、列表、元组、字典、集合等几种:

  • 整数(int):表示整数,如1、2、3等。
  • 浮点数(float):表示小数,如1.5、3.14等。
  • 字符串(str):表示文本数据,用引号括起来,如"hello"、'world'等。
  • 布尔型(bool):表示真(True)或假(False)的值。
  • 列表(list):表示一组有序的数据,用方括号括起来,数据可以是不同类型的,如[1, 2, "hello"]。
  • 元组(tuple):表示一组有序的数据,用圆括号括起来,数据可以是不同类型的,如(1, 2, "hello")。
  • 字典(dict):表示一组键值对的数据,用花括号括起来,如{"name": "John", "age": 20}。
  • 集合(set):表示一组唯一的数据,用花括号括起来,数据不能重复,如{1, 2, 3}。

在Python中,变量的类型是根据其所存储的数据类型自动确定的,也可以通过type()函数来查看变量的类型。变量的值可以通过赋值操作符(=)来进行赋值,如x = 10,表示将整数10赋值给变量x。

三、运算符

在Python中,有多种类型的运算符可以用于不同的操作。下面是Python中常用的运算符的介绍和应用:

1、算术运算符:
  • 加法运算符(+):用于相加两个操作数。
  • 减法运算符(-):用于从第一个操作数中减去第二个操作数。
  • 乘法运算符(*):用于将两个操作数相乘。
  • 除法运算符(/):用于将第一个操作数除以第二个操作数。
  • 取余运算符(%):用于取得第一个操作数除以第二个操作数的余数。
  • 幂运算符(**):用于将第一个操作数提升到第二个操作数所指定的幂次方。
  • 整除运算符(//):用于获得第一个操作数除以第二个操作数的整除结果。
2、比较运算符:
  • 相等比较运算符(==):用于判断两个操作数是否相等。
  • 不等比较运算符(!=):用于判断两个操作数是否不相等。
  • 大于比较运算符(>):用于判断第一个操作数是否大于第二个操作数。
  • 小于比较运算符(<):用于判断第一个操作数是否小于第二个操作数。
  • 大于等于比较运算符(>=):用于判断第一个操作数是否大于等于第二个操作数。
  • 小于等于比较运算符(<=):用于判断第一个操作数是否小于等于第二个操作数。
3、逻辑运算符:
  • 逻辑与运算符(and):用于判断两个条件是否同时为真。
  • 逻辑或运算符(or):用于判断两个条件是否至少有一个为真。
  • 逻辑非运算符(not):用于对条件进行取反操作。
4、赋值运算符:
  • 简单赋值运算符(=):用于将右边的值赋给左边的变量。
  • 加法赋值运算符(+=):将右边的值与左边的变量相加,并将结果赋给左边的变量。
  • 减法赋值运算符(-=):将右边的值与左边的变量相减,并将结果赋给左边的变量。
  • 乘法赋值运算符(*=):将右边的值与左边的变量相乘,并将结果赋给左边的变量。
  • 除法赋值运算符(/=):将左边的变量除以右边的值,并将结果赋给左边的变量。
  • 取余赋值运算符(%=):将左边的变量对右边的值取余,并将结果赋给左边的变量。
  • 幂赋值运算符(**=):将左边的变量提升到右边的值所指定的幂次方,并将结果赋给左边的变量。
  • 整除赋值运算符(//=):将左边的变量除以右边的值并取整,并将结果赋给左边的变量。
5、位运算符:
  • 按位与运算符(&):对操作数的每一位执行与操作。
  • 按位或运算符(|):对操作数的每一位执行或操作。
  • 按位异或运算符(^):对操作数的每一位执行异或操作。
  • 按位取反运算符(~):对操作数的每一位进行取反操作。
  • 左移运算符(<<):将操作数的所有位向左移动指定的位数。
  • 右移运算符(>>):将操作数的所有位向右移动指定的位数。

以上是Python中的常用运算符及其应用。根据具体的应用场景和需求,可以选择合适的运算符来进行相应的操作。

四、条件语句

在Python中,条件语句用于根据不同的条件来执行不同的代码块。Python提供了两种类型的条件语句:if语句和if-else语句。

1、if语句

if语句用于在满足某个条件时执行一段代码。语法如下:

if condition:
    # code to be executed if condition is True

示例:

x = 10

if x > 5:
    print("x is greater than 5")

输出结果:

x is greater than 5
 2、if-else语句

if-else语句用于在满足某个条件时执行一段代码,否则执行另一段代码。语法如下:

if condition:
    # code to be executed if condition is True
else:
    # code to be executed if condition is False

示例:

x = 3

if x > 5:
    print("x is greater than 5")
else:
    print("x is less than or equal to 5")

输出结果:

x is less than or equal to 5

除了ifif-else之外,Python还提供了其他条件语句的变体,如if-elif-else用于多个条件的判断等等。这些条件语句的使用方法类似,根据具体的需求选择适合的条件语句。

在编写条件语句时,需要注意缩进。Python使用缩进来表示代码块,因此在条件语句中,ifelse之后的代码块需要缩进。推荐使用4个空格来进行缩进。

五、循环语句

Python中的循环语句有两种:for循环和while循环。

for循环用于遍历可迭代对象(如列表、元组、字符串等)中的每个元素,可以根据需要进行迭代的次数。for循环的语法如下:

for 变量 in 可迭代对象:
    循环体

下面是一个for循环的例子:

fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(fruit)

输出结果为:

apple
banana
orange

while循环用于根据条件重复执行一段代码,直到条件不满足为止。while循环的语法如下:

while 条件:
    循环体

下面是一个while循环的例子:

count = 0
while count < 5:
    print(count)
    count += 1

输出结果为:

0
1
2
3
4

在循环中可以使用break语句跳出循环,也可以使用continue语句跳过本次循环的剩余代码,直接进入下一次循环。这些控制流语句可以帮助我们更灵活地控制循环的执行。

六、函数

1、基础概念

函数是一段可重复调用的代码块,在Python中通过def关键字来定义函数。函数可以接受参数,并且可以返回一个值。

2、定义函数

在Python中,可以使用def关键字来定义函数。函数定义的语法是:

def 函数名(参数1, 参数2, ...):
    # 函数体
    return 返回值

其中,函数名是自己定义的函数名称,参数是函数传入的值,可以有多个参数,用逗号分隔。函数体是函数中执行的代码块,可以包含一条或多条语句。return语句用于返回函数的结果。

例如,下面是一个简单的函数定义示例:

def add_numbers(a, b):
    sum = a + b
    return sum

这个函数名为add_numbers,接受两个参数ab,并返回它们的和。

3、调用函数

在Python中,调用函数的语法是函数名后跟一对括号,并在括号中输入函数的参数。例如:

# 定义一个函数
def greet(name):
    print(f"Hello, {name}!")

# 调用函数
greet("Alice")  # 输出:Hello, Alice!

如果定义的函数没有参数,则仍需要使用一对空括号进行调用:

# 定义一个没有参数的函数
def say_hello():
    print("Hello!")

# 调用函数
say_hello()  # 输出:Hello!

如果想要在调用函数时指定参数的名称,可以使用关键字参数的方式:

def greet(name, age):
    print(f"Hello, {name}! You are {age} years old.")

greet(age=25, name="Bob")  # 输出:Hello, Bob! You are 25 years old.

此外,Python还提供了一些内置的函数,如len()用于获取对象的长度、input()用于从用户获取输入等。这些内置函数可以直接调用,无需定义。

4、参数传递

在Python中,参数传递可以分为值传递和引用传递两种方式。

  1. 值传递(传递不可变对象):当将不可变对象(如数字、字符串、元组)作为参数传递给函数时,实际上是将对象的值复制一份,将这份复制的值传递给函数,而不是直接传递对象本身。因此,在函数内部修改参数的值并不会影响到原始对象。

    示例代码:

    def change_value(num):
        num = 10
    
    value = 5
    change_value(value)
    print(value)  # 输出结果为5,因为change_value函数中的修改不会影响到原始对象value。
    
  2. 引用传递(传递可变对象):当将可变对象(如列表、字典)作为参数传递给函数时,实际上是将对象的引用传递给函数。也就是说,函数内部的修改会直接影响到原始对象。

    示例代码:

    def change_list(lst):
        lst.append(4)
    
    my_list = [1, 2, 3]
    change_list(my_list)
    print(my_list)  # 输出结果为[1, 2, 3, 4],因为change_list函数中的修改会直接影响到原始对象my_list。
    

需要注意的是,在函数内部重新赋值参数并不会影响到原始对象,只有修改参数的值才会对原始对象产生影响。这一点对于不可变对象和可变对象都是适用的。

总结起来,Python的参数传递可以归纳为以下几点:

  • 不可变对象(如数字、字符串、元组)采用值传递的方式。函数内部对参数的修改不会影响到原始对象。
  • 可变对象(如列表、字典)采用引用传递的方式。函数内部对参数的修改会直接影响到原始对象。
5、局部变量

Python的局部变量是在函数内部定义的变量,它只在函数内部有效。局部变量只能在函数内部使用,函数外部无法访问局部变量或对其进行操作。

以下是一个示例:

def my_function():
    x = 10  # 局部变量
    print(x)

my_function()  # 输出 10

print(x)  # 运行时会抛出 NameError,因为 x 是一个局部变量,无法在函数外部访问

在上面的示例中,变量 x 是函数 my_function() 的局部变量。它只在函数内部的作用域中有效,因此无法在函数外部访问或对其进行操作。

6、全局变量

在Python中,全局变量是在整个程序中都能够访问的变量。在定义全局变量时,需要在任意函数或类的外部进行定义和赋值。在函数内部使用全局变量时,需要使用关键字global来声明变量是全局变量,而不是局部变量。

以下是一个使用全局变量的示例代码:

x = 10  # 定义全局变量x

def print_global_variable():
    global x  # 声明x是全局变量
    print(x)
    
def change_global_variable():
    global x  # 声明x是全局变量
    x = 20  # 修改全局变量x

print_global_variable()  # 输出全局变量x的值(输出结果:10)
change_global_variable()  # 修改全局变量x的值
print_global_variable()  # 输出修改后的全局变量x的值(输出结果:20)

在上面的示例中,x是定义在函数外部的全局变量。print_global_variable()函数和change_global_variable()函数都能够访问和修改全局变量x的值。在函数内部使用全局变量时,需要使用global关键字声明变量是全局变量。

7、简单示例
# 定义一个函数,接受两个参数,返回它们的和
def add_numbers(a, b):
    return a + b

# 调用函数,并打印结果
result = add_numbers(3, 4)
print(result)  # 输出: 7

在上面的示例中,我们定义了一个名为add_numbers的函数,它接受两个参数ab,然后返回它们的和。我们调用该函数,并将结果赋给一个变量result,最后打印出结果。

函数也可以没有返回值,例如:

# 定义一个函数,打印传入的字符串
def print_message(message):
    print(message)

# 调用函数
print_message("Hello, World!")  # 输出: Hello, World!

在上面的示例中,我们定义了一个名为print_message的函数,它接受一个参数message,然后打印出该参数。

函数还可以有默认参数值,例如:

# 定义一个函数,接受两个参数,其中b的默认值为1
def multiply_numbers(a, b=1):
    return a * b

# 调用函数并打印结果
result1 = multiply_numbers(3, 4)
result2 = multiply_numbers(3)
print(result1)  # 输出: 12
print(result2)  # 输出: 3

在上面的示例中,我们定义了一个名为multiply_numbers的函数,它接受两个参数ab,其中b的默认值为1。如果我们在调用函数时只提供一个参数,则b的值将使用默认值1。

此外,函数还可以返回多个值,例如:

# 定义一个函数,接受两个参数,返回它们的和和差
def add_and_subtract(a, b):
    return a + b, a - b

# 调用函数并打印结果
result = add_and_subtract(5, 3)
print(result)  # 输出: (8, 2)

在上面的示例中,我们定义了一个名为add_and_subtract的函数,它接受两个参数ab,然后返回它们的和和差。我们调用该函数,并将结果赋给一个变量result,最后打印出结果。

以上是Python函数的基础知识和一些示例,希望对你有帮助。如果你还有其他问题,请随时提问。

##欢迎关注交流,开发逆商潜力,提升个人反弹力:

标签:运算符,操作数,函数,Python,数据类型,语法,print,变量
From: https://blog.csdn.net/runqu/article/details/137069697

相关文章

  • Django框架之python后端框架介绍
    一、网络框架及MVC、MTV模型1、网络框架网络框架(Webframework)是一种软件框架,用于帮助开发人员构建Web应用程序和Web服务。它提供了一系列预先编写好的代码和工具,以简化开发过程并提高开发效率。网络框架通常包括以下功能和特点:路由处理(Routing):网络框架定义了URL与处理程序......
  • Python数据库编程全指南SQLite和MySQL实践
    本文分享自华为云社区《Python数据库编程全指南SQLite和MySQL实践》,作者:柠檬味拥抱。1.安装必要的库首先,我们需要安装Python的数据库驱动程序,以便与SQLite和MySQL进行交互。对于SQLite,Python自带了支持;而对于MySQL,我们需要安装额外的库,如mysql-connector-python。#安装MyS......
  • 4.Python数据分析—数据分析入门知识图谱&索引(知识体系下篇)
    4.Python数据分析—数据分析入门知识图谱&索引-知识体系下篇一·个人简介二·机器学习基础2.1监督学习与无监督学习2.1.1监督学习:2.1.2无监督学习:2.2特征工程2.3常用机器学习算法概述2.3.1监督学习算法:2.3.2无监督学习算法:2.3.3强化学习:2.4模型评估与选择三......
  • Python虚拟环境遇到的小问题(pip)
    问题最近想接触下Pyside6做窗口化的程序,然后就在WSL2搭建环境。第一步安装包的时候就卡住了。原因是虽然我的Python在虚拟环境.venv中,但是该环境没有pip。在命令行直接whichpip,显示的是系统全局的pip。解决多方查询,似乎没有一个很好的解决方案。目前主流的做法是,下载一个自动......
  • 华为OD机试 - 最多购买宝石数目(Java & JS & Python & C & C++)
    须知哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持文章目录须知题目描述输入描述输出描述解题思路:题目描述橱窗里有一排宝石,不同的宝石对应不同的价格,宝石的价格标记为gems[i]0≤i<nn=gems.length宝石可同时......
  • IRIS / Chronicles 中的 Data Type(数据类型)字段型属性
    IRIS的数据类型比较少,也就4个数据类型:字符串,数字,时间,分类。在这里分类有点像我们的下拉选择框,其实对应Java或者其语言中的数据来说可以说是枚举类型。只是IRIS的枚举类型是定义在数据库中的,并且是事先定义好的。String这个好说,就是字符串。因为M语言的限制,所以Stri......
  • python x_train取前100行
    目录Python代码示例:取出x_train前100行数据Python代码示例:取出x_train前100行数据在机器学习和数据处理中,有时我们需要对数据集进行处理,比如提取其中的部分数据进行分析或训练模型。在Python中,我们可以利用简单的代码来实现这一功能。下面就以一个示例来演示如何使用Pytho......
  • 毕业设计:基于深度学习的流动摊贩检测系统 人工智能 python
    目录前言一、课题背景与意义二、算法理论技术2.1目标检测算法2.2注意力机制三、模型训练3.1数据处理3.2实验环境3.3结果分析最后前言 ......
  • 高斯混合模型(GMM)和EM算法 —— python实现
    一、EM算法EM算法是一种迭代算法,用于含有隐含变量的概率模型参数的极大似然估计。设Y为观测随机变量的数据,Z为隐藏的随机变量数据,Y和Z一起称为完全数据。观测数据的似然函数为:模型参数θ的极大似然估计为:这个问题只有通过迭代求解,下面给出EM算法的迭代求解过程:step1、选择......
  • Python 函数
    目录函数自定义函数语法说明匿名函数语法模块标准库和扩展库中对象的导入与使用自定义函数的导入常用内置函数排序sorted()枚举enumerate()映射map()过滤filter()压缩zip()函数函数是可以重复使用的用于实现某种功能的代码块。在Python中,分内置函数......