1.安装python的ied pycharm(专业版勿汉化)
2.运算符
+,-,*,/ , **, //, %
判断某个东西是否在某个东西里面包含
in
not in
结果是值
算术运算
a=10*10
赋值运算
a=a+! a+=1
结果是布尔值
比较运算
a=1>5
逻辑运算
a=1>6 or 1==1
a=1>6 and 1==1
成员运算
a="小" in "小缠绵"
a="小" not in "小缠绵"
3.基本数据类型
数字 int
-int
将字符串转换为数字a="123" print(type(a),a) #123 b=int(a) print(type(b),b) # 123 num="0011" v=int(num,base=2) print(v) #以二进制的形式 v=3
- bit_length
当前数字的二进制,至少用n位表示 r=age.bit.length()
age=2 r=age.bit_lenght() print(r) #2
字符串 str
#首字母大写
test="alex"v=test.capitalize() print(v)
#所有的变小写 casefold很多的未知的都可以改变
lower只能变化熟知的v1=test.casefold()print(v1)v2=test.lower()print(v2)
#设置宽度,并将内容居中
20 代指总长度,*空白位置填充,一个字符,可有可无v3=test.center(20,"*")
#字符串中寻找子序列出现的次数,两个参数是起始位置和终止位置,可有可无
v4=test.count('l',1,4)
#判断以什么结尾/开头,两个参数是起始和终止,可有可无,输出结果为True or False
v5=test.endswith('ex',1,4)v6=test.startswith('a')
#从开始往后找,找到第一个后,获取其位置
v7=test.find('ex')
#格式化,将一个字符串种的占位符替换为指定的值
test='I am {name},age {a}'print(test)v=test.format(name='Christian',a=26)print(v)
test1='I am {0},age {1}'print(test1)v1=test1.format('C',19)print(v1)
#字符串中是否只包含 字母和数字 结果为Ture False
v=test.isalpha()
#当前输入是否是数字
#只判断数字
test="二" v1=test.isdecimal()
#可以含有特殊字符,比如②
v2=test.isdigit()
#可以含有汉字
v3=test.isnumeric()
#判断是否存在不可显示的转义字符,若没有,输出ture,否则false
test="ssfsgghh\t" v=test.isprintable() print(v) #输出False
#判断是否全是空格,是输出Ture,否则False
test=' ' v=test.isspace() print(v) #输出 Ture
#判断是否是标题(标题每个单词的首字母都是大写)
#转换为标题
test='dafgg gsgh hfsfs'
v1=test.istitle() print(v1) #输出V1为False v2=test.title() print(v2) #输出v2为Dafgg Gsgh Hfsfs v3=v2.istitle() print(v3) #输出v3为 Ture
#将字符串中的每一个元素按照指定分隔符进行拼接
test="你是风儿我是沙" print(test) #你是风儿我是沙 t=' ' v1=t.join(test) v2='_'.join(test) print(v1) #你 是 风 儿 我 是 沙 print(v2) #你_是_风_儿_我_是_沙
#设置内容宽度,并将内容居左,居中,居右显示
#将内容居中
test="alxe" v=test.center(20,"中") #20代指总长度,空白未知填充一个字符,可有可无 print(v) #中中中中中中中中alxe中中中中中中中中
#将内容居左
test="alex" v1=test.ljust(20,"中") print(v1) #alex中中中中中中中中中中中中中中中中
#内容居右显示
test="alex"v2=test.rjust(20,"中")print(v2) #中中中中中中中中中中中中中中中中alex
#大小写转换
#判断是否全部为大写/小写
test="Christian" v1=test.islower() print(v1) #False v2=test.lower() print(v2) #christian v3=v2.islower() print(v3) #ture
#移除指定字符串
#移除空白,/t,/n#lstrip()#rstrip()
test="Christian" v=test.strip('an') print(v) # Christi
#大小写转换
test="Christian" v=test.swapcase() print(v) #cHRISTIAN
=============================================================================================================
黑魔法
#索引方式获取字符串中的某一个字符
#获取字符串由多少个字符组成
test='ALEX' v=test[0:3] #区间0<=X<3 v1=test[0] #第一个字符 print(v) #ALE print(v1) #A
#获取字符串由多少个字符组成
test="Christian"v=len(test)print(v) #9
#一个一个输出字符串的内容
idex=0test="我要好好学习Python"while idex < len(test): v=test[idex] print(v) idex+=1print('end')
for循环
for 变量名 in 字符串:test="我要好好学习Python"for idex in test: print(idex)
#替换
replace(self, old, new, count=None)
字符串一旦创建,不可修改
一旦修改或者拼接,都会造成重新生成字符串
列表 list
中括号括起来
,分割每个元素 列表中的元素可以使数字,字符串,列表,bool值……所有的都能放进去 “集合”,内部可以放置任何东西
索引取值,结果是元素
切片,切片结果是列表
列表元素可以被修改
#修改
索引的方式进行修改li=[234,222,'assx',['sssa','sss',[1]]]li[1]='age' print(li)li=[234, 'age', 'assx', ['sssa', 'sss', [1]]]
切片的方式进行修改
li[1:3]=[2,'a'] #输出结果: li=[234, 2, 'a', ['sssa', 'sss', [1]]]
删除
索引方式
li=[234,222,'assx',['sssa','sss',[1]]]del li[1]print(li) #删除列表中的222
切片方式同样适用
li=[234,222,'assx',['sssa','sss',[1]]]del li[0,2]print(li) #切片方式删除列表中的234,和222
在原来的值后面追加
list.append(object) 向列表中添加一个对象object
使用append的时候,是将new_media看作一个对象,整体打包添加到music_media对象中。
music_media = ['compact disc', '8-track tape', 'long playing record']new_media = ['DVD Audio disc', 'Super Audio CD']music_media.append(new_media)print music_media>>>['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']]
扩展原来的列表,参数为可迭代对象,内部执行for循环
list.extend(sequence) 把一个序列seq的内容添加到列表中
使用extend的时候,是将new_media看作一个序列,将这个序列和music_media序列合并,并放在其后面。
music_media = ['compact disc', '8-track tape', 'long playing record']new_media = ['DVD Audio disc', 'Super Audio CD']music_media.extend(new_media)print music_media>>>['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD']
清空列表
li.clear()
li = [1,2,3]li.clear()print(li)
拷贝,浅拷贝
v=li.copy()li = [1,2,3]v=li.copy()print(v)
计算元素在列表中出现的次数
.count(参数)
li=[1,2,3,4,1]v=li.count(1)print(v)
根据值获取当前值索引位置(左边优先)
li=[234,222,'assx',['sssa','sss',[1]]] v=li.index(222) print(v) >>>>1
在指定定索引位置插入元素
def insert(self, index, p_object)
li=[234,222,'assx',['sssa','sss',[1]]]li.insert(0,"chen")print(li)>>>>>>['chen', 234, 222, 'assx', ['sssa', 'sss', [1]]]
pop删除某个值(指定索引,默认是最后一个),并获取当前的值
def pop(self, index=None)
li=[234,222,'assx',['sssa','sss',[1]]]v=li.pop(0)print(li)print(v)>>>>>[222, 'assx', ['sssa', 'sss', [1]]]>>>>>234
删除列表中的指定值,左边优先
def remove(self, value)
li=[234,222,'assx',['sssa','sss',[1]]]li.remove(234)print(li)>>>>>[222, 'assx', ['sssa', 'sss', [1]]]
将当前列表进行反转
def reverse(self)
li=[234,222,'assx',['sssa','sss',[1]]]li.reverse()print(li)>>>>>[['sssa', 'sss', [1]], 'assx', 222, 234]
排序
def sort(self, key=None, reverse=False)
默认从小到大
li=[234,222,22345]li.sort(reverse=1)print(li)>>>>>>[22345, 234, 222]
列表转换成字符串
需要自己写for循环一个一个处理(既有数字又有字符串)
li=[11,22,33,'123','Alex']s=' 'for item in li: s=s+str(item) print(s)>>>>>112233123Alex
如果只有字符串,用join
li=["123",'alex']v=''.join(li)print(v) >>>>>>123alex
元祖 tuple
元素不可被修改,不能被增加或者删除(一级元素不可被修改)
tu=(111,222,333)
count 获取指定元素在元组中出现的位置
index 获取指定元素在元组中出现的次数
tu=(111,"alex","Christian",111,34)v1=tu.count(111)v2=tu.index(111)print(v1,v2)>>>>2 ,0
字典 dict
字典的value可以使任意值
列表,字典不能作为字典的key
字典是无序的
字典支持del
字典for循环
#输出字典的Key值
info={"K1":"V1", "K2":"V2"} for item in info.keys(): print(item) >>>>>K1 K2
#输出字典的value
info={"K1":"V1", "K2":"V2"} for item in info.keys(): print(item)
>>>>>>V1 V2
手动同时输出字典
info={"K1":"V1", "K2":"V2"} for item in info.keys(): print(item,info[item]) >>>>>>K1 V1 K2 V2
自动循环输出键值对
info = {"K1": "V1","K2": "V2"}for k,v in info.items(): print(k,v)>>>>K1 V1 K2 V2
根据序列,创建字典,并指定统一的值
v=dict.fromkeys(['k1','k2','k3'],123)print(v)>>>>>{'k1': 123, 'k2': 123, 'k3': 123}
根据key获取值,key不存在时,可以指定默认值(none)
info = {"K1": "V1","K2": "V2"}v=info.get('K1')print(v)>>>>>V1
设置值
已存在,不设置,获取当前key对应的值 不存在,设置,获取当前key对应的值
info = {"K1": "V1","K2": "V2"}V=info.setdefault('K1')info.setdefault('k3',11)print(V)print(info)>>>>>V1{'K1': 'V1', 'K2': 'V2', 'k3': 11}
更新
info = {"K1": "V1","K2": "V2"}info.update({'K1':11})#info.update(K1=11)print(info)>>>>>>{'K1': 11, 'K2': 'V2'}
布尔值 bool