Python 笔记—— string.count()

参考网页:http://www.tutorialspoint.com/python/pdf/string_count.pdf


描述:

Python中关于字符串的方法count()是统计字符串中子串的频次。


语法

str.count(sub, start= 0,end=len(string))


参数:

sub——要统计的子串。

start——从字符串str的str[start]开始统计。默认是从0即字符串的第一个字符开始。

end——统计的结束位置。默认为字符串的末尾。

即在字符串str中,在区间[start, end)统计子串sub出现的次数。


例子

#!/usr/bin/python

str = "This is a string example"
sub = "i"
print str[2]
print "str.count(sub, 1, 7) : ", str.count(sub, 1, 7)
print "str.count(sub, 2, 3) : ", str.count(sub, 2, 3)

运行结果:

i
str.count(sub, 1, 7) :  2
str.count(sub, 2, 3) :  1






<think>好的,用户之前已经问过关于numpy和pandas的使用,现在他们想要一份Python学习笔记总结。我需要先理解他们的需求。可能他们刚开始学习Python,或者已经学了一段时间,现在想要一个系统的复习资料。之前的回复结构很清晰,分点列出了库的功能和示例,用户可能希望这次的学习笔记也有类似的结构。 用户可能希望这份学习笔记涵盖Python的基础知识,比如基础语法、数据结构、函数、面向对象等,还可能包括常用的库和实际应用。他们可能是在准备面试,或者整理自己的知识体系。需要确保内容全面但不过于冗长,结构清晰,方便查阅。 我需要考虑用户的身份,可能是学生、转行者或刚入门的开发者。他们需要的是关键知识点,而不是面面俱到。所以应该重点突出Python的核心概念,常见问题,以及最佳实践。同时,结合之前的回复,可能用户对数据处理部分感兴趣,但这次是更基础的Python总结,所以需要覆盖基础部分,再适当提到常用的库如numpy、pandas,但可能不需要深入。 还要注意用户提到的“学习笔记总结”,这意味着要分模块,用简洁的方式呈现,可能包括示例代码和重点说明。需要检查是否有遗漏的重要知识点,比如列表推导式、装饰器、异常处理等。另外,可能需要包括环境配置、工具使用建议,比如虚拟环境、常用IDE,帮助用户搭建学习环境。 要确保内容正确,比如Python的特性、语法细节,不能有错误。例如,可变和不可变数据类型,函数参数传递方式,这些容易出错的地方需要准确解释。同时,提供示例代码时要注意语法正确,比如缩进、冒号的使用,避免误导用户。 用户可能希望学习笔记能帮助他们解决实际问题,所以每个部分可能需要结合实际应用场景,比如文件处理、常用库的使用场景。此外,资源推荐部分可以帮助他们进一步学习,比如推荐书籍、网站或项目。 最后,保持回答结构清晰,使用标题、列表、代码块等,让内容易于阅读。避免使用过于专业的术语,或者适当解释术语,确保用户能理解。同时,根据用户之前的反馈,可能需要强调重点内容,比如用粗体或斜体标出关键点,帮助用户记忆。</think>--- ### **Python 学习笔记总结(核心知识点梳理)** --- #### **一、基础语法与特性** **1. 变量与数据类型** - **动态类型**:变量无需声明类型(如 `a = 10` → `type(a)` 为 `int`) - **常见类型**: ```python int_num = 5 # 整数 float_num = 3.14 # 浮点数 string = "Hello" # 字符串(不可变) bool_val = True # 布尔值 none_val = None # 空值 ``` **2. 运算符与表达式** - **算术**:`+`, `-`, `*`, `/`, `//`(整除), `%`(取余), `**`(幂) - **逻辑**:`and`, `or`, `not` - **成员检查**:`in`(如 `"a" in ["a", "b"]` → `True`) **3. 流程控制** - **条件语句**: ```python if x > 10: print("大于10") elif x == 10: print("等于10") else: print("小于10") ``` - **循环**: ```python for i in range(5): # 遍历 0-4 print(i) while count < 5: # 条件循环 count += 1 ``` --- #### **二、核心数据结构** **1. 列表(List)** - **特点**:有序、可变、可重复 - **操作**: ```python nums = [1, 2, 3] nums.append(4) # 添加元素 → [1,2,3,4] nums[1:3] = [5, 6] # 切片赋值 → [1,5,6,4] list_2d = [[1,2], [3,4]] # 二维列表 ``` **2. 字典(Dict)** - **特点**:键值对、无序、键唯一 - **操作**: ```python user = {"name": "Alice", "age": 25} user["email"] = "alice@example.com" # 添加键值对 keys = user.keys() # 获取所有键 ``` **3. 元组(Tuple)** - **特点**:有序、不可变(适合固定数据) ```python point = (3, 4) x, y = point # 解包赋值 → x=3, y=4 ``` **4. 集合(Set)** - **特点**:无序、元素唯一、高效成员检查 ```python s = {1, 2, 3} s.add(4) # 添加元素 → {1,2,3,4} ``` --- #### **三、函数与模块** **1. 函数定义与参数** - **基本结构**: ```python def add(a, b=0): # 默认参数 return a + b ``` - **参数类型**: - 位置参数:`add(3, 5)` - 关键字参数:`add(b=5, a=3)` - 可变参数:`def sum_all(*args):`(接收元组) - 关键字可变参数:`def print_info(**kwargs):`(接收字典) **2. 模块化编程** - **导入模块**: ```python import math from datetime import datetime # 导入特定函数 ``` - **自定义模块**: 创建 `utils.py` 文件,写入函数后通过 `import utils` 调用 --- #### **四、面向对象编程(OOP)** **1. 类与对象** ```python class Dog: def __init__(self, name): # 构造方法 self.name = name def bark(self): # 实例方法 print(f"{self.name} 在叫!") my_dog = Dog("Buddy") my_dog.bark() # 输出 "Buddy 在叫!" ``` **2. 继承与多态** ```python class Bulldog(Dog): # 继承 Dog 类 def bark(self): # 方法重写 print("Woof! Woof!") bulldog = Bulldog("Max") bulldog.bark() # 输出 "Woof! Woof!" ``` --- #### **五、常用标准库** | **库名** | **用途** | **示例** | |--------------|-----------------------------|-----------------------------------| | `os` | 操作系统交互 | `os.listdir()` 列出目录文件 | | `sys` | 系统参数操作 | `sys.argv` 获取命令行参数 | | `re` | 正则表达式 | `re.findall(r"\d+", text)` 提取数字 | | `json` | JSON 数据解析 | `json.dumps(dict)` 转换为JSON字符串 | | `datetime` | 日期时间处理 | `datetime.now()` 获取当前时间 | --- #### **六、文件操作** **1. 读写文本文件** ```python # 写入文件 with open("test.txt", "w", encoding="utf-8") as f: f.write("Hello World!") # 读取文件 with open("test.txt", "r", encoding="utf-8") as f: content = f.read() ``` **2. CSV 文件处理** ```python import csv # 写入 CSV with open("data.csv", "w", newline="") as f: writer = csv.writer(f) writer.writerow(["Name", "Age"]) writer.writerow(["Alice", 25]) ``` --- #### **七、错误与异常处理** ```python try: result = 10 / 0 except ZeroDivisionError as e: print(f"错误:{e}") else: print("无错误时执行") finally: print("无论是否出错都执行") ``` --- #### **八、高效编程技巧** 1. **列表推导式**: ```python squares = [x**2 for x in range(10)] # 生成 [0,1,4,9,...,81] ``` 2. `lambda` 表达式: ```python add = lambda x, y: x + y print(add(3, 5)) # 输出 8 ``` 3. **生成器**(节省内存): ```python gen = (x**2 for x in range(10)) # 惰性计算 print(next(gen)) # 输出 0 ``` --- #### **九、学习资源推荐** 1. **官方文档**:[Python 3 官方文档](https://docs.python.org/zh-cn/3/) 2. **书籍**: - 《Python编程:从入门到实践》 - 《流畅的Python》(进阶) 3. **实战平台**:LeetCode(算法)、Kaggle(数据分析) --- **注**:建议结合项目实践(如爬虫、数据分析、Web开发)巩固知识,并善用 `print()` 和调试工具(如 `pdb`)排查代码问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值