Python常用基础知识笔记-基础知识

本文详细介绍了Python的基础知识,包括字符串操作(如大小写转换、分割和替换)、列表和元组的使用、条件语句、字典功能、用户输入处理、循环、函数定义、类和对象、文件I/O以及数学运算和json模块。适合初学者学习Python的基本语法和数据结构。

Python常用基础知识笔记

1. 基础知识

1.1 字符串(" "、’ ')相关

  1. 全部大写
name.upper()
  1. 全部小写
name.lower()
  1. 每个单词首字母大写
name.title()
  1. 删除开头的空白
name.lstrip()
  1. 删除末尾的空白
name.rstrip()
  1. 删除两端的空白
name.strip()
  1. 非字符串转为字符串
str(age)
  1. 分隔字符串
name.split() # split()以空格为分隔符将字符串拆分成多个部分,并将其存到一个列表中
  1. 字符串转列表
list(name) # ['l', 'e', 'x', 'i', 'a', 'o', 'y', 'u', 'a', 'n']
  1. 字符串替换
str.replace('old', 'new') # 用new替换str中的old。不会改变原str的值
  1. 查找子字符串
str.index('abc') # 返回'abc‘开始的索引值,字符串的索引值是从0开始
  1. 字符串转整型
int(str) # 将数字字符串转为整型
  1. 查找字符串
str.find('.json') # 找到了返回字符串开始的索引值,没找到返回-1。(注意,-1在python中为True)
  1. 截取子字符串
str[start: end] # start,end为字符的索引值。截取包括start, 不包括end的字符串。str中字符的索引值从0开始。
  1. 翻转字符串
str[::-1]
  1. 查找子字符串 在字符串str中最后出现的位置
str.rindex('\\') # 返回 \ 在str中最后出现的位置,字符串的索引值是从0开始
  1. 判断字符串是字母、数字、大小写
str.isalnum() # 所有字符都是数字或者字母
str.isalpha() # 所有字符都是字母
str.isdigit() # 所有字符都是数字
str,islower() # 所有字符都是小写
str.isupper() # 所有字符都是大写
str.istitle() # 所有单词都是首字母大写
str.isspace() # 所有字符都是空白字符
str.swapcase() # 对字符串的大小写字母进行转换

1.2 列表([ , ])相关

  1. 访问列表元素
names[0] # 第一个元素
names[-1] # 第二个元素
  1. 在列表末尾添加元素
names.append('aaa')
names.append(['bbb', 'ccc']) # append可以添加一个对象,包括元素,列表,字典等等
  1. 在列表中插入元素
names.insert(1, 'aaa')
  1. 从列表中删除元素
del names[1]
  1. 弹出列表中的元素
names.pop() # 弹出列表末尾的元素
names.pop(3) # 弹出列表第4个元素
  1. 根据值删除列表中的元素
names.remove('aaa') # 只删除第一个指定的值
  1. 对列表进行永久性排序
# names中所有指都是小写或都是大写
names.sort() # 按字母顺序排序
names.sort(reverse=True) # 按字母顺序逆序
  1. 对列表进行临时排序
sorted(names) # 不影响原始列表
  1. 倒着打印列表
names.reverse() # reverse()是永久性的修改列表的排列顺序,并且没有返回值
  1. 确定列表的长度
len(names)
  1. 遍历整个列表
for name in names:
    print(name)
  1. 创建数字列表
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]
  1. 对数字列表进行统计
min(digits) # 找最小值
max(digits) # 找最大值
sum(digits) # 求和
  1. 列表解析
squares = [value**2 for value in range(1, 11)]
  1. 对列表切片
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个元素
  1. 复制列表
names2 = names[:] #复制之后,两者是互不影响的
names2 = names # 两者指向同一个列表,一个变,都变
  1. 返回列表中元素的索引
names = ['le', 'xiao', 'yuan']
names.index('xiao') # 1 
  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

  1. 临时反转列表
list(reversed(names))

1.3 元祖(( , ))相关

  1. 定义元祖
names = ('le', 'xiaoyuan')
  1. 访问元祖中的元素
names[0]
  1. 遍历元祖中的元素
for name in names:
    print(name)
  1. 修改元祖变量
