目录
列表(list)字典(dict)布尔类型(bool)解压缩python与用户交互格式化输出的三种方式上节课回顾 花式赋值 链式赋值 a = b = c = 10 print(a, b, c) 交叉赋值 x = 10 y = 20 z = y y = x x = z print(x,y)列(序列)表(表格),一列(存储多个元素)表格描述一个人的
爱好:read/run/music
存不是目的,取才是目的
hobby = 'read run music'作用:存储多个(任意数据类型)元素
定义方式,[]内用逗号隔开多个元素(任意数据类型)
yuyang_hobby_list = ['bibi', 'zantong', 'jiao', 'niuyangge', [160, 150], 160]使用方法
索(搜索)引(引路)
yuyang_hobby_list = ['bibi', 'zantong', 'jiao', 'niuyangge', [160, 150], 160] # 0 1 2 3 4 5 # -4 -3 -2 -1 print(yuyang_hobby_list[1]) print(yuyang_hobby_list[5]) print(yuyang_hobby_list[-1]) print(yuyang_hobby_list[-2]) print(yuyang_hobby_list[-2][-1])字典是另一种可变容器模型,且可存储任意类型对象。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
user_info = ['nick', 'male', '19', ['oldboy', 'shanghai', 50]] print(user_info[1]) # 'male' print(user_info[0]) # 'nick' print(user_info[3][1]) # 'shanghai'作用:存储多个值,但是每个值都由描述信息,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
定义方式
在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]} print(id(user_info)) print(type(user_info)) print(user_info)使用方法
字典没有索引,而是依赖于key,通过[key]即可获取key对应的value值。
# 字典套列表 user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]} print(user_info['name']) print(user_info['company_info'][0])作用
用于判断条件结果
定义方式
True、False通常情况不会直接引用,需要使用逻辑运算得到结果。
使用方法
print(type(True)) print(True)<class 'bool'> True
所有数据类型都自带布尔值
除了 0/None/空(空字符/空列表/空字典)/False 之外
所有数据类型自带布尔值为True。
print(bool(1)) print(bool(0)) print(bool('')) print(bool([])) print(bool({})) print(bool(None))解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。解(解开)压缩(容器类数据类型):只针对2-3个元素容器类型的解压
lt = [1, 2, 3, 4, 5] print(lt[1],lt[2],lt[3]) s1,s2,s3,s4,s5 = lt print(s1,s2,s3,s4,s5)单个下划线表示这个东西不需要(约定俗成)
s1,_,_,_,_ = lt print(s1) print(_) # 可以打印,但是不要去打印 s1,*_,s5 = lt print(s1) print(_) # *_: *把后面的元素全部合成放到列表里去了为什么要交互
让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是会要求我们输入姓名、密码?是不是需要我们输入我们需要取款金额?这是不是就可以理解为一种交互。现在让我们了解下Python是怎么实现交互的。
如何交互
无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型。
1. 可以让程序暂停 2. 接收的永远是字符串
print('*' * 50) s = input('kkk') 让程序暂停# s = input('请输入你的身高:')python2的交互
python2当中的raw_input()和python3中的input()是一模一样的。
name = raw_input('请输入你的姓名:') pwd = raw_input('请输入你的密码:') print(type(name)) # 'str' print(type(pwd)) # 'str'Python3的交互相比较于Python2应该是更合理的,虽然Python3的交互在程序中使用是麻烦了,因为如果输入年龄还需要强制转换,但是如果用python2的input,用户需要知道自己输入的数据是什么数据类型的,对用户不友好,如此写出的程序可能明天就没人使用了。
python2和python3中input的区别 python2和python3多版本共存 python.exe复制粘贴一份,然后重命名为python2.exe/python3.exe 更换python解释器 file --> settings --> project --> project interpreter占位符
%s(针对所有数据类型)%d(仅仅针对数字类型)
name = 'nick' age = 19 print('my name is %s my age is %s' % (name, age)) age = 19 print('my age is %d' % age)fomat格式化
print('{} {}'.format(s1,s2)) # s1-->0 s2-->1 print('{1} {1}'.format(s1,s2))f-strinq格式化
相比较占位符的方式,python3.6版本新增了f-String格式化的方式,比较简单易懂,这是目前我用的最多的方式,推荐使用这种方式
大写的F也适用
name = "nick" age = 19 print(f"Hello, {name}. You are {age}.")Hello, nick. You are 19.
name = "nick" age = 19 print(F"Hello, {name}. You are {age}.")Hello, nick. You are 19.
转载于:https://www.cnblogs.com/gfhh/p/11497538.html