【python处理数据的函数】---误区2

python是 Guido van Rossum设计的一款面向对象的编程语言。首次发布时间为1991 年 2 月。受到 C 与 C++、Java 与 Perl、Lisp 与 Haskell语言的启示,但 ABC 语言对 Python语 言有主要的影响,Python 的创立者吉多·范罗苏姆(Guido van Rossum)在 1980 年代中期曾为 ABC 系统工作了多年,ABC 是一种指令式通用程式语言和编程环境。

python也影响了 Apache Groovy、JavaScript、 Ruby 与 Swift的发展。

python特征:

  • 解释的、高级的、通用的编程语言
  • 面向对象的编程语言
  • 过程式、函数式、结构化和反射式编程语言

一、数据结构

1、 关于字符串

 字符串(string)是一种不可变的数据类型,用于表示文本信息。
 字符串是由一系列字符组成的,这些字符可以是字母、数字、标点符号或特殊字符。
 在 Python 中,字符串可以用单引号(')、双引号(")或三引号(''' 或 """)来表示。

字符串是 Python 编程中非常重要的部分,它们常常用于:

  • 存储文本数据。
  • 显示信息给用户。
  • 处理和分析文本内容(如分割、替换、查找子字符串等)。

字符串有很多内置的方法(functions)和操作符(operators)可以用来操作它们。例如:

+ 操作符用于连接两个字符串。
* 操作符用于重复字符串。
in 关键字用于检查一个字符串是否包含另一个子字符串。
len() 函数用于获取字符串的长度。
str.upper()、str.lower() 等方法用于转换字符串的大小写。
str.split() 方法用于将字符串分割成列表。
str.replace() 方法用于替换字符串中的子字符串。

字符串是不可变的,这意味着你不能直接修改字符串中的某个字符。但是,你可以创建新的字符串来反映你想要的修改。例如:
示例:

s = "hello"
print(s) #hello
s = s.replace("e", "a")  # 创建新的字符串 "hallo" 并赋值给 s
print(s) #hallo
 在这个例子中,
 replace() 方法返回一个新的字符串,
 其中所有的 "e" 都被替换成了 "a",
 然后这个新字符串被赋值给了变量 s。
 原始的字符串 "hello" 并没有改变,因为字符串是不可变的。

2、关于字典

字典(dictionary)是一种可存储键值对(key-value pair)的数据结构。字典中的每个元素都包含一个键和一个值,键用于唯一标识元素,而值是与该键相关联的数据。你可以使用键来访问、修改或删除对应的值。

字典使用大括号 {} 来表示,其中每个键值对使用冒号 : 分隔,而键值对之间使用逗号 , 分隔。
示例:

# 创建一个字典
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

# 访问字典中的值
print(my_dict["name"])  # 输出:Alice
print(my_dict["age"])  # 输出:30

# 修改字典中的值
my_dict["age"] = 31
print(my_dict["age"])  # 输出:31

# 添加新的键值对
my_dict["country"] = "USA"
print(my_dict)  # 输出:{'name': 'Alice', 'age': 31, 'city': 'New York', 'country': 'USA'}

# 检查键是否存在于字典中
if "city" in my_dict:
    print("City is in the dictionary.")

# 删除键值对
del my_dict["city"]
print(my_dict)  # 输出:{'name': 'Alice', 'age': 31, 'country': 'USA'}

二、关于函数

1、format() 函数

format() 函数在 Python 中是一个用于字符串格式化的强大工具。它返回一个格式化后的字符串。这个函数允许创建复杂的字符串模板,并将各种数据类型插入到这些模板中。
format() 有两种用法:
1、 基本用法
通过 {} 占位符在字符串中定义变量位置,然后使用 format() 方法插入值。

2、命名参数
也可为 {} 占位符提供名称,并在 format() 方法中使用这些名称来插入值

3、支持更复杂的格式化选项,例如指定字段宽度、精度、转换类型等
示例:

str1 = "Hello, {}!"
str2 = str1.format("python")
print(str2)  # 输出:Hello, python!

str1 = "Hello, {name}!"
str2 = str1.format(name="python")
print(str2)  # 输出:Hello, python!

template = "The value is {value:.2f}."
result = template.format(value=3.14159)
print(result)  # 输出:The value is 3.14.

综上,format() 函数返回一个根据提供的参数格式化后的字符串。它是 Python 中进行字符串格式化的强大工具之一。

2、round()函数

round()函数用于对数字进行四舍五入。它接受两个参数:要四舍五入的数字以及要保留的小数位数。
语法:

round(number, ndigits)

number 是要进行四舍五入的数字。
ndigits 是可选参数,表示要保留的小数位数。如果省略该参数,round()函数会将数字四舍五入到最接近的整数。

示例:

# 四舍五入到整数
result = round(3.14159)
print(result)  # 输出:3

# 四舍五入到指定的小数位数
result = round(3.14159, 2)
print(result)  # 输出:3.14

# 对负数进行四舍五入
result = round(-3.14159, 2)
print(result)  # 输出:-3.14

#round()函数还可以与变量和表达式结合使用,并在需要时进行数值计算或数据分析。
data = [1.2, 2.3, 3.4, 4.5, 5.6]
mean = round(sum(data) / len(data), 2)
print(mean)  # 输出:3.4

3、 trunc() 方法

math 模块中的 trunc() 方法用于返回数字的整数部分,即去除小数部分。这与向下取整 (//) 或四舍五入 (round()) 不同。trunc() 总是简单地去除小数部分,而不考虑小数部分的大小。

示例:

import math

print(type(math.trunc(7.2))) #输出:<class 'int'>
print(math.trunc(7.2))  # 输出:7
print(math.trunc(-7.2))  # 输出:-7
print(math.trunc(3.0))  # 输出:3

以上示例中,无论数字是正数还是负数,trunc() 都会返回其整数部分。
trunc() 总是向零方向截断数字。这与 // 运算符(整数除法)的行为相似,但 trunc() 可以用于浮点数。

import math

print(math.trunc(7.2))  # 输出:7
print(7.2//1.0)  #7.0
print(7.2//1)    #7.0
print(7//1)  #7

4、内置 len() 函数

用于字符串长度获取

mystr = "Hello, World!"
length = len(mystr)
print(length) # 输出:13

三、知识点

1、print(0.1 + 0.2 == 0.3) 这段代码会返回 False。

原因:浮点数的计算可能会受到精度问题的影响。
当将两个浮点数相加时,由于计算机内部表示浮点数的限制,结果可能并不完全精确。在这个例子中,0.1 + 0.2 的结果可能是一个接近 0.3 但并不完全等于 0.3 的浮点数。

可使用 math 的 isclose 代替,示例如下:

import math
print(0.1 + 0.2 == 0.3) #输出:False
print(math.isclose(0.1 + 0.2, 0.3))  #输出:True

2、复数的表达形式

(1)代数形式
z=a+bi
(2)极坐标形式(三角形式)
z=r(cosθ+isinθ)

在python中没有极坐标形式,故可采用以下方式:

k1 = 2 + 3J
k2 = complex(2, 3)
k3 = 2 + 3j
print(k1) # 输出:(2+3j)
print(k2) # 输出:(2+3j)
print(k3) # 输出:(2+3j)

3、inf 的类型是float
python 中的正无穷或负无穷,使用 float(“inf”) 或 float(“-inf”) 来表示。

4、系统将函数调用的参数和局部变量存放在内存的栈(stack)中。

5、假设 i 为 5,j 为 4,i + j 类似于i.add(j)
常见的做法是直接使用 + 运算符,Python会自动调用 add 方法。

6、包含关系
通常使用 in 运算符,_Python会自动调用__contains__方法。

示例:

s1 = "hello"  
s2 = "lo"  
  
# 使用 __contains__ 方法  
result = s1.__contains__(s2)  
print(result)  # 输出: True  
  
# 使用 in 运算符,这实际上也是调用 __contains__ 方法  
result = s2 in s1  
print(result)  # 输出: True

7、生成所有字母:string.ascii_letters

import string

all_ascii_letters = string.ascii_letters
all_ascii_letters2 = all_ascii_letters = string.ascii_lowercase + string.ascii_uppercase
print(all_ascii_letters)
print(all_ascii_letters2)

运行结果:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

string.ascii_lowercase 的值是 ‘abcdefghijklmnopqrstuvwxyz’。
string.ascii_uppercase 的值是 ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’。

8、print(0xA + 0xB + 0xC) #输出:33
以0x或0X开头的数字,它表示这是一个十六进制数。Python会将其自动转换为相应的十进制数,然后执行算术运算

9、比较
比较操作是一种基本的操作,它允许我们比较两个或多个值,并返回一个布尔值(True或False)来表示比较的结果。

哪个函数用于比较任意两个字典(例如 dict1 和 dict2 )的元素是否相等?

operator.eq(dict1, dict2)

列表:


a = [1, 2]
b = [2, 3]
import operator
print(operator.eq(a, b)) #False
print(a==b) #False

10、转换
以下哪个函数将单个字符转换为其在 python 中 ASCII 数值?
ord(x)

11、random 模块

(1)随机生成数字:
random.randrange(3) :用于生成一个介于0(包括)和3(不包括)之间的随机整数。它会返回0、1或2这三个数中的任意一个。

注意,random.randrange(n) 的行为与 random.randint(0, n-1) 是相同的。

  • randrange 通常用于非负的结束范围,且不包括结束值
  • randint 则包括起始和结束值。因此,random.randint(0, 2) 和 random.randrange(3) 的效果是相同的。

random.choice(range(0, 3)) 也会生成一个介于0(包括)和3(不包括)之间的随机整数,也就是0、1或2中的一个。random.choice() 函数从提供的序列中随机选择一个元素。range(0, 3) 生成一个包含0、1和2的序列(实际上是一个不可变的序列对象,类似于列表,但更节省内存)。然后,random.choice() 从这个序列中随机选择一个元素。

与 random.randrange(3) 相比,random.choice(range(0, 3)) 在功能上是等效的,但它们在实现上略有不同。randrange 是直接计算一个随机数,而 choice 则是从一个序列中随机选取一个元素

(2)打乱列表
random.shuffle(x) 方法:就地(in-place)打乱列表 x 中的元素的顺序。这意味着,它直接修改了传入的列表 x,而不是返回一个新的打乱顺序的列表。

当 x = [1, 2, 3] 时,调用 random.shuffle(x) 后,x 的顺序将被随机打乱。可能的结果包括 [2, 1, 3]、[3, 2, 1]、[1, 3, 2] 等。每次调用 random.shuffle(x) 都会生成不同的随机顺序(除非随机数生成器的状态被重置)。

import random

x = [1, 2, 3]
random.shuffle(x)
print(x)  # 输出可能是 [2, 1, 3],[3, 1, 2],[1, 3, 2] 等随机顺序

以上示例:x 是一个列表,将其传递给 random.shuffle() 方法来打乱它的顺序。注意,x 本身被修改了,而不是创建了一个新的打乱顺序的列表。
另:
random.shuffle() 只适用于可变序列,如列表。

12、环境变量PYTHONPATH

在Python中,环境变量PYTHONPATH可以被用来替代或扩展模块的搜索路径。当Python解释器导入一个模块时,它会按照特定的顺序搜索模块。这个顺序包括内置模块、当前目录中的模块,以及环境变量PYTHONPATH和sys.path中指定的目录。

13、标识符是区分大小写的
标识符最大长度不受限制,但是可能违反了 PEP-8,限制了 79 字符。

相关推荐

  1. python处理数据函数】---误区2

    2024-04-12 18:10:02       34 阅读
  2. python函数 #2

    2024-04-12 18:10:02       61 阅读
  3. Python函数定义和函数处理

    2024-04-12 18:10:02       61 阅读
  4. python定义函数和写循环批量处理数据

    2024-04-12 18:10:02       62 阅读
  5. Python利用列表、字典和zip函数处理数据

    2024-04-12 18:10:02       35 阅读
  6. Qt事件处理机制2-事件函数传播

    2024-04-12 18:10:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 18:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 18:10:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 18:10:02       82 阅读
  4. Python语言-面向对象

    2024-04-12 18:10:02       91 阅读

热门阅读

  1. LeetCode 每日一题 ---- 【2923. 找到冠军 I】

    2024-04-12 18:10:02       38 阅读
  2. linux总结

    2024-04-12 18:10:02       37 阅读
  3. 在linux上如何执行带有目录的命令

    2024-04-12 18:10:02       43 阅读
  4. steam流太难用了看看JDFrame

    2024-04-12 18:10:02       46 阅读
  5. mysql知识点

    2024-04-12 18:10:02       35 阅读
  6. 2024MarthorCUP妈妈杯——思路附代码B题

    2024-04-12 18:10:02       34 阅读
  7. Python启动多个Appium Services

    2024-04-12 18:10:02       43 阅读
  8. 【无标题】

    2024-04-12 18:10:02       40 阅读
  9. 洛谷---1090合并果子

    2024-04-12 18:10:02       42 阅读
  10. C:检查字符串中是否有违法字符

    2024-04-12 18:10:02       124 阅读