美文网首页
python学习日记1-基础语法

python学习日记1-基础语法

作者: livein80 | 来源:发表于2023-12-27 10:33 被阅读0次

1.python 对象属性打印

vars(obj) 与dir(dir), 区别如下:dir()函数或vars()函数来查看对象的属性。其中,dir()函数返回一个属性列表,包含特殊属性和我们定义的属性,而vars()函数仅返回我们定义的属性。在使用这些函数时,我们应该注意对象是否已经实例化,以及特殊属性和我们定义的属性之间的区别

python内置函数

+++++++++++++++++++++++++++++++++++++++

1. dir() :列出对象的属性和方法

在不提供参数时返回当前作用域内的变量、方法和模块名。主要用于查看对象的属性和方法

# 对象 obj 的属性和方法列表
print(dir(obj))

2. help() :用于获取对象、函数、模块等的帮助信息

它能够提供关于对象的文档字符串(docstring)以及如何使用该对象的信息。获取有关对象的更详细的文档和使用说明

# 获取帮助信息
help(obj)
# 或者
help(list)  # 获取列表类型的帮助信息
3. filter() :用于过滤序列(例如列表、元组等)中的元素,根据指定的函数条件来筛选元素
  • 语法格式为 filter(function, iterable),
  • function 是一个用于筛选的函数,它会对序列中的每个元素进行评估。这个函数返回 True 或 False,True 表示保留该元素,False 表示移除该元素。
  • iterable 是一个可迭代对象,例如列表、元组等
  • filter() 函数返回一个迭代器,其中包含通过指定函数筛选保留下来的元素。如果需要得到一个列表,可以将迭代器转换为列表:
result = filter(function, iterable)
filtered_list = list(result)

demo如下:

#在这个例子中,filter() 函数使用 is_even() 函数来筛选出 my_list 中的所有偶数,最后得到一个包含偶数的新列表。
 my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(x):
    return x % 2 == 0

result = filter(is_even, my_list)
filtered_list = list(result)
print(filtered_list)  # 输出结果为 [2, 4, 6, 8, 10]


4. lambda创建匿名函数的关键字
  • 它可以在需要函数对象的任何地方定义小型、一次性的函数,而不必显式地使用 def 定义函数。lambda 函数通常是简单的、单行的,并且在使用时非常方便。
  • 基本的 lambda 表达式语法是:
    a > lambda 后面是函数的参数(可以有多个参数,用逗号分隔)。
    b > 冒号后是返回值,通常是一个表达式,而不是语句。
# 参数:表达式
lambda arguments: expression

  • lambda 函数通常与内置函数(如 map()、filter()、sorted() 等)一起使用。它们可以在不定义命名函数的情况下方便地传递简单的功能
    例如,在使用 map() 函数时,结合 lambda 可以将某个操作应用于列表中的每个元素:
my_list = [1, 2, 3, 4, 5]
# 使用 lambda 和 map 对列表中的每个元素进行平方操作
squared = list(map(lambda x: x ** 2, my_list))
print(squared)  # 输出结果为 [1, 4, 9, 16, 25]

  • lambda 的使用技巧包括:

a > 简洁性:适用于简单函数,避免定义额外的命名函数。
b > 函数式编程:在函数式编程中,lambda 可以用于创建匿名函数,与 map()、filter() 等高阶函数配合使用。
c > 作为参数传递:在需要函数对象作为参数的情况下,lambda 是传递简短功能的理想选择。

然而,对于复杂的逻辑或长代码,最好使用 def 来定义函数,因为它更易读、更易维护。lambda 更适合用于简单的、仅需短期使用的函数。

5. raise:手动触发异常的关键字

当程序出现特定错误条件或需要发出特定信号时,可以使用 raise 来抛出异常

#raise 的基本语法是:
raise [Exception]

# 抛出指定异常
raise ValueError("This is a value error")


try:
    # 某些代码可能会引发异常
    pass
except SomeException as e:
    # 处理异常
    pass
    # 重新抛出当前异常
    raise
#在 except 块中,如果想要在处理异常后将异常继续传播,可以使用 raise 语句来重新抛出当前异常。这样可以让上层代码继续处理异常情况。

