【Python语法快速入门】全面解析Python语言特性

文章目录

  • 深入理解Python语法:全面指南
  • 简介
  • 1. 数字类型及操作
  • 常用操作符
  • 常用内置函数
  • 2. 字符串类型及操作
  • 字符串操作符
  • 字符串处理函数
  • 字符串处理方法
  • format()方法的格式控制
  • 3. 程序的分支结构
  • 条件语句
  • 4. 程序的循环结构
  • for 循环
  • enumerate遍历
  • while 循环
  • 5. 函数的定义与使用
  • 函数递归
  • 6. 集合类型及操作
  • 集合的定义
  • 集合操作符
  • 常用集合方法
  • 7. 序列类型及操作
  • 列表
  • 元组
  • 8. 字典类型及操作
  • 字典的定义
  • 字典操作符和方法
  • 9. 文件操作
  • 文件的读取方法
  • 10. 综合实例
  • 温度转换程序
  • 基本统计值计算
  • 11. 文件和数据处理
  • 文件读取与处理
  • 文本去噪及词频统计
  • 总结
  • 深入理解Python语法:全面指南

    简介

    Python作为一种高级编程语言,因其简单易学、功能强大而受到广泛欢迎。本文将对Python的核心语法进行详细讲解,帮助你更好地理解和掌握Python编程。如果你已经具备了C语言的基础,本篇博客将帮助你快速上手Python并深入理解其独特的语法特性。

    1. 数字类型及操作

    Python支持多种数字类型,包括整数、浮点数和复数。与C语言不同,Python中的整数类型没有范围限制,因此你可以处理非常大的整数。此外,Python还提供了多种进制的表示方法,如二进制、八进制和十六进制。

    # 进制转换示例
    num = 255
    print("二进制:", bin(num))  # 0b11111111
    print("八进制:", oct(num))  # 0o377
    print("十六进制:", hex(num))  # 0xff
    

    常用操作符

  • 加法: x + y,返回x与y的和。
  • 减法: x - y,返回x与y的差。
  • 乘法: x * y,返回x与y的积。
  • 除法: x / y,返回x与y的商。需要注意,Python中的除法操作始终返回浮点数。
  • 整数除法: x // y,返回x与y的整数商。又叫地板除,始终向下取整
  • 取余: x % y,返回x除以y的余数。(与C不同,结果符号和除数相同(即右操作数)
  • 幂运算: x ** y,返回x的y次幂。
  • Python还支持增强赋值操作符,如x += y等,简化了代码编写。

    python中舍去了C中的前置和后置++

    Python的一个基本设计理念是:一个问题只提供一种解决方案(这在后面循环分支等结构也会体现)

    # 示例:基本运算
    a = 10
    b = 3
    print(a + b)  # 13
    print(a - b)  # 7
    print(a * b)  # 30
    print(a / b)  # 3.3333...
    print(a // b)  # 3
    print(a % b)  # 1
    print(a ** b)  # 1000
    

    常用内置函数

  • abs(x): 返回x的绝对值。
  • pow(x, y): 返回x的y次幂。
  • round(x, n): 将x四舍五入到小数点后n位。
  • int(x): 将x转换为整数。
  • float(x): 将x转换为浮点数。
  • complex(x, y): 创建一个复数,x为实部,y为虚部。
  • 2. 字符串类型及操作

    字符串是由字符组成的有序序列。Python为字符串操作提供了丰富的功能,使得字符串处理变得非常方便。

    字符串操作符

  • 连接: x + y,将两个字符串x和y连接起来。
  • 重复: x * n,将字符串x重复n次。
  • 成员检查: x in s,检查x是否是字符串s的子串。
  • 字符串处理函数

  • len(x): 返回字符串x的长度。
  • str(x): 将任意类型x转换为字符串形式。
  • hex(x): 将整数x转换为十六进制字符串。
  • oct(x): 将整数x转换为八进制字符串。
  • chr(u): 返回Unicode编码u对应的字符。
  • ord(x): 返回字符x对应的Unicode编码。
  • 字符串处理方法

  • str.lower() / str.upper(): 将字符串转换为小写或大写。
  • str.split(sep): 根据指定的分隔符将字符串分割成列表。
  • str.replace(old, new): 将字符串中的old子串替换为new子串。
  • str.center(width, fillchar): 将字符串填充到指定宽度,并居中对齐。
  • str.strip(chars): 去除字符串两侧的指定字符。
  • str.join(iter): 将iter中的元素用字符串连接。
  • # 示例:字符串操作
    s = "Hello"
    print(s.lower())  # "hello"
    print(s.upper())  # "HELLO"
    print(s.split('e'))  # ['H', 'llo']
    print(s.replace('l', 'x'))  # "Hexxo"
    print(s.center(10, '*'))  # "***Hello***"
    
    s = "  Python编程  "
    print("去除空格:", s.strip())  # 去除两侧空格 "Python编程"
    print("替换字符:", s.replace("编程", "学习"))  # 替换 "Python学习"
    print("字符串填充:", s.center(20, "*"))  # 居中填充 "****Python编程****"
    
    

    format()方法的格式控制

    Python的format()方法为字符串提供了强大的格式化功能。

    "{:<10}".format("BIT")   # 左对齐
    "{:>10}".format("BIT")   # 右对齐
    "{:^10}".format("BIT")   # 居中对齐
    "{:.2f}".format(12345.6789)  # 保留两位小数
    "{:,}".format(12345.6789)  # 千位分隔符
    

    3. 程序的分支结构

    Python中的控制结构与C语言类似,包括条件语句和循环语句。

    Python采用代码缩进来表示代码块

    条件语句

  • 单分支 if: 根据条件判断是否执行语句块。
  • 二分支 if-else: 条件满足执行一个语句块,否则执行另一个语句块。
  • 多分支 if-elif-else: 支持多条件判断。
  • if condition:
        # 执行语句块
    elif another_condition:
        # 执行另一个语句块
    else:
        # 执行最后的语句块
    
    # 条件表达式简写示例
    x = 10
    y = 20
    max_value = x if x > y else y  # 返回较大值
    print("较大的值是:", max_value)  # 20
    

    4. 程序的循环结构

    Python提供了两种主要的循环结构:for循环和while循环。

    for 循环

    for循环用于遍历一个序列(如列表、字符串等),对于序列中的每一个元素,循环体将被执行一次。

    # for <循环变量> in <遍历结构> :
    #  <语句块>
    
    for i in range(5):
        print(i)  # 输出 0, 1, 2, 3, 4
    
    enumerate遍历
    # 使用enumerate函数遍历列表
    fruits = ["苹果", "香蕉", "樱桃"]
    for index, fruit in enumerate(fruits):
        print(f"索引 {index} 对应的水果是: {fruit}")
    

    while 循环

    while循环会在指定条件为真的情况下重复执行代码块,直到条件为假为止。

    #while <条件> :
    # <语句块>
    
    count = 0
    while count < 5:
        print(count)
        count += 1  # 计数器递增
    

    5. 函数的定义与使用

    函数是Python中实现代码重用的重要工具。你可以通过def关键字来定义一个函数,并通过调用函数来执行代码。

    def function_name(parameters):
        # 函数体
        return value
    

    Python还支持匿名函数(lambda表达式),用于定义简单的、仅包含一个表达式的函数。

    函数递归

    函数递归是函数调用自身的一种编程技术,通常用于解决分治问题。递归函数需要定义基例条件和递归链条,以确保递归能够正确终止。

    # 示例:阶乘的递归计算
    def factorial(n):
        if n == 1:
            return 1
        else:
            return n * factorial(n - 1)
    
    print(factorial(5))  # 输出 120
    

    6. 集合类型及操作

    集合类型在Python中是无序的、可变的容器,通常用于包含关系测试、重复元素移除等场景。

    集合的定义

  • 使用{}set()函数创建集合。
  • 集合操作符

  • 交集:&
  • 并集:|
  • 差集:-
  • 补集:^
  • 常用集合方法

  • set.add(x): 向集合中添加元素x。
  • set.discard(x): 如果x在集合中,移除它。
  • set.pop(): 随机移除并返回集合中的一个元素。
  • # 示例:集合操作
    a = {1, 2, 3, 4}
    b = {3, 4, 5, 6}
    print(a & b)  # 交集:{3, 4}
    print(a | b)  # 并集:{1, 2, 3, 4, 5, 6}
    print(a - b)  # 差集:{1, 2}
    print(a ^ b)  # 补集:{1, 2, 5, 6}
    

    7. 序列类型及操作

    序列类型包括列表、元组和字符串。序列类型是Python中最常用的数据结构之一,支持索引、切片和多种内置方法。

    列表

    列表是可变的有序序列,使用[]list()创建。

    # 示例:列表操作
    fruits = ["apple", "banana", "cherry"]
    fruits.append("orange")  # 添加元素
    print(fruits)  # 输出 ['apple', 'banana', 'cherry', 'orange']
    
    # 列表解析示例
    squares = [x**2 for x in range(10)]
    print("平方列表:", squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    

    元组

    元组是不可变的有序序列,使用()tuple()创建。

    # 示例:元组操作
    fruits = ("apple", "banana", "cherry")
    print(fruits[0])  # 输出 'apple'
    

    8. 字典类型及操作

    字典是Python中用于存储键值对的无序集合,键必须是唯一的,而值可以重复。字典通常用于高效的查找操作。

    字典的定义

  • 使用{}dict()创建字典,键值对用:分隔。
  • # 字典解析示例
    square_dict = {x: x**2 for x in range(5)}
    print("平方字典:", square_dict)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
    
    

    字典操作符和方法

  • d[key]: 访问字典中键为key的值。
  • d.get(key, default): 获取键key对应的值,如果不存在则返回default
  • d.pop(key, default): 移除并返回key对应的值,如果不存在则返回default
  • # 示例:字典操作
    person = {"name": "Alice", "age": 25, "city": "New York"}
    print(person["name"])  # 输出 'Alice'
    print(person.get("age"))  # 输出 25
    person["email"] = "alice@example.com"  # 添加新的键值对
    print(person)
    

    9. 文件操作

    Python提供了丰富的文件操作功能,包括文件的读取、写入和关闭。你可以通过open()函数来打开文件,并使用.read().readline().readlines()等方法读取文件内容。

    with open('file.txt', 'r') as file:
        content = file.read()
    

    文件的读取方法

  • f.read(size): 读取文件中的size个字符,如果未指定size,则读取整个文件。
  • f.readline(): 读取文件中的一行内容。
  • f.readlines(): 读取文件中的所有行,并返回一个列表。
  • # 示例:读取文件的不同方式
    
    # 假设有一个名为 example.txt 的文件,其中包含多行文本。
    
    # 1. 读取指定字符数
    with open("example.txt", "r") as file:
        content = file.read(10)  # 读取前 10 个字符
        print("前 10 个字符:", content)
    
    # 2. 逐行读取文件内容
    with open("example.txt", "r") as file:
        line = file.readline()  # 读取第一行内容
        print("第一行内容:", line)
    
    # 3. 读取文件的所有行,并返回一个列表
    with open("example.txt", "r") as file:
        lines = file.readlines()  # 读取所有行
        print("所有行内容:", lines)
    
    
    # 逐行读取大文件示例
    with open("large_file.txt", "r") as file:
        for line in file:
            process_line = line.strip()
            # 在此处理每一行数据
            print(process_line)
    

    10. 综合实例

    温度转换程序

    #TempConvert.py
    TempStr = input("请输入带有符号的温度值: ")
    if TempStr[-1] in ['F', 'f']:
        C = (eval(TempStr[0:-1]) - 32)/1.8
        print("转换后的温度是{:.2f}C".format(C))
    elif TempStr[-1] in ['C', 'c']:
        F = 1.8*eval(TempStr[0:-1]) + 32
        print("转换后的温度是{:.2f}F".format(F))
    else:
        print("输入格式错误")
    

    基本统计值计算

    #CalStatisticsV1.py
    
    def getNum():       #获取用户不定长度的输入
    
        nums = []
        iNumStr = input("请输入数字(回车退出): ")
        while iNumStr != "":
            nums.append(eval(iNumStr))
            iNumStr = input("请输入数字(回车退出): ")
        return nums
    
    def mean(numbers):  #计算平均值
    
        s = 0.0
        for num in numbers:
            s = s + num
        return s / len(numbers)
    
    def dev(numbers, mean): #计算方差
    
        sdev = 0.0
        for num in numbers:
            sdev = sdev + (num - mean)**2
        return pow(sdev / (len(numbers)-1), 0.5)
    
    def median(numbers):    #计算中位数
    
        sorted(numbers)
        size = len(numbers)
        if size % 2 == 0:
            med = (numbers[size//2-1] + numbers[size//2])/2
        else:
            med = numbers[size//2]
        return med
    
    n =  getNum() 
    m =  mean(n)
    print("平均值:{},方差:{:.2},中位数:{}.".format(m, dev(n,m),median(n))) 
    

    11. 文件和数据处理

    Python还提供了更高级的文件处理和数据处理方法,可以生成词云和其他可视化效果。

    文件读取与处理

    # process data reading from a file.py
    f = open("data.txt", "r")
    sum = 0
    n = 0
    for line in f:
       ls = line.split()
       n = n + 1
       sum = sum + float(ls[0])
    print("{:.2f}".format(sum/n))
    f.close()
    

    文本去噪及词频统计

    #CalHamletV1.py
    def getText():
        txt = open("hamlet.txt", "r").read()
        txt = txt.lower()
        for ch in '!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~':
            txt = txt.replace(ch, " ") 
        return txt
    
    hamletTxt = getText()
    words  = hamletTxt.split()
    counts = {} # dictionary
    for word in words:
        counts[word] = counts.get(word,0) + 1
    items = list(counts.items())
    items.sort(key=lambda x: x[1], reverse=True) 
    for i in range(10):
        word, count = items[i]
        print("{0:<10}{1:>5}".format(word, count))
    

    总结

    本篇博客基本介绍了Python的核心语法,包括数字和字符串操作、控制结构、函数定义与递归、集合操作、序列操作、字典操作、文件操作以及综合实例。通过这些知识,你可以进一步深入学习Python,并将其应用于各种编程场景中。希望这篇文章能帮助你更好地掌握Python,开启你的Python编程之旅!


    以上就是关于【Python篇】快速理解Python语法:全面指南介绍的内容啦,各位大佬有什么问题欢迎在评论区指正,您的支持是我创作的最大动力!❤️

    作者:Trouvaille ~

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python语法快速入门】全面解析Python语言特性

    发表回复