继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python编程基础:变量与类型

SMILET
关注TA
已关注
手记 455
粉丝 80
获赞 441
概述

本文介绍了Python编程中的基本数据类型和高级数据类型,包括列表、元组和字典等。文章详细解释了变量的作用域和类型转换,并提供了多个示例来说明如何在实际编程中应用这些概念。此外,文章还涵盖了算法复杂度学习的相关内容,帮助读者更好地理解和掌握Python编程的基础知识。

1. 变量与类型的概念

在编程中,变量是用来存储数据的容器。每种变量都有特定的数据类型,这决定了能够容纳的数据种类。Python 是一种动态类型语言,这意味着变量的类型根据其被赋予的值自动确定。

1.1 基本数据类型

Python 中的基本数据类型包括:

  • 整型(int)
  • 浮点型(float)
  • 字符串(str)
  • 布尔型(bool)

1.1.1 整型(int)

整型用于存储整数值,可以是正数、负数或零。整型变量通常用于计数、索引等。

example_int = 42

1.1.2 浮点型(float)

浮点型用于存储带有小数点的数值。浮点数可以表示非常大或非常小的数字。

example_float = 3.14

1.1.3 字符串(str)

字符串用于存储文本数据。字符串可以用单引号或双引号括起来。

example_str = "Hello, world!"
example_str = 'Hello, world!'

1.1.4 布尔型(bool)

布尔型用于存储真(True)或假(False)的值。在条件判断和逻辑运算中非常有用。

example_bool = True
example_bool = False

1.2 高级数据类型

除了基本数据类型,Python 还提供了更为复杂的类型,例如列表(list)、元组(tuple)、字典(dict)等。

1.2.1 列表(list)

列表是一种有序的集合,可以存储不同类型的元素。列表中的元素可以通过索引访问。

example_list = [1, 2, 3, "four", 5.0]

1.2.2 元组(tuple)

元组与列表类似,但元组中的元素是不可变的。元组通常用于存储固定不变的数据集合。

example_tuple = (1, 2, 3, "four", 5.0)

1.2.3 字典(dict)

字典是一种键值对的数据结构,用于存储和检索数据。字典中的键是唯一的,值可以是任意类型。

example_dict = {"name": "Alice", "age": 25, "is_student": True}

1.3 类型转换

在编程中,有时需要将一种类型的数据转换为另一种类型。Python 提供了一些内置函数来实现类型转换,如 int(), float(), str() 等。

example_int = 42
example_float = float(example_int)  # 将整型转换为浮点型
example_str = str(example_int)  # 将整型转换为字符串

1.4 变量的作用域

变量的作用域是指变量可以被访问的范围。Python 中主要有四种作用域:

  • 局部作用域(Local)
  • 闭包作用域(Enclosing)
  • 全局作用域(Global)
  • 内建作用域(Built-in)

1.4.1 局部作用域

局部作用域指的是在函数内部定义的变量,只能在该函数内部访问。

def my_function():
    local_var = 10
    print(local_var)

my_function()
# print(local_var)  # 会引发 NameError,因为local_var只在函数内部可见

1.4.2 全局作用域

全局作用域是指在函数外部定义的变量,可以在整个程序中访问。

global_var = 20

def my_function():
    print(global_var)

my_function()
print(global_var)

1.4.3 闭包作用域

闭包作用域是指嵌套函数的变量,可以在嵌套函数内部访问父函数的变量。

def outer_function():
    outer_var = 30

    def inner_function():
        print(outer_var)

    inner_function()

outer_function()

1.4.4 内建作用域

内建作用域指的是 Python 内置的变量和函数,如 printlen 等。

print(len("Hello, world!"))  # 使用内置函数 len
2. Python变量与类型的使用

2.1 变量赋值与操作

在 Python 中,变量可以通过赋值操作符 = 来赋值。Python 支持多种操作符,可以进行算术运算、比较运算、逻辑运算等。

2.1.1 算术运算

算术运算符用于执行基础的数学运算,如加法、减法、乘法和除法。

a = 10
b = 5

addition = a + b
subtraction = a - b
multiplication = a * b
division = a / b
modulus = a % b
exponentiation = a ** b

print(addition)  # 15
print(subtraction)  # 5
print(multiplication)  # 50
print(division)  # 2.0
print(modulus)  # 0
print(exponentiation)  # 100000

2.1.2 比较运算

比较运算符用于比较两个值,返回一个布尔值。

x = 10
y = 5

print(x == y)  # False
print(x != y)  # True
print(x > y)  # True
print(x < y)  # False
print(x >= y)  # True
print(x <= y)  # False

2.1.3 逻辑运算

逻辑运算符用于组合多个条件判断的结果,返回一个布尔值。

a = True
b = False

print(a and b)  # False
print(a or b)  # True
print(not a)  # False

2.2 字符串操作