6. assert 是 Python 中的关键字,用于在代码中进行断言(assertion)。它用于检查代码的假设是否为真,如果断言失败,则会引发 AssertionError 异常。

x = 10
# 如果条件为 False,则抛出 AssertionError 异常,并显示错误信息
assert x == 10, "x should be equal to 10"

在这个例子中,assert 语句检查变量 x 是否等于 10。如果条件为 False,则会抛出 AssertionError 异常,并显示指定的错误信息。如果条件为 True,则程序将继续执行。

作用:
  • 调试和测试:在开发过程中,可以使用 assert 来验证代码的正确性,确保假设条件得到满足。它可以帮助发现潜在的错误。
  • 防御性编程:用于捕获在程序中可能出现的错误,帮助开发者及早发现问题。

但需要注意的是,默认情况下,Python 解释器在发布(发布版、生产环境)时会忽略 assert 语句。因此,assert 应该主要用于开发和测试阶段,在生产环境中可以通过 -O 参数禁用 assert 语句。

python -O your_script.py
在这种情况下,Python 将忽略所有 assert 语句,不会进行断言检查。因此,在生产环境中不建议过度依赖 assert 语句来处理异常或错误条件。

str 字符串及其属性和方法

+++++++++++++++++++++++++++++++++++++++

Python 的字符串类型(str)有很多内置方法,用于执行各种字符串操作

1. 转换方法:

upper():将字符串中的所有字母转换为大写。
lower():将字符串中的所有字母转换为小写。
capitalize():将字符串的首字母大写。
title():将字符串中每个单词的首字母大写。

2.查找和替换方法:

find(substring):查找子字符串在字符串中的位置,如果不存在返回 -1。
replace(old, new):将字符串中的旧子串替换为新子串。
count(substring):计算子字符串在字符串中出现的次数。

3.判断方法:

isalpha():检查字符串是否只包含字母。
isdigit():检查字符串是否只包含数字。
startswith(prefix):检查字符串是否以指定的前缀开始。
endswith(suffix):检查字符串是否以指定的后缀结束。

4.处理空白字符:

strip():去除字符串两侧的空白字符。
lstrip():去除字符串左侧的空白字符。
rstrip():去除字符串右侧的空白字符。

5.分割和连接方法:

split(separator):使用指定的分隔符将字符串拆分成子字符串列表。
join(iterable):将可迭代对象中的字符串连接成一个字符串,使用调用它的字符串作为分隔符。

6.格式化方法:

format():使用指定的参数将字符串格式化。

7.其他方法:

len():返回字符串的长度。
index(substring):查找子字符串在字符串中的位置,如果不存在则引发异常。

list列表

+++++++++++++++++++++++++++++++++++++++

列表操作包含以下函数:
  1. cmp(list1,list2): 比较两个列表的元素
  2. len(list) : 列表元素个数
  3. max(list) : 返回列表元素的最大值
  4. min(list) : 返回列表元素的最小值
  5. list(seq) : 将元组转换为列表
  6. in 和 not in 检索列表中是否存在某个元素
  7. + 和 * 拼接列表和制定重复次数
