Python基础

1. 命名方法

大驼峰:所有单词的首字母均大写

小驼峰:第一个单词的首字母小写,其他单词的首字母小写

变量:字母、数字、下划线组成,不能以数字开头,不能使用内置关键字,区分大小写

2. 多种变量输出方式

查看类型:type(变量名)

字符转义:\ 例如原本的\t 表示一个tab键,\\t表示\t只作为了一个字符串打印出来而非一个tab键

类型有:整型int、单精度浮点型float、双精度浮点型double、字符串string、布尔型bool、

列表list、元组tuple、集合set、字典dict

格式化符号:字符串%s、整数%d、浮点数%f

python 复制代码
name='小明'
age=18
money=200000

print("我是%s,今年%d岁,存款%f元"%(name,age,money))

print("我是{},今年{}岁,存款{}元".format(name,age,money))

print("我是{0},今年{1}岁,存款{2}元;我的好朋友是{0},今年{1}岁".format(name,age,money))

print(f"我是{name},今年{age}岁,存款{money}元")  #推荐使用

input() 用户自定义输入函数

python 复制代码
name=input('请输入姓名:')
age=input('请输入年龄:')
money=input('请输入存款:')

print("我是%s,今年%d岁,存款%f元"%(name,age,money))

print("我是{},今年{}岁,存款{}元".format(name,age,money))

print("我是{0},今年{1}岁,存款{2}元;我的好朋友是{0},今年{1}岁".format(name,age,money))

print(f"我是{name},今年{age}岁,存款{money}元")   #推荐使用

数据类型转换:

int(x) 将x转为整型,同理与浮点型float、字符串str、元组tuple、列表list

eval(str) 将已转换的数据结果重新转换为原数据类型

个位、十位、百位数字的提取:

个位:i%10

十位:i//10%10 <==> (i/10)%10

百位:i//100%10 <==> (i/100)%10

日期时间:

python 复制代码
import datetime
日期时间:now=datetime.datetime.now()
日期:date=datetime.date.today()
时间:time=now.time()  #此处的now要引用日期时间的now
自定义获取年月日,时分秒:time.strftime("%Y-%m-%d",time.localtime())

时间睡眠:

python 复制代码
休眠1秒再执行
import time
while True:
    time.sleep(1)

随机数:

python 复制代码
import random
index=random.randint(0,len(strs)-1)

公共运算符:

  • 指合并 * 指复制 适用于字符串、列表、元组

in 判断元素是否存在 not in 判断元素是否不存在 适用于字符串、列表、元组、字典

公共方法:

len(x) 字符串长度,元素的个数

del 删除

max() min() 最大最小值

3. 容器

3.1 字符串:

给数据赋值:s='abcde'

查看类型:print(type(s))

字符串拼接:s=str1+str2

查找元素:

s.find('abc') 如果存在,返回开始的索引值,否则返回-1

s.index('abc') 如果存在,返回开始的索引值,否则报错

s.count('ab') 返回统计的字符串出现的次数,没有返回0

修改元素:

替换:s.replace(old值,new值) 将旧值替换为新值

分割:s.split('b') 字符串分割后返回列表形式,分割后b不存在 'a','cde'

去除字符串前后空格:s.strip() 注:不会去除字符串中间的空格

3.2 列表

给数据赋值:list='abc','de',12,13

查找列表中的元素:print(list2) 可存放不同类型的数据,下标从0开始

print(list4) 4的值超过了最大索引值,会报错

查看类型:print(type(list))

给列表添加元素 append:

list.append('m') print(list)时得结果:'abc','de',12,13,'m'

#不可以合并写成print(list.append('m')) 会报None错误

在指定位置添加元素 insert:

list.insert(3,'m') print(list)时得结果:'abc','de',12,'m',13 将m放置在索引为3的位置处

#不可以合并写成print(list.insert(3,'m')) 会报None错误

对列表批量增加元素 extend:

原有list='abc','de',12,13 现需要增加 list2=1,2,3,4的所有元素到 list中

list.extend(list2) print(list)时得结果:'abc','de',12,13,1,2,3,4

如果使用append添加时,会直接将整个list2列表嵌套到list中:

list.append(list2) print(list)时得结果:'abc','de',12,13,\[1,2,3,4]

列表删除操作:

remove删除:依据元素值删除数据,删除元素时只删除第一次出现的元素

list.remove(12) 得结果:'abc','de',13

del删除:依据下标删除数据

del list1 得结果:'abc',12,13

修改列表元素:

依据下标对元素重新赋值:list1='ii' print(list) 得结果:'abc','ii',12,13

查找元素:

python 复制代码
if  'ii'  in  list:
    print(list.index('ii'))
else:
    print('无')

排序操作:

翻转reverse

list.reverse() print(list) 得结果:'abc','de',12,13 ==> 13,12,'de','abc'

排序sort 注:不同数据类型不可以混用排序

list=4,2,3,1

list.sort() print(list) 得结果:1,2,3,4

list.sort(reverse=True) print(list) 得结果:4,3,2,1

3.3 元组

给数据赋值:tuple=('ab','cd',1,2,3)

元组中只有一个元素时:tuple=('ab',) #必须要有一个,

查看数据类型:print(type(tuple))

元组不支持添加、修改、删除

元组的查找:tuple下标

统计元组中元素的个数:len(tuple)

元组中的元素互换位置:(a,b)=(b,a)

3.4 字典

给数据赋值:dict={'a':3,'b':5,'c':7}

字典中的键不可以重复,值可以重复

查看数据类型:print(type(dict))

通过键去取值:print(dict'c') 当键'c'不存在时会报错

为提升性能,使用print(dict.get('c')) 当键'c'不存在时返回None

添加键值对:dict'键'='值' #当键不存在时为添加一个新元素,当键存在时为修改键的值

删除数据:del dict'键1' 删除指定的键值对

清空数据:dict.clear() 返回dict={}

4. 循环遍历

字符串、列表、数组

使用for循环遍历:

python 复制代码
s='abc123'   s=['a','b','c',1,2,3]   s=('a','b','c',1,2,3)
for i in s:
    print(i)
else:
    print('循环结束')

使用while循环:

python 复制代码
s='abc123'   s=['a','b','c',1,2,3]   s=('a','b','c',1,2,3)
i=0
while i<len(s):
    print(s[i])
    i+=1
else:
    print('循环结束')

字典的遍历

键:keys()

值:values()

键值对:items()

python 复制代码
for key in s.keys():
    print(key)

for value in s.values():
    print(value)

for item in s.items():
    key=item[0]
    value=item[1]
    print(f'{key}:{value}')

for key,value in s.items():
    print(f'{key}:{value}')

5. 索引及切片

5.1 索引

返回变量的长度或元素的个数:

len(s)

访问最后一个元素:

print(slen(s)-1) 下标为s的长度-1 或 print(s-1)

由于字典是键值对存储的,所以无索引序列,查找元素时通过键来查找

5.2 切片

s='abc123...' s='a','b','c',1,2,3... s=('a','b','c',1,2,3...)

s开始,结束,步长

s2:5 拿取下标为2,3,4的数据,左闭右开原则

s2:9:2 拿取下标为2,4,6,8的数据,步长为2表示拿取的两个数之间相差2

s2:: 拿取2之后的所有下标的数据 2,3,4,5....

s2::2 拿取从2开始步长为2的所有下表的数据 2,4,6....

s:: 拿取全部的数据

s::-1 拿取全部的数据并对数据反转 3,2,1,'c','b','a'

相关推荐
曲幽6 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码6 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱16 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵17 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio21 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱2 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2