Python基础梳理
程序员文章站
2023-04-03 20:28:52
Python3手册学习:系统化全面化视频学习:实用性高、学到了经验、用途刷题平台:结合学习,事半功倍1、Python可以同时为多个变量赋值,如a, b = 1, 2。反斜杠()可以作为续行符python库是可以其它语言编写,非常高效python自身运行效率低于c老师提供的学习网站http://sdlg.alphacoding.cn/course/292/chapters #格式化输出 a = 18 b = 12 print(f'今年{a}岁{b...
Python3
- 手册学习:系统化全面化
- 视频学习:实用性高、学到了经验、用途
- 刷题平台:结合学习,事半功倍
- 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
- 反斜杠()可以作为续行符
- python库是可以其它语言编写,非常高效
- python自身运行效率低于c
- 老师提供的学习网站http://sdlg.alphacoding.cn/course/292/chapters
#格式化输出
a = 18
b = 12
print(f'今年{a}岁{b+1}')#这个更高效
#今年18岁13
print(f'',end=" ")#不换行
#输出多个数据的时候变量和变量之间默认会输出空格
a = 1
print(a,a,a)
#1 1 1
#输入 接收到的都是字符串
input('提示信息:')
#多个变量赋值,如a, b = 1, 2
#交换数值 a,b = b,a
#类型转换
eval()#将字符串,得到一个对应的类型的对象 因为它回解析字符串,解析出算式也会计算
#例如
str = '1.0'
a = eval(str)
print(a)
print(type(a))
#结果:1.0 <class 'float'>
#例如
str = '1+1'
a = eval(str)
print(a)
#结果:2
int() #只能转化数字组成的字符串,空格啥的不能有
float()
str()
tuple() #序列转元组
list() #序列转列表
type() #得到对象的类型
#a = 1
#if type(a) == type(1):
# print('ok')
#运算符
// # 整除
2**4 #指数,结果是16
#多变量赋值
a = b = c = 1
#x绝对值
#abs(x)
#返回最值
#max(x1,x2,x3)
#min(x1,x2,x3)
#保留b位小数
#round(x[, b]) []表示 这里可不写,默认四舍五入取整
#round(1.11,1)
#1.1
#逻辑运算符
and or not #if()and() #if()or()or()
1 and 2 #数字做逻辑运算为假时会返回0,为真的时候会返回最后一个数字
#支持 1<= a <= 3 写法
#随机数
import random #导入模块
random.randint(1, 2)#范围1到2
#if三目运算符
c=a if a>1 else b #如果成立,c=a,否则c=b
#for循环语法
#for 临时变量 in 序列:
#......
#字符串 以str为案例
#输出i'm
a='i'm' #报错,有三个当年引号,匹配出错
a = 'i\'m' #转译一下就可以了,或者换双引号
#切片
#[开始下表,到底几个结束,间隔步长(不写默认为一)] 适应于 字符串、列表、字符串
str[2:5] #从[0]开始读前五个数,取[2]往后的那段 12345 ->345
#等效于str[2]str[3]str[4]str[5]被输出
str[::-1] #可以实现倒序输出
#常用操作方法 (工作中遇到不重要的方法再去查,没必要全都会)
#KMP查找子串第一次出现的位置
#str.find(子串, 开始下标(可省略) , 结束下标(可省略) )
#str.rfind() #这里从右开始找
str = 'csdf'
str.find('c') #参数可以只有子串
#子串出现次数 常用
#str.count()
#字符修改 (空替换就是删除) 常用
#str.replace(被替换子串,替换后的子串,替换次数(可省略) )
s = str.replace('a','b') #str中的a替换成b,str本身不变,将替换结果存入s,这也说明字符不可修改
#分割 常用
#str.split(分割字符,分割次数(可省略) ) 返回一个列表
#合并列表中的字符串为一个大字符串
#连接符.join(字符列表) 常用
list = ['1', '3', '2']
str = '...'.join(list)
print(str)
#1...3...2
list = ['1', '3', '2']
str = ''.join(list)
print(str)
#132
#全转小写 常用
#str.lower()
#全转大写 常用
#str.upper()
#所有单词首字母大写(又称标题化)
#str.title()
#首单词首字母大写
#str.capitalize()
#字符串居中 常用
#str.center(width)
#在某宽度内居中,空格填充左右边
#str.strip(chars)
#去掉首尾chars
#判断开头
#str.startswith('开头串')
#判断结尾
#str.startswith('结尾串')
#判断都是字母
#str.isalpha()
#判断都是数
#str.isdigit()
#判断都是字母或数字
#str.isalnum()
#列表 (以mylist为案例)
#可变数据类型
#可以存储多种类型数据,由于不同类型方法不同,建议列表里的数据是同类型的
#表中成员出现的位置
#mylist.index()
#表中成员出现的次数
#mylist.count('Tom')
#表长度/成员个数
#len(mylist)
#判断某元素x在不在列表
#x in mylist 返回值 Ture 在
#x not in mylist 返回值 Ture 不在
#用途:避免邮箱重复注册
#添加元素(序列不拆开)
#mylist.append(数据) 数据可以是 数字、序列(列表、字符串)...
#添加元素(序列拆开,依次添加)
#mylist.extend(序列)
mylist = [1,2]
mylist.extend([3,4])
#[1,2,3,4]
#指定位置添加元素
#mylist.insert(位置,数据)
#删除列表或元素
#del(mylist)
#del(mylist[0])
#删除最后一个元素,返回值为被删除的元素
#mylist.pop()
#删除第一个匹配的元素
#mylist.remove('元素')
#清空列表
#mylist.clear()
#列表逆序
#mylist.reverse()
mylist.reverse()
for i in mylist:
#排序(key = None, reverse=False) 默认 升序,无关键字
#mylist.sort()
#mylist.sort(reverse = True) 降序
#列表的复制
#mylist1=mylist.copy()
#用途:工作中备份数据
#注意;list1=list2,不是赋值,这样会指向同一个地址,修改时都改变
#遍历列表
#for i in mylist:
#...
#列表嵌套
mylist = [[1, 2], [3, 4]]
mylist[0][1] #2
#元组 (以my_tuple为案例)
#用途:存放不可修改的元素
#存放单个数据时 最后得加逗号
# my_tuple= (10,)
#元组的查找操作
#下标查找
#my_tuple[0]
#index查找
#my_tuple.index(元素值)
#返回元素的下标,若不在报错
#count查找
#my_tuple.count(元素)
#查找长度
#len(my_tuple)
#元组中的列表可以修改(不常用)
#字典 (以my_dict为案例)
#用途:键值对查找
#创建空字典
#my_dict = {}
#或者函数创建
#my_dict = dict()
#增、改操作
#my_dict['key'] = 值
#删操作
#del(my_dict)
#del(my_dict['key'])
#清空
#my_dict.clear()
#查操作
#my_dict['key']
#这种方法查不到会报错,用get()不报错
#常用四个函数
#my_dict.get('key',查找失败返回信息(可不填) )
#失败返回信息默认为None
#my_dict.keys()
#返回一个所有“键名”组成的可遍历(即可迭代)的对象
#输出的结果为:
#dict_keys(['key'])
#my_dict.values()
#返回一个所有“键值”组成的可遍历(即可迭代)的对象
#my_dict.items()
#返回一个所有“键值对”组成的可遍历(即可迭代)的对象
#字典遍历(遍历的往往就是可迭代对象)
#这里以“键值对”遍历
#for k,v in my_dict.items():
# ...
#集合 (以my_set为案例)
#数据满足 确定性、互异性、无序性
#没有键值对,存放的都是值
#输出顺序不固定
#创建集合
#my_set = set() 空集合
#my_set.set('ab')
#结果:{'a','b'}
#增操作
#增加单个元素x
#my_set.add(x)
#增加多个x,y,z (一个序列)
#my_set.update([x,y,z])
#删x操作
#my_set.remove(x)
#my_set.discard(x) #空删不报错
#my_set.pop() #随机删
#查操作
#判断字典中是否有x元素
#x in my_dict 在,返回True
#公共操作
#运算符
#+ 合并
#适合容器:str、touple、list
#如:str1 + str2
#* 复制
#适合容器:str、touple、list
#如:str = '6'
#print(str * 3)
#结果:666
#in not in
#适合容器:str、touple、list 、set
#max()
#min()
#返回容器中的最值
#len()
#del 容器的名字
range(start,end,step) 步长可为负数,可不写,默认为一 开始不写,默认为0
#供 for循环使用
#for i in range(0, 10):
#等效为
#for i in range(10): 产生从0开始不到end的循环序列 这里0-9
#list =[11,22,33]
#for i in enumerate(序列, start = 1): start 默认为0
# print(i)
#(1,11)
#(2,22)
#(3,33)
#推导式
#创建有规律的序列(列表、字典、集合)
#list =[]
#:
# list.append(i)
#推导式写法
#list = [ i for i in range(10)] 从0开始的十个数
#一行代码实现
#list[0,1,2,3,4,5,6,7,8,9]
#带有条件
#list = [ i for i in range(10) if i%2 == 0] 从零开始的十个数存满足条件的
#list[0,2,4,6,8]
#for嵌套
#list = [ (i,j) for i in range(10) for j in range(10)]
#list = [(0,1),(0,2)]
#两个列表合并成一个字典
#dict = {list1[i] : list2[i] for in range(len(list1))}
#提取字典中需要的数据
dict = { key,value for key,value in dict.items() if value > 200}
#函数
b = 1
def a():
global b #全局变量
b = 2
"""hh"""
print("66")
return 1,2#多个返回值 默认元组,可以是列表
def f(*args):#不定长参数
"""接受任意参数,接收到一个参数元组/或字典,元组名字叫args"""
def f1():
return 100,200
f(z =1,c =2) #接收到字典
f(1,2) #接收结果为元组
a()
help(a)#会输出函数内第一行注释
q,w = f1()#拆包
a,b = b,a #数值交换
id(a)#查看a的地址标识,用来判断是不是同一个值的引用
#列表字典集合可变,整点浮点字符串元祖不可变
- https://www.bilibili.com/video/BV1bt411g7sW?p=169已看完
- https://www.bilibili.com/video/av33963847/?spm_id_from=trigger_reload爬虫
-
- #turtle 海龟
#标准库中之一
import turtle as t #turtle 简化为t(别名)
#...
t.done() #结束后窗口保留,需要手动关闭
#绘图窗体(不是必须的)
#t.setup(width,height,x,y)距离左上角x,y
#库名.库函数
#方向控制
t.seth(angle)#绝对角度,改变海龟行进方向, 0/360 90/-270 180/-180 270/-90
#改变方向
t.left(angle)#相对角度,当前方向左偏angle度
t.right(angle)
t.fd(10) #前进10像素(右为前方)
t.fd(-10)#后退10像素
#色彩
t.pencolor('color')
t.pencolor(,,) #RGB色
#起笔
t.penup()
#落笔
t.pen.down()
#速度
t.speed(1)#范围1-10 10最快
#t.goto(0,0)是画板中心
#画圆
t.circle(150,45) #半径150 角度45 海龟面向前方(对画布刚开始讲,正左为前方,角度为正,圆心在海归左手边,对画布刚开始来讲,就是正上方)
t.circle(-150,45) #半径为负值,圆心在右边
t.circle(150)#半径150的整圆
#t.goto(x,y) 画圆的时候,注意,两次定位同一个x,y结果不同,说明,两次定位的海龟朝向不同
import turtle as t
t.pensize(2)
for i in range(8):
t.fd(60)
t.left(135)#八角形
for i in range(8):
t.fd(60)
t.left(45)#八边形
t.fd(100)
for i in range(8):
t.left(80)
t.fd(100)
t.left(100)#叠变形
x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
id() 函数用于获取对象内存地址。
- ** 复数( (complex))** - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
- ---
数学函数
函数 返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
[round(x ,n]) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x) 返回数字x的平方根。
numbers = [1, 3, 6]
newNumbers = tuple(map(lambda x: x , numbers))
print(newNumbers)
map()https://www.cnblogs.com/kongweisi/p/10441776.html
反向遍历一个序列,首先指定这个序列,然后调用 reversed() 函数:
for i in reversed(range(1, 10, 2)):
... print(i)
本文地址:https://blog.csdn.net/weixin_44041700/article/details/107484372
上一篇: python 30个技巧、小贴士
下一篇: 大话设计模式笔记(二十六)の总结