Python常用基础知识笔记
1. 基础知识
1.1 字符串(" "、’ ')相关
- 全部大写
name.upper()
- 全部小写
name.lower()
- 每个单词首字母大写
name.title()
- 删除开头的空白
name.lstrip()
- 删除末尾的空白
name.rstrip()
- 删除两端的空白
name.strip()
- 非字符串转为字符串
str(age)
- 分隔字符串
name.split() # split()以空格为分隔符将字符串拆分成多个部分,并将其存到一个列表中
- 字符串转列表
list(name) # ['l', 'e', 'x', 'i', 'a', 'o', 'y', 'u', 'a', 'n']
- 字符串替换
str.replace('old', 'new') # 用new替换str中的old。不会改变原str的值
- 查找子字符串
str.index('abc') # 返回'abc‘开始的索引值,字符串的索引值是从0开始
- 字符串转整型
int(str) # 将数字字符串转为整型
- 查找字符串
str.find('.json') # 找到了返回字符串开始的索引值,没找到返回-1。(注意,-1在python中为True)
- 截取子字符串
str[start: end] # start,end为字符的索引值。截取包括start, 不包括end的字符串。str中字符的索引值从0开始。
- 翻转字符串
str[::-1]
- 查找子字符串 在字符串str中最后出现的位置
str.rindex('\\') # 返回 \ 在str中最后出现的位置,字符串的索引值是从0开始
- 判断字符串是字母、数字、大小写
str.isalnum() # 所有字符都是数字或者字母
str.isalpha() # 所有字符都是字母
str.isdigit() # 所有字符都是数字
str,islower() # 所有字符都是小写
str.isupper() # 所有字符都是大写
str.istitle() # 所有单词都是首字母大写
str.isspace() # 所有字符都是空白字符
str.swapcase() # 对字符串的大小写字母进行转换
1.2 列表([ , ])相关
- 访问列表元素
names[0] # 第一个元素
names[-1] # 第二个元素
- 在列表末尾添加元素
names.append('aaa')
names.append(['bbb', 'ccc']) # append可以添加一个对象,包括元素,列表,字典等等
- 在列表中插入元素
names.insert(1, 'aaa')
- 从列表中删除元素
del names[1]
- 弹出列表中的元素
names.pop() # 弹出列表末尾的元素
names.pop(3) # 弹出列表第4个元素
- 根据值删除列表中的元素
names.remove('aaa') # 只删除第一个指定的值
- 对列表进行永久性排序
# names中所有指都是小写或都是大写
names.sort() # 按字母顺序排序
names.sort(reverse=True) # 按字母顺序逆序
- 对列表进行临时排序
sorted(names) # 不影响原始列表
- 倒着打印列表
names.reverse() # reverse()是永久性的修改列表的排列顺序,并且没有返回值
- 确定列表的长度
len(names)
- 遍历整个列表
for name in names:
print(name)
- 创建数字列表
for value in range(1, 6): # 生成1,2,3,4,5
print(value)
list(range(1, 6)) # [1, 2, 3, 4, 5]
list(range(1, 11, 2)) # 步长为2,[1, 3, 5, 7, 9, 11]
- 对数字列表进行统计
min(digits) # 找最小值
max(digits) # 找最大值
sum(digits) # 求和
- 列表解析
squares = [value**2 for value in range(1, 11)]
- 对列表切片
names[1:4] # names[1]、[2]、[3] 第2,3,4个元素
names[:4] # names[0]、[1]、[2]、[3] 从开头开始
names[2:] # names[2]、[3]、[4]、... 从第3个元素到结尾
names[-3:] # 最后3个元素
- 复制列表
names2 = names[:] #复制之后,两者是互不影响的
names2 = names # 两者指向同一个列表,一个变,都变
- 返回列表中元素的索引
names = ['le', 'xiao', 'yuan']
names.index('xiao') # 1
- 在列表末尾一次性追加另一个序列中的多个值
names = ['le', 'xiao', 'yuan']
names2 = ['xiao', 'yuan']
names.extend(names2) # ['le', 'xiao', 'yuan', 'xiao', 'yuan']
- 二维数组和三维数组切片
参考:https://blog.youkuaiyun.com/zgcr654321/article/details/88015849?dist_request_id=1328740.28287.16169372081078923&depth_1-
//TODO
- 临时反转列表
list(reversed(names))
1.3 元祖(( , ))相关
- 定义元祖
names = ('le', 'xiaoyuan')
- 访问元祖中的元素
names[0]
- 遍历元祖中的元素
for name in names:
print(name)
- 修改元祖变量
names = ('le', 'xiaoyuan', 'beta') # 只能重新定义整个元祖,修改元祖变量,不能修改元祖中的元素
1.4 if语句
- 条件测试
# 在比较运算符两边各添加一个空格是一个良好的编码习惯
== # 相等
!= # 不等
< # 小于
> # 大于
<= # 小于等于
>= # 大于等于
and # 都满足才为True
or # 都不满足才为False
in # 判断特定值是否已在列表中
not in # 判断特定值是否不在列表中
True # 真
False # 假
- if语句
if conditional:
do something
- if-else 语句
if conditional:
do something
else:
do other something
- if-elif-else语句
if conditional:
do something
elif conditional_2:
do something
else:
do something
- Python中实现三目运算
result = True if conditional else False # 满足conditional,result为True,否则为False
1.5 字典({ ’ ': ’ ', ’ ': 5})相关
- 定义字典
names = {'first': 'le', 'last': 'xiaoyuan', 'age': 21,} # 最后一个后面也可以加上逗号
# 在空字典中添加键值对
names = {}
names = dict()
names['fisrt'] = 'le'
names['last'] = 'xiaoyuan'
names['age'] = 21
- 访问字典中的值
names['first']
- 添加键值对
names['like'] = 'coding' # Python不关心键值对的添加顺序
- 修改字典中的值
names['last'] = 'xiaoyuanbeta'
- del语句删除键值对
del names['last'] # 永远删除
- 遍历字典
for k,v in names.items(): # items()返回键值对列表
for k in names.keys(): # keys()返回所有键的列表
for v in names.values(): # values()返回所有值的列表
- 按顺序遍历字典中所有键
for k in sorted(names.keys()):
- 提取字典中所有不重复的值
for v in set(names.values()): # set()创建一个集合,但每个元素都不重复
- 以列表的形式得到字典的值
list(names.values()) # 提取字典中所有的值转换成列表
- 以列表的形式得到字典的键
list(names.keys()) # 提取字典中所有的键转换成列表
- set集合
hashset = set()
hashset.add('a')
hashset.remove('a')
- pop()删除
names.pop('age') # pop函数和del语句的作用相同,但pop函数会返回删除的键对应的值
- get()获取数组中的值
names.get('age', 20) # 返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。
1.6 用户输入相关
- 获取用户输入
message = input("Input ...") # 等待用户输入,回车继续运行
- 获取数值输入
age = input("Input ...")
age = int(age) # int()将数字的字符转换为数值
- 求模运算符(%)
4 % 3 # 将两数相除并返回余数
1.7 while循环
- 使用while循环
while conditions:
# do something
- 使用break退出循环
while True:
# do something
break
- 在循环中使用continue
while conditions:
# do something
continue
- 使用while来处理列表和字典
不应再for循环中修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。
names = ['le', 'xiao', 'yuan']
while names:
# do something
while name in names:
# do something
1.8 函数相关
- 定义函数
def function():
# do something
function() # 调用函数
- 向函数传递信息
def function(arguments): # arguments可以为任意值
# do something
function('name')
- 位置实参
def function(arguments, other):
# do something
function('name', 21) # 按顺序关联
- 关键字实参
def function(arguments, other):
# do something
function(other=21, arguments='name') # 指定关联
- 默认值
def function(arguments, other=21): # 默认值应当放在最后
# do something
function('name') # other不指定则为默认值
function('name', 30) # other指定了则为指定的值
- 返回值
def function(arguments, other):
# do something
return arguments.title() + ':' + int(other) # 可以返回任何类型的值,包括列表和字典等复杂的数据结构
function('name', 21)
- 传递列表
def function(names):
for name in names:
# do something
function(['le', 'xiao', 'yuan']) # 将列表传递给函数后,函数对列表所做的修改是永久性的
- 禁止函数修改列表
def function(names[:]): # 向列表传递列表的副本而不是原件
# do something
names = ['le', 'xiao', 'yuan']
function(names[:])
- 传递任意数量的实参
def function(arguments, *other): # *other可以接受任意数量的形参,会创建一个空元组,将接收到的值都存到元组中。必须放在最后面
for other in others:
# do something
function('name', 'le', 'xiaoyuan')
- 使用任意数量的关键字实参
def function(arguments, **other): # **other可以接受任意数量的键值对,会创建一个空字典
for k, v in other.items():
# do something
function('le', first='xiao', last='yuan')
- 导入整个模块
import module_name # 可以在程序中使用模块中的所有函数
module_name.function_name()
- 导入特定的函数
from module_name import function_1, function_2
function_1() # 调用时不需要通过 . 号
function_2('lexiaoyuan')
- 给函数指定别名
from module_name import function_1 as f1 # 将函数function_1()重命名为f1()
f1() # 使用function_1()的地方都可省略为f1()
- 给模块指定别名
import numpy as np # 给模块指定简短的别名
np.dot() # 函数内的名称不变,只是模块名更简洁
1.9 类
- 创建类
class ClassName():
def __init__(self, name, age): # 该方法会自动运行,且self是必须的,并位于其它参数前
self.name = name
self.age = age
def function(self):
# ...
- 根据类创建实例
dog = ClassName('willie', 6) # 创建实例时,不需要传递self参数
# 访问属性
dog.name
# 调用方法
dog.function()
- 给属性指定默认值
class ClassName():
def __init__(self, name, age): # 该方法会自动运行,且self是必须的,并位于其它参数前
self.name = name
self.age = age
self.like = 'sit' # 指定初始值
def function(self):
# ...
- 修改属性的值
# 直接修改属性的值
dog.like = 'roll over'
# 通过方法修改属性的值
class ClassName():
--snip--
def function(self, like):
self.like = like
dog.function('roll over') # 只需要传递like参数
- 继承
class SmallDog(Dog): # 父类必须在当前文件中,且位于自雷前面
def __init__(self, name, age):
super().__init__(self, name, age) # super()函数将父类和子类联系起来
- 重写父类的方法
class SamllDog(Dog):
--snip--
def function(self): # 和父类方法同名
# ...
- 导入类
from car import Car # 从car模块导入Car类
my_car = Car()
1.10 文件
- 读取整个文件
with open(filename) as file_object: # open()打开文件
contents = file_object.read() # read()读取整个文件
print(contents)
- 逐行读取
with open(filename) as file_object:
for line in file_object:
print(line)
- 逐行读取并存储在列表中
with open(filename) as file_object:
lines = file_object.readlines() # readlines()从文件中读取每一行,并将其存储在一个列表中
- 写入文件
with open(filename, 'w') as file_object: # 'w'表示写入模式(会覆盖原文件内容)
file_object.write("something") # write()将字符串写入文件
- 附加到文件
with open(filename, 'a') as file_object:
file_object.write("something") # write()将字符串附加到末尾
- try-except处理异常
try:
# do something
except Error: # Error要替换成具体的异常
# do something
- else代码块
try: # 尝试执行try中的代码,可能引发异常
# do something
except Error:
# do something
else: # try代码块执行成功时才需要执行的代码放在else代码块中
# do something
- pass语句
try:
# do something
except Error:
pass # pass让Python什么都不做
- json模块
import json
with open(filename, 'w') as file_object:
json.dump(data, file_object) # json.dump()将数据存储到文件file_object中
with open(filename) as file_object:
json.load(file_object) # json.load()加载filename中的数据
1.11 数学运算
/和//
" / “就表示 浮点数除法,返回浮点结果;” // "表示整数除法。
>>> 5/2
2.5
>>> 5//2
2
>>> 4/2
2.0
>>> 4//2
2
- round()取整
如果与两个倍数的距离相等,则选择偶数 (因此,round(0.5) 和 round(-0.5) 均为 0 而 round(1.5) 为 2)。
>>> round(0.5)
0
>>> round(-0.5)
0
>>> round(1.5)
2
>>> round(2.5)
2
>>> round(3.5)
4
>>> round(-1.5)
-2
**可以计算平方,开方等运算
>>> 4**2
16
>>> 4**0.5
2.0
>>> 4**3
64
>>> 8**0.33333333
1.9999999861370563
>>>
创作不易,喜欢的话加个关注点个赞,❤谢谢谢谢❤
本文详细介绍了Python的基础知识,包括字符串操作(如大小写转换、分割和替换)、列表和元组的使用、条件语句、字典功能、用户输入处理、循环、函数定义、类和对象、文件I/O以及数学运算和json模块。适合初学者学习Python的基本语法和数据结构。
8万+

被折叠的 条评论
为什么被折叠?



