欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python基础梳理

程序员文章站 2022-05-28 22:16:36
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)
printtype(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