【Python篇】快速理解Python语法:全面指南

Trouvaille ~ 2024-08-29 14:35:01 阅读 90

文章目录

深入理解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还提供了多种进制的表示方法,如二进制、八进制和十六进制。

<code># 进制转换示例

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对应的值,如果不存在则返回defaultd.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语法:全面指南介绍的内容啦,各位大佬有什么问题欢迎在评论区指正,您的支持是我创作的最大动力!❤️

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。