感谢世界函数给我远程控制电脑把vscode里python环境配置了下
晚上才正式开始学
看的菜鸟教程,浅做一下笔记
目录
一、基础语法
print(r"idu\n")
'''关于r取消转义'''
str='abcdefgh'
print(str[2:5],end="819")
print(str[0:-1:2]*2+'hhh')
'''关于结尾去除默认换行'''
a=1; b=2; c=3
s=a+\
b+\
c
print(s)
'''关于一行多语句和多行一语句'''
# from somemodule import somefunction(多个函数逗号隔开,"*"表所有函数)
输出:
idu\n
cde819acegaceghhh
6
二、基本数据类型
#标准数据类型:
#不可变数据:Number(数字)、String(字符串)、Tuple(元组);
#可变数据:List(列表)、Dictionary(字典)、Set(集合)。
'''数字:int float bool complex'''
a,b,c,d=1,1.0,True,4+3j
print(type(a),type(b),type(c),type(d))
print(isinstance(c,bool)) # isinstance会认为子类属于父类类型
print(issubclass(bool,int))
print(c is bool,a is True)
# del var1[,var2[,var3[....,varN]]]
# //整除 **乘方
# complex(a,b)
'''字符串''' #∈序列
word='abcde'
print(word[0]+word[3]*2) #可见优先级
#不能改
'''列表''' #∈序列
list=['a',1,1.0,True]
print(2*list[0:1]+list[0:-1:2]) #输出还是列表形式~
list[0:3:2]=[1,3] #元素可以改,但要是跳着清空list[0:3:2]=[]好像不行
print(list)
print(list[-1::-1]) #tql
'''元组''' #∈序列
tup1,tup2=(),(1,)
tup3=(1,list)
list[0]=2
print(tup3) #元素不能改,但含列表改列表的元素可以
'''集合'''
#空集合创建必须set(),不能{}
sites1,sites2={1,2,1,3,1,4},set('asdf') #set()里要是value
print(sites1,sites2) #sites1原顺序去重,sites2输出元素顺序随机
if '1' in sites1:
print('y') #注意1要没''才是y
else:
print('n')
#集合运算 -:差集 |:∪ &:∩ ^:不同时存在∪-∩
print(sites1^sites2)
'''字典'''
#"键(key)"(value)的集合。是映射,通过键而不是偏移存取
dict={} #用{}标识字典
dict['a']="hh"
dict[b]="HH"
print(dict['a']) #要不带''就变成dict[b]了
tinydict={'a':'hh','b':'HH','c':2}
print(tinydict)
print(tinydict.keys())
print(tinydict.values())
#要键不带''输出如下 <?>
# {1: 2}
#dict_keys([1])
#dict_values([2])
输出:
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
True
True
False False
add
['a', 'a', 'a', 1.0]
[1, 1, 3, True]
[True, 3, 1, 1]
(1, [2, 1, 3, True])
{1, 2, 3, 4} {'d', 's', 'f', 'a'}
n
{1, 2, 3, 4, 'f', 'd', 's', 'a'}
hh
{'a': 'hh', 'b': 'HH', 'c': 2}
dict_keys(['a', 'b', 'c'])
dict_values(['hh', 'HH', 2])
三、数据类型转换
将x转换为一个整数 | |
将x转换到一个浮点数 | |
创建一个复数 | |
将对象 x 转换为字符串 | |
将对象 x 转换为表达式字符串 | |
用来计算在字符串中的有效Python表达式,并返回一个对象 | |
将序列 s 转换为一个元组 | |
将序列 s 转换为一个列表 | |
转换为可变集合 | |
创建一个字典。d 必须是一个 (key, value)元组序列。 | |
转换为不可变集合 | |
将一个整数转换为一个字符 | |
将一个字符转换为它的整数值 | |
将一个整数转换为一个十六进制字符串 | |
将一个整数转换为一个八进制字符串 |
复制的,要用到再看吧
四、推导式
(一)列表推导式
l1=['1','2','3']
l2=['1' for i in range(3) for l1[i] in l1 if i>1]
'''相当于
l2=[]
for i in range(3):
for l1[i] in l1:
if i > 1:
l2.append('1')
'''
print(l2+l1)
输出:
['1', '1', '1', '3', '3', '3']
没明白这里给l2赋值怎么把l1变了,好像是迭代没理解
(二)字典推导式
list=['a','b','c']
dic1={i:list[i] for i in range(3)}
dic2={list[i]:i for i in range(3)}
print(dic1,dic2) #发现两个字典不可以+不是列表,也不可以^不像集合
输出:
{0: 'a', 1: 'b', 2: 'c'} {'a': 0, 'b': 1, 'c': 2}
(三)集合推导式
比字典还简单些吧~
(四)元组推导式
x=(i for i in range(5))
print(x) #返回生成器对象
print(tuple(x)) #将生成器对象转换成元组
print(x,tuple(x)) #元素没了 <?>
输出:
<generator object <genexpr> at 0x04AF2878>
(0, 1, 2, 3, 4)
<generator object <genexpr> at 0x04AF2878> ()
那么就到此为止吧,再不睡就不礼貌了