names = ('le', 'xiaoyuan', 'beta') # 只能重新定义整个元祖,修改元祖变量,不能修改元祖中的元素

1.4 if语句

  1. 条件测试
# 在比较运算符两边各添加一个空格是一个良好的编码习惯
== # 相等
!= # 不等
< # 小于
> # 大于
<= # 小于等于
>= # 大于等于
and # 都满足才为True
or # 都不满足才为False
in # 判断特定值是否已在列表中
not in # 判断特定值是否不在列表中
True # 真
False # 假
  1. if语句
if conditional:
    do something
  1. if-else 语句
if conditional:
    do something
else:
    do other something
  1. if-elif-else语句
if conditional:
    do something
elif conditional_2:
    do something
else:
    do something
  1. Python中实现三目运算
result = True if conditional else False # 满足conditional,result为True,否则为False

1.5 字典({ ’ ': ’ ', ’ ': 5})相关

  1. 定义字典
names = {'first': 'le', 'last': 'xiaoyuan', 'age': 21,} # 最后一个后面也可以加上逗号
# 在空字典中添加键值对
names = {}
names = dict()
names['fisrt'] = 'le'
names['last'] = 'xiaoyuan'
names['age'] = 21
  1. 访问字典中的值
names['first']
  1. 添加键值对
names['like'] = 'coding' # Python不关心键值对的添加顺序
  1. 修改字典中的值
names['last'] = 'xiaoyuanbeta'
  1. del语句删除键值对
del names['last'] # 永远删除
  1. 遍历字典
for k,v in names.items(): # items()返回键值对列表

for k in names.keys(): # keys()返回所有键的列表
    
for v in names.values(): # values()返回所有值的列表
  1. 按顺序遍历字典中所有键
for k in sorted(names.keys()):
  1. 提取字典中所有不重复的值
for v in set(names.values()): # set()创建一个集合,但每个元素都不重复
  1. 以列表的形式得到字典的值
list(names.values()) # 提取字典中所有的值转换成列表
  1. 以列表的形式得到字典的键
list(names.keys()) # 提取字典中所有的键转换成列表
  1. set集合
hashset = set()
hashset.add('a')
hashset.remove('a')
  1. pop()删除
names.pop('age') # pop函数和del语句的作用相同,但pop函数会返回删除的键对应的值
  1. get()获取数组中的值
names.get('age', 20) # 返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。

1.6 用户输入相关

  1. 获取用户输入
message = input("Input ...") # 等待用户输入,回车继续运行
  1. 获取数值输入
age = input("Input ...")
age = int(age) # int()将数字的字符转换为数值
  1. 求模运算符(%)
4 % 3 # 将两数相除并返回余数

1.7 while循环

  1. 使用while循环
while conditions:
    # do something
  1. 使用break退出循环
while True:
    # do something
    break
  1. 在循环中使用continue
while conditions:
    # do something
    continue
  1. 使用while来处理列表和字典

不应再for循环中修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。

names = ['le', 'xiao', 'yuan']
while names:
    # do something

while name in names:
    # do something

1.8 函数相关

  1. 定义函数
def function():
    # do something
function() # 调用函数
  1. 向函数传递信息
def function(arguments): # arguments可以为任意值
    # do something
function('name')
  1. 位置实参
def function(arguments, other):
    # do something
function('name', 21) # 按顺序关联
  1. 关键字实参
def function(arguments, other):
    # do something
function(other=21, arguments='name') # 指定关联
  1. 默认值
def function(arguments, other=21): # 默认值应当放在最后
    # do something
function('name') # other不指定则为默认值
function('name', 30) # other指定了则为指定的值
  1. 返回值
def function(arguments, other):
    # do something
    return arguments.title() + ':' + int(other) # 可以返回任何类型的值,包括列表和字典等复杂的数据结构
function('name', 21)
  1. 传递列表
def function(names):
    for name in names:
        # do something
function(['le', 'xiao', 'yuan']) # 将列表传递给函数后,函数对列表所做的修改是永久性的
  1. 禁止函数修改列表
def function(names[:]): # 向列表传递列表的副本而不是原件
    # do something
names = ['le', 'xiao', 'yuan']
function(names[:]) 
  1. 传递任意数量的实参
def function(arguments, *other): # *other可以接受任意数量的形参,会创建一个空元组,将接收到的值都存到元组中。必须放在最后面
    for other in others:
    	# do something
function('name', 'le', 'xiaoyuan')    
  1. 使用任意数量的关键字实参
def function(arguments, **other): # **other可以接受任意数量的键值对,会创建一个空字典
    for k, v in other.items():
        # do something
function('le', first='xiao', last='yuan')
  1. 导入整个模块
import module_name # 可以在程序中使用模块中的所有函数
module_name.function_name()
  1. 导入特定的函数
from module_name import function_1, function_2
function_1() # 调用时不需要通过 . 号
function_2('lexiaoyuan')
  1. 给函数指定别名
from module_name import function_1 as f1 # 将函数function_1()重命名为f1()
f1() # 使用function_1()的地方都可省略为f1()
  1. 给模块指定别名
import numpy as np # 给模块指定简短的别名
np.dot() # 函数内的名称不变,只是模块名更简洁

1.9 类

  1. 创建类
class ClassName():
    def __init__(self, name, age): # 该方法会自动运行,且self是必须的,并位于其它参数前
        self.name = name
        self.age = age
    def function(self):
        # ...
  1. 根据类创建实例
dog = ClassName('willie', 6) # 创建实例时,不需要传递self参数

# 访问属性
dog.name

# 调用方法
dog.function()
  1. 给属性指定默认值
class ClassName():
    def __init__(self, name, age): # 该方法会自动运行,且self是必须的,并位于其它参数前
        self.name = name
        self.age = age
        self.like = 'sit' # 指定初始值
    def function(self):
        # ...
  1. 修改属性的值
# 直接修改属性的值
dog.like = 'roll over'

# 通过方法修改属性的值
class ClassName():
    --snip--
    def function(self, like):
        self.like = like
dog.function('roll over') # 只需要传递like参数
  1. 继承
class SmallDog(Dog): # 父类必须在当前文件中,且位于自雷前面
    def __init__(self, name, age):
        super().__init__(self, name, age) # super()函数将父类和子类联系起来
  1. 重写父类的方法
class SamllDog(Dog):
    --snip--
    def function(self): # 和父类方法同名
        # ...
  1. 导入类
from car import Car # 从car模块导入Car类
my_car = Car()

1.10 文件

  1. 读取整个文件
with open(filename) as file_object: # open()打开文件
    contents = file_object.read()  # read()读取整个文件
    print(contents)
  1. 逐行读取
with open(filename) as file_object:
    for line in file_object:
        print(line)
  1. 逐行读取并存储在列表中
with open(filename) as file_object:
    lines = file_object.readlines() # readlines()从文件中读取每一行,并将其存储在一个列表中
  1. 写入文件
with open(filename, 'w') as file_object: # 'w'表示写入模式(会覆盖原文件内容)
    file_object.write("something") # write()将字符串写入文件
  1. 附加到文件
with open(filename, 'a') as file_object:
    file_object.write("something") # write()将字符串附加到末尾
  1. try-except处理异常
try:
    # do something
except Error: # Error要替换成具体的异常
    # do something
  1. else代码块
try: # 尝试执行try中的代码,可能引发异常
    # do something
except Error:
    # do something
else: # try代码块执行成功时才需要执行的代码放在else代码块中
    # do something
  1. pass语句
try:
    # do something
except Error:
    pass # pass让Python什么都不做
  1. 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 数学运算

  1. ///

" / “就表示 浮点数除法,返回浮点结果;” // "表示整数除法。

>>> 5/2
2.5
>>> 5//2
2
>>> 4/2
2.0
>>> 4//2
2
  1. round()取整

参考链接:内置函数 — Python 3.9.7 文档

如果与两个倍数的距离相等,则选择偶数 (因此,round(0.5)round(-0.5) 均为 0round(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
  1. **可以计算平方,开方等运算
>>> 4**2
16
>>> 4**0.5
2.0
>>> 4**3
64
>>> 8**0.33333333
1.9999999861370563
>>> 

创作不易,喜欢的话加个关注点个赞,❤谢谢谢谢❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值