自我总结03

1.花式赋值

链式赋值

# 定义变量就是拿来用的,
# 链式赋值

a = b = c = 10

print(a, b, c)

交叉赋值

# 交叉赋值

x = 10
y = 20

# x变成20,y变成10,不能让原来的10和20被垃圾回收机制回收,设一个中间变量
# z = y
# y = x
# x = z

# print(x,y)

x, y = y, x #python方法
print(x,y)

2.列表

什么是列表:列(序列)表(表格),一列(存储多个元素)表格.

描述一个人的爱好:read/run/music

存不是目的,取才是目的

1、作用:存储多个(任意数据类型)元素

2、定义方法

# 用[]存储,用逗号隔开多个元素(任意数据类型)
hobby_list = ['jiao', 'dapao', 'dsb', 'piao', ['666', '233']]

# hobby_list2 = ['jiao'] 
num = 0

s = ''  # 空字符串

lt = []  # 空列表

lis = []
#字符串在列表中,将执行字符中每一个字母输出
s_list = list('abcdefg')
print(s_list)  # ['a', 'b', 'c', 'd', 'e', 'f', 'g']

#数字不行
# num_list = list(18)
# print(num_list)

3、使用方法

#索引  索(搜索)引(引路)

索引取值

hobby_list1 = ['jiao', 'dapao', 'dsb', 'piao', ['666', '233']]#                  0        1       2       3           4
print(hobby_list1[4][0])  # ['666', '233'][0]  --> 666

索引切片

hobby_list1 = ['jiao', 'dapao', 'dsb', 'piao', ['666', '233']]
#                0        1       2       3         4
#                -5       -4     -3      -2        -1

print(hobby_list1[0:4])
print(hobby_list1[:4])  # 如果没写,默认0
print(hobby_list1[0:-1])  # 如果没写,默认为最后一个
print(hobby_list1[:])

3.字典

1、作用:存储多个值,但是每个值都由描述信息

#为什么要有字典 
#                   0          1   2                3
jzm_info_list=['jiangzhimeng',175,130,['sing','dance ','swmming']]
print(jzm_info_list[1])   #175

2、定义方式

#字典 {}内有多个键(一般为字符串,具体描述意义)值(具体的值,值为任意数据类型)对

#什么是键值对:key:value
jzm_info_dict={'name':'jiangzhimeng','height':175,'weight':140,'hobby_list':['sing','dance ','swmming']} #key必须是字符串
print(jzm_info_dict)

3、使用方法

#使用方法
#字典没有索引
print(jzm_info_dict['name'])
print(jzm_info_dict['hobby_list'][-1])#按key取值

jzm_info_dict['height']=jzm_info_dict['height']+1  #176  按key修改值
print(jzm_info_dict)
#del删除值 
jzm_info_dict['height']
print(jzm_info_dict)
students = [
    {'name': 'nick', 'age': 19},
    {'name': 'egon', 'age': 18}
]

# print(students[1]['name'],students[1]['age']) #过于复杂

# 代码的复用性,减少重复
info_dict = students[1]
print(info_dict['name'],info_dict['age'])

4.布尔类型

# 布尔bool --》 布尔是个人名
# 布尔值 --》 True 真 / False 假,布尔类型不直接打印,而是在特定条件下触发


# 条件成立为True,条件不成立为False
print(1 > 2) # False
print(2 > 1) # True
print(1 != 1) # False


# 所有数据类型都自带布尔值
print(1 > 2) # False
print(bool(1>2)) # False


# 所有数据类型自带布尔值,除了 0/None/空(空字符/空列表/空字典)/False 之外所有数据类型自带布尔值为True。
print(bool(1)) # True
print(bool(0)) # False
print(bool('')) # False
print(bool([])) # False
print(bool({})) # False
print(bool(None)) # False

5.解压缩

解(解开)压缩(容器类数据类型)

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)
# 下划线_ 代替不要的

# 单个下划线表示这个东西不需要(约定俗成)
lt=[1,2,3,4,5]
s1,_,_,_,_ = lt
print(s1) # 1
# print(_)  # 可以打印,但是不要去打印
# *_  代替好几个下划线_ 方便

# *_  *把后面的元素全部合成放到列表里去了
lt=[1,2,3,4,5]
s1,*_,s5 = lt
print(s1) # 1
# print(_) # [2,3,4]
# 10,20,30 = (10,20,30) = [10,20,30]
x, y, z = 10, 20, 30 #元组 #看成一个列表,用到了解压缩原理
# x, y, z = [10,20,30]
print(x, y, z)

6.python与用户交互

print('*' * 50)
s = input('请输入你的身高:')  # 1. 让程序暂停  # 2. 接收的永远是字符串
print(s, type(s))  # s接收了用户输入的内容
print(int(s) + 1)
print('*' * 50)
# python2和python3中input的区别

# python2和python3多版本共存

# python.exe复制粘贴一份,然后重命名为python2.exe/python3.exe

# 更换python解释器

# file --> settings --> project --> project interpreter
# python2中input和raw_input的区别

#input()
#用户必须得知道python有哪些数据类型才能使用你这个程序,python2的input就被淘汰
print '*'*50
s = input('please enter your name: ')  # 输入什么类型就是什么类型
print s,type(s)
print '*'*50


# raw_input()
print '*' * 50
s = raw_input('please enter your name: ') # 和python3的input一模一样
print s, type(s)
print '*' * 50

7.格式化输出的三种方式

第一种(主流)

#f-string格式化
# f让{}变得有特殊意义,让{}内的普通字符变成了变量名
s1 = 'nick '
s2 = 'handsome'
print(f'{s1}{s2}') # nick handsome

第二种(了解)

# %占位符  python3.0 兴许还看得到

s1 = 'nick'
s2 = 'handsome'
print('%s %s'%(s1,s2))

第三种(了解)

#format  python3.3  --> 一点毛用都么用

s1 = 'nick'
s2 = 'handsome'
print('{} {}'.format(s1,s2)) # s1-->0 s2-->1

# print('{1} {1}'.format(s1,s2)) # handsome handsome
# 仅作了解

x = 10
print(f'{x:.5f}')  #保留小数个数

s = 'nick'
print(f'{s:*<100}{s:^10}')  # ^表示居中 # <居左  # >居右
posted @ 2019-09-10 20:06  jzm1201  阅读(101)  评论(0编辑  收藏  举报