列表操作包含以下方法:
  1. list.append(obj) : 在列表末尾添加新的对象
  2. list.count(obj) : 列表中某个元素出现的次数
  3. list.extend(seq) : 在列表末尾追加另外一个序列(用新的列表扩展原列表)
  4. list.index(obj) : 列表中某个元素的索引值
  5. list.insert(index,obj) : 插入元素
  6. list.pop(index,obj) : 删除元素(默认最后一个元素
    list.pop(3) 删除列表中的第3个元素
    del list[3] 删除列表中的第3个元素(删除列表的第几个元素)
    list.remove(obj) : 删除列表中指定元素的第一个匹配项
  7. list.reverse(obj) : 反向排序
  8. list.sort([func]) : 排序
遍历和切片
  1. for 变量 in 序列
  2. 切片:list_name[strat : end : step] 和 range(start,stop[,step])

元组

+++++++++++++++++++++++++++++++++++++++

1. 概念:

元组 tuple就是不可变的序列,在属性,方法上基本和list一样。

2. 元组的解包:将元组中的数据赋值给变量。
#定义元组
my_tuple = 10,20,30,40

#元组的解包
a,b,c,d = my_tuple
print(a,b,c,d)
# 输出为 :10 20 30 40

#元组 部分解包
a,b,*c = my_tuple
print(a,b,c)
#输出为 : 10 20 [30, 40]

字典

+++++++++++++++++++++++++++++++++++++++

  1. 概念:
    字典:数据结构,映射(mapping)。与列表相似,与列表的区别在于,列表存储数据性能比较好,查询数据性能较差。字典恰恰与之相反。字典是以健值对的方式出现(key-value),语法:{key:value,key:value....}

  2. in 和not in 字典内是否包含某个健

  3. dict['key'] == dict.get('key')

  4. dict.setdefault(key,value) 设置默认值

  5. d1.update(d2) 把d2添加到d1中

  6. del dict[key] 删除
    dict.popitem() 随机删除一个键值
    dict.pop(key,'默认值') 删除指定键值,如果键不存在,返回默认值

  7. dict.clear() 清空字典

  8. dict.keys() 字典中的所有键
    dict.values() 字典中的所有值
    dict.items(). 包含字典中的所有键和值

 for k,v in dict.items():
    print(k,v)

集合 set

+++++++++++++++++++++++++++++++++++++++

  1. 与列表相似,只能存储不可变的,无序的,不重复的元素
set1 = {1,2,3} # 写法上类似于字典,但是没有键值的关系

  1. add(elm) 向集合中添加
  2. s1.update(s2) 向集合中添加集合
  3. s1.pop()
    s1.remove()
    s1.clear()
  4. r = s1 & s2 交集运算
    r = s1 | s2 并集运算
    r = s1 - s2 并集运算
    r = s1 ^ s2 异或集运算(集合中不相交的元素)
  5. a <= b a 是b的子集,b 是a 的超集
    a < b a 是b的真子集,,b 是a 的真超集
    7.集合的使用

字符串 str

+++++++++++++++++++++++++++++++++++++++

1.字符串定义
#单行字符串
str1 = 'abc'

#多行字符串
str1 = '''
第一行 hello world
第二行 世界你好
第三行 这是我的世界
'''
  1. 转义字符 \
  2. 字符拼接 str3 = str1 + str2
  3. 字符重复操作符() str3 = str12
  4. 索引 str1[0]
  5. 切片 str1[start:end:step]
  6. 步长为负数时为逆向检索,如:str1[::-1]
  7. 格式化字符串

相关文章

  • Python 学习笔记

    Python 学习笔记 Python 基础语法 Python是一种面向对象解释型计算机编程语言,语法简洁凝练,强制...

  • python学习总结

    python基础语法总结 参考:Python基础语法总结 参考:1.Python标识符 在 Python 里,标识...

  • 用wxpython做一个计算器

    实验楼 你需要有以下基础 python2.7基本语法 python面向对象的语法基础 你将学习到以下内容 了解一些...

  • python的学习方向

    我的学习计划: 1、Python基础语法、python字符串解析、python时间和日历、python文件操作,数...

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • 学习资料

    python 基础语法学习:莫凡课堂 机器深度算法学习:Google在线课堂-机器学习(须VPN) python ...

  • Python学习日记-基础语法1

    本章目录 Part One:标识符 Part Two:Python关键字 Part Three:注释 Part F...

  • Python学习日记-基础语法2

    本章目录 Part One:数据类型 Part Two:字符串 Part Three:输入和输出 Part Fou...

  • 从零开始整python之环境搭建

    学习目标 凭借学到的python技术找到一份python相关的工作 技能分析 python 基础语法 python...

  • python3从零学习-大纲

    从零学习-大纲 1、python宗谱 2、python哲学 3、开发环境搭建 4、基础知识 4.1、基础语法 4....

网友评论

      本文标题:python学习日记1-基础语法

      本文链接:https://www.haomeiwen.com/subject/vvrwgdtx.html