python基础--数据类型&循环
1、双引号单引号:通常一样,变量里面有双引号外面用单引号,反之通用,如果变量里面单双引号都有,用三引号‘‘‘变量‘‘‘
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> print(‘Ru\noob‘) Ru oob >>> print(r‘Ru\noob‘) Ru \n oob
2、数据类型
1)内置的 type() 函数可以用来查询变量所指的对象类型。
input:接受到的全部是str类型,查看类型var 的字符类型是:type(var)
类型转换:var = float (var)
2)Python3 中有六个标准的数据类型:
- ①Number(数字): int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
- ②String(字符串):1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。2、字符串可以用+运算符连接在一起,用*运算符重复。3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。4、Python中的字符串不能改变。
- ③List(列表):list = [ ‘abcd‘, 786 , 2.23, ‘runoob‘, 70.2 ]
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
stu=[‘zhangyi‘,‘zhanger‘,‘zhangsan‘]stu2=[]#新增stu.append(‘zhangsi‘)stu.insert(0,‘zhangwu‘)#修改stu[0]=(‘zhangxiaowu‘)# #删除# stu.pop(0)# del stu[0]# stu.clear()清除#stu.remove(‘zhangyi‘)#删除元素#取值方式#print(stu[0],stu[1])#其他用法# list1=[1,5,77,78,23,12]# print(list1.count(2))#计数,出现的次数# print(list1.index(77))#角标# list1.sort()#升序# print(list1)# list1.sort(reverse=True)#降序# print(list1)# list2=list1.copy()#拷贝# print(list2)# list1.extend(list2)#合并list1和list2# print(list1)# list1.reverse()#翻转# print(list1)
- ④Tuple(元组):元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。 tuple = ( ‘abcd‘, 786 , 2.23, ‘runoob‘, 70.2 )
- ⑤Set(集合):student = {‘Tom‘, ‘Jim‘, ‘Mary‘, ‘Tom‘, ‘Jack‘, ‘Rose‘}
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典 - ⑥Dictionary(字典):tinydict = {‘name‘: ‘runoob‘,‘code‘:1, ‘site‘: ‘www.runoob.com‘}
- stu_info={
‘name‘:‘xiaoyi‘,‘sex‘:‘man‘,‘phone‘:‘13123452345‘}stu_info[‘age‘]=18#新增方式1,可以是存在的key,即为修改print(stu_info)stu_info.setdefault(‘qq‘,‘123123‘)#新增方式2,不处理已经存在的keyprint(stu_info)stu_info.pop(‘age‘)#删除方式1,不可以删除不存在的keyprint(stu_info)del stu_info[‘qq‘]#删除方式2,不可以删除不存在的keyprint(stu_info)#取值print(stu_info.get(‘qq‘))#如果不存在则为None,更好用print(stu_info[‘name‘])#如果不存在则报错KeyErrorprint(stu_info.get(‘add‘,‘北京‘))#get可以取默认值,如果字典里面没有这个key,取后面的值,如果有取字典的值print(stu_info.get(‘sex‘,‘woman‘))stu_info1=stu_info.copy()#复制print(stu_info1)print(stu_info.keys())#取所有keyprint(stu_info.values())#取所有的valueprint(stu_info.items())#将字典变为二维数组stu_info.update(name=‘wo‘,money=5000)#新增或修改一个多个值print(stu_info)stu_info.clear()#清空print(stu_info)
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
3、条件判断:if else; if elif else;
4、循环、迭代、遍历:
for、while、dowhile
whlie 需要计数器,
continue用法:结束本次循环进行下一次循环
break:跳出循环
pass:什么也不处理,循环继续
while else:while正常结束后执行else,else非必须写,非正常结束属于break结束的循环,不执行else的方法
for循环不需要计数器,会自动加一
for else:正常结束后执行else,else非必须写,非正常结束属于break结束的循环,不执行else的方法
5、字符串格式化:占位符%s,d,f
d整数,s的话什么类型的数据都行
# 欢迎**,今天的日期是***
name=‘xiaozhang‘
time=‘2020-04-08‘
a=98.12345
s= ‘欢迎‘+ name+‘,今天的日期是:‘+time
s1=‘欢迎 %s ,今天的日期是:%s‘%(name,time)
s1=‘欢迎 %s ,你的分数是:%.2s‘%(name,a)98.12
s1=‘欢迎 %s ,你的分数是:%.5f‘%(name,a) 98.12
s5=‘欢迎{name} ,今天的日期是{time},你的分数是:{a}‘.format(name=name,time=time,a=a)
s4=‘年龄是{age},姓名是{name}‘
s4=s4.format(age=age,name=name)
三种方式:1、s,2、s1,3、format:s4、s5
6、将两个list合成一个字典:
usernames = [‘xiaohei‘, ‘xiaobai‘, ‘xiaoming‘]passwords = [‘123456‘, ‘11111‘, ‘1‘]# 将两个list转化为数组user_info = {‘xiaohei‘: ‘123456‘, ‘xiaobai‘: ‘11111‘, ‘xiaoming‘: ‘1‘, ‘lcl‘: ‘123‘}#方法一:循环方式index1=len(usernames)# index2=len(passwords)user_info={}for i in range(index1): key = usernames[i] value= passwords[i] user_info.setdefault(key,value)print(user_info)#方法二:zip方法user_info=dict(zip(usernames,passwords))print(user_info)