python——数据类型,与用户交互,格式化输出,运算符

一.基本数据类型

基本数据类型之列表

  • 本质
    可以存储多个数据,并且可以从中获取多个数据。
  • 书写格式
    用中括号括起来,括号内可存多个数据,其中数据值和数据类型可以是任何数据类型。
    eg:
list = [{"name": '李智强'},18,[21,22,23]]
  • 关键字:list
  • 索引取值
    当我们在列表中去取某一个或者多个值时,注意数字是从“0”开始
    当我们从列表中只取一个数值的时候:
list = [111,222,333,444,555]
print(list[1])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
222

Process finished with exit code 0

当我们从列表中只取两个及以上数值的时候:

list = [111,222,333,444,555]
print(list[1],list[3])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
222 444

Process finished with exit code 0

当一组列表出现了多种数据类型的时候:

方法一:多步骤
list = [11, 11.11, 'jason', [11, 22, 33]]
list1 = list[3]
print(list1[1])
方法二:一步到位
list = [11, 11.11, 'jason', [11, 22, 33]]
print(list[3][1])
输出的结果都是:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
22

Process finished with exit code 0

基本数据类型之字典

  • 本质
    可以存储多个数据,并且可以从中获取多个数据,并且对于数据有一定的解释。
  • 书写格式
    用大“{}”括号括起来,括号内可存多个数据,其中数据值和数据类型是K:V对应关系。
    K:对于V的描述信息,一般为字符串。
    V:真实的数据值,可以是任何数据类型。
    eg:
list_dict = {"name":"李智强","age":18,"job":"程序员"}
  • 关键字:dict
  • 取值
    eg:取’age’的值
方法一:多步骤完成
data = {'name': 'jason','others': [111,222,{'a1': '嘿嘿','a2': '哈哈','a3': [123,{'name': 'jason1','age': 18}]}]}
#取大字典中的值
print(data['others'])
#再获取其中列表的值
l1 = data['others']
print(l1[2])
#获取小字典的值
l2 = l1[2]
print(l2['a3'])
#获取小字典中小小字典中的值
l3 = l2['a3']
print(l3[1])
#获取小小字典中'age'的值
l4 = l3[1]
print(l4['age'])
方法二:一步到位
data = {'name': 'jason','others': [111,222,{'a1': '嘿嘿','a2': '哈哈','a3': [123,{'name': 'jason1','age': 18}]}]}
print(data['others'][2]['a3'][1]['age'])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
18

Process finished with exit code 0

基本数据类型之布尔值

  • 本质
    用来对事物进行判断,是否正确,是否合理(总共就两种)
  • 两种基本使用
  1. is_right = True #真正,正确,是,对
  2. is_delect = False #否,错误

注:不同的语言环境也有不同的使用方式。

  • 介绍
    其实布尔值看似挺简单的,简单。但是布尔值运用最为频繁。
    布尔值一般是is开头 #君子协议(不易改变)

  • 布尔值类型转换
    布尔值为Flase的数据有:
    0,none,空字符串,空列表,空字典 …
    其他的数据都是True类型

  • 关键字:is

基本数据类型之元组

  • 本质
    其实元组与列表挺像的,可以存储多个数据,并且可以从中获取多个数据。但是元组不能更改数据(只能看不能改)!!!
  • 作用
    用于一些不更改的数据存储
  • 基本使用
t1 =11,22,33#可以是任何数据类型
  • 关键字:tuple
  • 与列表对比
    列表中存储的数据可以更改,但元组能数据不可更改(“只能看不能改”)
列表:
t1 = [11,22,33]
t2 = 12
t1[0] = t2
print(t1)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
[12, 22, 33]

Process finished with exit code 0
元组:
t1 =11,22,33)
t2 = 12
t1[0] = t2
print(t1)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 28, in <module>
    t1[0] = t2
TypeError: 'tuple' object does not support item assignment

Process finished with exit code 1

基本数据类型之集合

  • 本质
    集合只用于去重and关系运算。
    去重:自动去除重复的数据。
    关系运算:判断两个集合之间数据的关系。
  • 基本使用
s1 = {1,2,3,4,5,6}
  • 关键字:set
  • 如何创建一个空集合?