字符串是最常见的数据类型之一,可以通过多种方式操作字符串。

2.2.1 字符串拼接

字符串可以通过 + 运算符进行拼接,也可以使用 join() 方法。

str1 = "Hello"
str2 = "world"

result = str1 + " " + str2
result = " ".join([str1, str2])

print(result)  # Hello world

2.2.2 字符串格式化

字符串格式化可以将变量插入到字符串中。

name = "Alice"
age = 25

formatted_string = "My name is %s and I am %d years old." % (name, age)
formatted_string = "My name is {} and I am {} years old.".format(name, age)
formatted_string = f"My name is {name} and I am {age} years old."

print(formatted_string)  # My name is Alice and I am 25 years old.

2.3 列表操作

列表是一种有序的集合,支持多种操作。

2.3.1 列表索引

可以使用索引来访问列表中的元素。

my_list = [1, 2, 3, 4, 5]

print(my_list[0])  # 1
print(my_list[2])  # 3
print(my_list[-1])  # 5
print(my_list[-3])  # 3

2.3.2 列表切片

切片操作可以用来获取列表的一部分。

my_list = [1, 2, 3, 4, 5]

print(my_list[1:4])  # [2, 3, 4]
print(my_list[:3])  # [1, 2, 3]
print(my_list[3:])  # [4, 5]
print(my_list[::2])  # [1, 3, 5]

2.3.3 列表操作方法

列表提供了多种内置方法,如 append(), remove(), sort() 等。

my_list = [1, 2, 3, 4, 5]

my_list.append(6)  # 添加元素
my_list.remove(3)  # 删除元素
my_list.sort()  # 排序
print(my_list)  # [1, 2, 4, 5, 6]

2.4 字典操作

字典是一种键值对的集合,支持多种操作。

2.4.1 字典索引

可以使用键来访问字典中的值。

my_dict = {"name": "Alice", "age": 25, "is_student": True}

print(my_dict["name"])  # Alice
print(my_dict["age"])  # 25
print(my_dict["is_student"])  # True

2.4.2 字典操作方法

字典提供了多种内置方法,如 update(), get(), keys() 等。

my_dict = {"name": "Alice", "age": 25, "is_student": True}

my_dict.update({"job": "Engineer"})  # 添加或更新键值对
print(my_dict.get("name"))  # Alice
print(my_dict.keys())  # dict_keys(['name', 'age', 'is_student', 'job'])
print(my_dict.values())  # dict_values(['Alice', 25, True, 'Engineer'])
3. 实践示例

3.1 计算阶乘

阶乘计算是一个常见的编程练习,可以通过递归或迭代的方式来实现。

3.1.1 递归实现

递归实现阶乘使用函数调用自身的方式来计算。

def factorial_recursive(n):
    if n == 0:
        return 1
    else:
        return n * factorial_recursive(n - 1)

result = factorial_recursive(5)
print(result)  # 120

3.1.2 迭代实现

迭代实现阶乘使用循环来计算。

def factorial_iterative(n):
    result = 1
    for i in range(1, n + 1):
        result *= i
    return result

result = factorial_iterative(5)
print(result)  # 120

3.2 字符串反转

字符串反转是将字符串中的字符顺序颠倒过来。

3.2.1 使用切片

使用切片操作来反转字符串。

def reverse_string_slice(s):
    return s[::-1]

input_string = "hello"
reversed_string = reverse_string_slice(input_string)
print(reversed_string)  # olleh

3.2.2 使用循环

使用循环来反转字符串。

def reverse_string_loop(s):
    reversed_string = ""
    for char in s:
        reversed_string = char + reversed_string
    return reversed_string

input_string = "hello"
reversed_string = reverse_string_loop(input_string)
print(reversed_string)  # olleh

3.3 列表去重

列表去重是移除列表中的重复元素。

3.3.1 使用集合

使用集合来去重列表。

def remove_duplicates_set(lst):
    return list(set(lst))

input_list = [1, 2, 2, 3, 4, 4, 5]
output_list = remove_duplicates_set(input_list)
print(output_list)  # [1, 2, 3, 4, 5]

3.3.2 使用字典

使用字典来去重列表。

def remove_duplicates_dict(lst):
    return list(dict.fromkeys(lst))

input_list = [1, 2, 2, 3, 4, 4, 5]
output_list = remove_duplicates_dict(input_list)
print(output_list)  # [1, 2, 3, 4, 5]
4. 小结

本文介绍了Python中变量和类型的相关概念,包括基本数据类型、高级数据类型、类型转换、变量作用域等。还讨论了变量的使用,包括算术运算、比较运算、逻辑运算、字符串操作、列表操作和字典操作。最后,通过几个示例展示了如何在实际编程中应用这些概念。希望读者通过本篇文章能够更好地理解和掌握Python中变量与类型的基本知识。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP