Python基础知识
- 字符串常用方法
- 查看字符串的支持 Dir(str)
- 查看帮助信息 Help(type(str))
- 常用字符串方法
Str=’ASFDasd’
查看字符串的索引是第几位:str.index(‘D’)
小写转换为大写 str.upper()
大写转化为小写 str.lower()
字符串是以A开头 str.startswitch(‘a’) true
字符串是以D结束 str.endswitch(‘b’) false
字符串转为列表 str.split(‘D’) [‘ASF’,’asd’]
字符串的替换:str.replace(被替换内容 替换后的新内容)
鼠标放到方法上按下ctrl键可查看方法使用说明
查找某个字符位置:str.find(‘F’) 2
- 字符串格式化
#字符串格式化
format字符串格式化-4种方式
name="yl"
age=18
addr='chengdu'
print 'my name is %s,age is %s,I come from %s'%(name,age,addr)
print'my name is {0},age is {1},I come from {2}'.format(name,age,addr)
print 'my name is {:s},age is {:d},I come from {:s}'.format(name,age,addr)
print'my name is {name},age is{age},I come from {addr}'.format(name=name,age=age,addr=addr)
- List(列表)常用方法应用
- 查看list方法支持
#list常用方法应用 list1=[1,2,3,4,6] print dir(list1)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- Heip帮助
- Insert:--把元素插入到第几位
list1=[1,2,3,4,6] # list1.insert(4,5) # print list1 #结果:【1.2.3.4.5.6】
- index-获取值的索引位置ex-获取值的索引位置
#print list1.index(3)
#---2
- #count--查看某个元素的list中出现的次数 list1=[1,2,3,4,6,3] print list1.count(3) 结果:2
#pop-默认删除最后一位,并且展示出来 list1=[1.2.3.4.6] print list1.pop()--6 print list1--[1,2,3,4]
- #remove-指定要删除的元素 list2=[1,2,3,4,6] list2.remove(4) print list2---[1,2,3,6]
- #reverse 逆序展示 list3=[2,5,1,'a',4] list3.reverse() #print list3---[4,'a',1,5,2]
- #sort 默认从小到大排序 list4=[2,5,1,'a',4] list4.sort() print list4---[1,2,4,5,'a'] 字母以ascii算
- #extend 合并 list6=[1,2,3,'a','d'] list7=[7,3,9] list6.extend(list7)--将list7内容合并到list6中 print list6--[1,2,3,'a','d',7,3,9]
- 元组(tuple)
- 不可变的 不可添加,不可删除
- 当元组只有一个元素时一定要加逗号
tuple1=(1) # print type(tuple1)---int tuple2=(1,) print type(tuple2)--tuple
- 元组中的方法
tuple4=(1,2,3,4,5,2) #count-元素在元组中出现的次数 # print tuple4.count(2)---2 #index-元素在元组中出现的索引 print tuple4.index(3)---2
- 元组是不可变的,但是元组内的元素的数据是可以改变的
tuple3=(1,2,3,['a','b','c'],{'name':'yl'}) #把元组中的列表由【‘a’,'b',‘c’】修改为【‘a’,'b',‘c’,‘d’】 tuple3[3].insert(3,'e') print tuple3--(1,2,3,['a','b','c','e'],{'name':'yl'}) #把元组中的字典name修改为weike tuple3[4]['name']='weike' print tuple3---(1,2,3,['a','b','c'],{'name':'weike'})
- 基于json格式的字符串类型:str json
- 字典dict
- 字典的常用方法
dict1={'name':'yl','age':18,'addr':'chengdu'} #获取到所有的key值 for key in dict1.keys() print key #结果:name age addr
#获取到所有的value值 for value in dict1.values(): print value 结果:yl 18 chengdu #对字典循环 for key,value in dict1.items(): print key,':',value 结果:age:18 name:yl addr:chengdu
#获取到字典中key对应的value值 print dict1['age']--18 print dict1.get('age')—18
#判断key是否存在 age=20 if dict1.has_key('age'): if age>16: print dict1['age'] else: print 'sorry,no age key'
#pop删除指定key对应的value值,并且打印出来 print dict1.pop('age') print dict1 #结果:{'name': 'yl', 'addr': 'chengdu'} #复制字典copy dict2=dict1.copy() print dict2
- 转换
- #字符串与列表之间的转换 str1='ADMINyadmin' #字符串转换为列表--split('以y拆分') print strsplit('y') 结果:['ADMIN', 'admin']—列表
- #列表转换为字符串
#‘以y区分’。join(str)
list=['ADMIN', 'admin']
print 'y'.join(list)
结果:ADMINyadmin - #list与元组之间的转换-强制类型转换
list1=[1,2,3,4,5]
#list转换为元组
tuple=tuple(list1)
print tuple,type(tuple)
结果:(1, 2, 3, 4, 5) <type 'tuple'> - #元组转换为list
tuple1=(1, 2, 3, 4, 5)
list=list(tuple1)
print list,type(list)
结果:[1, 2, 3, 4, 5] <type 'list'> - #字典与列表间转换
#list->list items()
dict1={'name':'yl','age':18,'addr':'chengdu'}
list1=dict1.items()
print list1,type(list1)
结果:[('age', 18), ('name', 'yl'), ('addr', 'chengdu')] <type 'list'> - #list-->dict
list1=[('age', 18), ('name', 'yl'), ('addr', 'chengdu')]
dict1=dict(enumerate(list1))
print dict1,type(dict1)
#结果:{0: ('age', 18), 1: ('name', 'yl'), 2: ('addr', 'chengdu')} <type 'dict'>
- #json在线:https://www.bsjson.com/jsonviewernew/
#接口数据-https://www.apiopen.top/weatherApi?city=%E8%A5%BF%E5%AE%89
dict1={"code":200,"msg":"成功!",
"data":{"yesterday":
{"date":"17日星期六","high":"高温 7℃","fx":"西风","low":"低温 1℃","fl":"\u003c![CDATA[\u003c3级]]\u003e","type":"阴"},"city":"西安","aqi":"54","forecast":[{"date":"18日星期天","high":"高温 10℃","fengli":"\u003c![CDATA[\u003c3级]]\u003e","low":"低温 0℃","fengxiang":"西风","type":"多云"},{"date":"19日星期一","high":"高温 11℃","fengli":"\u003c![CDATA[\u003c3级]]\u003e","low":"低温 0℃","fengxiang":"东南风","type":"多云"},{"date":"20日星期二","high":"高温 12℃","fengli":"\u003c![CDATA[\u003c3级]]\u003e","low":"低温 0℃","fengxiang":"西南风","type":"多云"},{"date":"21日星期三","high":"高温 10℃","fengli":"\u003c![CDATA[3-4级]]\u003e","low":"低温 0℃","fengxiang":"西风","type":"多云"},{"date":"22日星期四","high":"高温 12℃","fengli":"\u003c![CDATA[\u003c3级]]\u003e","low":"低温 0℃","fengxiang":"东北风","type":"晴"}],"ganmao":"天凉,昼夜温差较大,较易发生感冒,请适当增减衣服,体质较弱的朋友请注意适当防护。","wendu":"11"}}
#数据:基于json格式的字符串类型的数据
#一个标准的接口:1.业务状态码:code:200 2.消息:msg 3.数据:data
#获取到今天的温度
print dict1['data']['forecast'][0]['high'] - 断言:1.业务状态码 dict1[‘code’] 2.数据:dict1['data']['forecast'][0]['high'] 3.http 协议状态码的断言