d1 = {}
s1 = {}
print(type(d1))
print(type(s1))  # 当括号里没有数据时数据类型默认为字典
ss = set()
print(type(ss))

与用户交互

  • 输入
    计算机接受信息
    关键字:input
    eg:
input('请输入用户名:')
  • 输出
    计算机向外界传输信息
    关键字:print
name = input('请输入用户名:')
print(name)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
请输入用户名:李智强
李智强

Process finished with exit code 0

name1 = 'jason'
name2 = 'tony'
print(name1,name2)

格式化输出

eg:

方法一:
info = "name:%s,age:%s"
print(info %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
name:李智强,age:18

Process finished with exit code 0
方法二:
print("name:%s,age:%s" %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
name:李智强,age:18

Process finished with exit code 0

占位符:%s和%d
区别:
%s:支持所有数据类型的替换(运用的最多)
%d:只允许数字占位
eg:

info = "name:%d,age:%d"
print(info %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 51, in <module>
    print(info %("李智强",18))
TypeError: %d format: a number is required, not str

Process finished with exit code 1

当需要占位的时数字时

info = "weight:%d,age:%d"
print(info %(71.1,18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
weight:71,age:18

Process finished with exit code 0

基本运算符

  • 基础

加:+
减:-
乘:*
除:/
整除://
取模(余数):%
幂指数:**(次方)

  • 变种情况

x = 10
x = x + 100 >>> x +=100
x = x - 5 >>> x -= 5
x = x * 5 >>> x *= 5
x = x / 2 >>> x /= 2
注:初学者不建议使用后面的一种方法(多敲代码)

  • 比较运算符

== 等于
!= 不等于

多种赋值符号

  • 解压赋值

赋值符号的左边一定要有至少两个及以上的名字
并且赋值符号左边的名字一定要等于右边数值的个数(多了和少了都不行)

eg:

当赋值符号两边不等时
name1,name2 = 'jason'
print(name1,name2)
输出结果:(报错)
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 53, in <module>
    name1,name2 = 'jason'
ValueError: too many values to unpack (expected 2)

Process finished with exit code 1

当赋值符号两边个数相等时
name1,name2 = 'jason','tony'
print(name1,name2)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
jason tony

Process finished with exit code 0

eg2:

name_list = {'jason','tony','tom'}
a,b = name_list
print(a,b)
输出结果:(报错)
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 54, in <module>
    a,b = name_list
ValueError: too many values to unpack (expected 2)

Process finished with exit code 1
  • 特殊情况
    eg:
l1 = [11,22,33,44,55,66,77,88,99]
a,b,*c = l1
print(a,b)  # 11 22
print(c)  # [33,44,55,66,77,88,99]
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
11 22

Process finished with exit code 0
  • 链式赋值
    x = y = z =10
  • 交叉赋值
m = 10
n = 20
m,n = n,m
print(n)  # 10
print(m)  # 20
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
10
20

Process finished with exit code 0

今日作业:

  • 作业一
title = "%s info of %s %s"
print(title %('-'*10,"李智强",'-'*10))
info = "Name:%s\nAge:%s\nGender:%s\nJob:%s"
print(info %("李智强",21,"男","程序员"))
print('-'*15,'end','-'*15)

在这里插入图片描述

  • 作业二
    当在python2解释器其中运用输入代码input时会出现以下报错:
SyntaxError: Non-ASCII character '\xe8' in file E:/pythonProject/Day03��2.7��������/2.7������.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

通过百度搜索,我们应该在首行代码加:

 #encoding=utf-8

输入:
在python2中当我们用input作为输出指令时:

name = input("请输入用户名:")
print name

当我们在输入框中输入“李智强”时,会报出以下错误:

Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3��ҵ/01 python2.py", line 2, in <module>
    name = input("请输入用户名:")
  File "<string>", line 1
    李智强
    ^
SyntaxError: invalid syntax

这时我们应该采用raw_input作为输入指令,而在python3中我们使用input作为输入指令。

输出:
在python2和python3未发现明显区别

name = "李智强"
print name
print(name)

结果:
D:\Python27\python2.exe "D:/pythonProject/pythonProject_day3作业/01 python2.py"
李智强
李智强

Process finished with exit code 0
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值