python全栈学习day03数据类型简述、基本运算符、与用户交互

#1.基本数据类型
什么是数据类型?

变量值即我们存放的数据,数据类型就是变量值的类型

变量值为什么要区分类型?

因为变量值是用来记录现实世界中事物的特征,针对不同的特征就应该用不同类型的值去标识

如何应用数据类型?

  • 一.数字类型
  • 1.整型int:年龄\身份证号\电话号码\等级
age = 18   #age = int(18)
print(id(age),type(age),age)

  • 2.浮点型float:薪资\身高\体重
salary = 3.1  #salary = float(3.1)
print(id(salary),type(salary),salary)
  • 二.字符串类型str:名字\家庭住址\单个爱好\性别等等描述性质的特征

定义:在引号(单引号、双引号、三引号)内包含一串字符

name1 = 'wood'
name2 = "wood"
name3 = """wood"""
print(type(name1))
msg = 'my name is name1'
  • 字符串拼接(只能在字符串之间进行,且只能相加或相乘)
name='wood'
age=20
name+age #相加其实就是简单拼接
'wood20'
name*5
'woodwoodwoodwoodwood'
#注意1:字符串相加的效率不高
#字符串1+字符串3,并不会在字符串1的基础上加字符串2,
#而是申请一个全新的内存空间存入字符串1和字符串3,
#相当字符串1与字符串3的空间被复制了一次。
#注意2:只能字符串加字符串,不能字符串加其他类型
  • 三 列表list: 记录多个值,比如人的多个爱好,一个班级多个学生的性别
#在[]内用逗号分隔,可以存放n个任意类型的值
定义:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',]) 
用于标识:存储多个值的情况,比如一个人有多个爱好
  • 列表嵌套、取值
#存放多个学生的信息:姓名,年龄,爱好
students_info=[['wood',20,['play','eat']],['egon',18,['music','sleep']]]
print(tudents_info[0][2][0])  #取出第一个学生的第一个爱好
'play'
  • 四 字典dict: 记录多个key:value值
    引子

为何还要用字典?
存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下

students=['egon','lxx','yxx']

定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个学生的姓名,可以用

print(student[0])

但这是基于我们已经知道在第1个位置存放的是姓名的前提下,我们才知道索引0对应的是年龄

于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典

#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
#定义:
info={'name':'egon','age':18,'sex':18} 
#用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
        'name':'Oldboy',
        'type':'education',
        'emp_num':40,
    }
}
print(info['company_info']['name']) #取公司名


students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
print(students[1]['hobbies'][1]) #取第二个学生的第二个爱好
  • 五.布尔类型bool:True/False,用来标识条件是否成立

计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识

age=18

print(age > 30)   #不成立就是False,即假
print(age < 30)   #成立就是True, 即真

#都返回False
print(bool(0))
print(bool(None))
print(bool(''))
print(bool([]))
print(bool({}))              

if None:           #False则不执行
   print('条件成立了11确实大于10的')

布尔类型的重点知识!!!:
所有类型的值都自带布尔值: 当数据类型的值为0,None,空时,布尔值为False,除此以外都为True

#2.与用户交互
什么是用户交互?

程序等待用户输出一些数据,然后程序执行完毕后为用户反馈信息

为什么程序要与用户交互?

为了让计算机像人一样与用户交互
比如ATM机(计算机),让ATM机代替人跟用户交互来取代人力,这我们就需要编写程序,通过运行程序来指挥计算机,这就要求我们的程序语言中能够有一种能与用户交互,接受用户输入数据的机制

如何与用户交互

input
'''
在python3中,
input会将用户输入的任何内容都存成字符串类型
name = input('请输入你的账号名:')   name = '123'
print(name,type(name))

----------

在python2中:
raw_input会将用户输入的任何内容都存成字符串类型
raw_input:等于python3的input
'''

注释
随着学习的深入,用不了多久,你就可以写复杂的上千甚至上万行的代码啦,有些代码你花了很久写出来,过了些天再回去看,发现竟然看不懂了,这太正常了。 另外,你以后在工作中会发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这产会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。

代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

代码注释的原则:
#1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
#2. 注释可以用中文或英文,但不要用拼音

#3.格式化输出

name = input('please input your name:')
age = inout('please input your age:')
#print('my name is',name,'my age is',age)
print('my name is %s,my age is %s' %(name,age))   #格式化输出 %s相当于占位符,接收任意类型
print('my name is %s my age is %d' %('egon',18))  #  %d只能接收数字类型(%s和%d的顺序和后面()里的顺序是一一对应的)

#4.基本运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

算法运算
这里写图片描述

print(10 + 1.1) #加,减,乘(加,运算结果为11.1)
print(10 / 3) # 有整数部分有余数部分
print(10 // 3) # 去掉小数部分 结果为3
print(10 % 3) #取余 结果为1
print(2 ** 3)  #幂运算  结果为8

比较运算

这里写图片描述

#比较运算只能在同类型之间进行,其中int与float同属于数字类型
print(10 > 3.1)  #返回Turn 
print(10 < 3.1)  #返回False
print(10 >= 10)


#了解   (字符串的比较、列表的比较、字典的比较等)
msg1='abcdefg'
msg2='abce'
print(msg2 > msg1)   #返回Turn

list1=['a',1,'b']
list2=['a',2]
print(list1 > list2)   #返回False
list2=['a','b']
list2=['c','b']
print(list2 > list1)   #返回Turn

赋值运算

这里写图片描述

#3.1 增量赋值
age=18
age+=1 # age=age+1
print(age)   #返回结果为19

x=10
x%=3  # x=x%3
print(x)    #返回结果为1

#3.2 链式赋值
x=10
y=x
print(x is y)  #返回Turn
a=b=c=d=e=111
print(a is b is c is d is e)  #返回Turn

#3.3 交叉赋值
x=10
y=20

#temp=x
#x=y
#y=temp

x,y=y,x  #和上面注释里一样的效果
print(x,y)  #返回20 10

#3.4 解压赋值
nums=[1,2,3,4,5]
a=nums[0]
b=nums[1]
c=nums[2]
d=nums[3]
e=nums[4]
a,b,c,d,e=nums
print(a,b,c,d,e)  #返回1 2 3 4 5

a,b,c,d,e=nums   #解压赋值
print(a,b,c,d,e)  #返回1 2 3 4 5

a,b,c,_,_=nums   #如果只想取出a,b,c
print(a,b,c)    #返回1 2 3

a,b,*_=nums   #如果列表里的数据非常多,可以用*_代替此处所以下划线
print(a,b)    #返回1 2


逻辑运算:and,or,not

这里写图片描述

# and:连接左右两个条件,两个条件必须都成立,最后结果才为True,一旦左边条件为假则最终结果就为假,没有必要再去计算右面条件的值
# print(1 > 2 and 3 > 1)
# or:连接左右两个条件,两个条件但凡有一个成立,结果就为True,一旦左边条件为True则最终结果就为True,没有必要再去计算右面条件的值,
#                                                      一旦左边条件为False,还需要去计算右面条件的值,如果为True,最终也True
# not:取反
print(not 1 > 2 or 3 > 1)
print(not 1 > 2)
print((True and (False or True)) or (False and True))  #可以用括号来表示优先级,比较清楚

身份运算:is与==

  • is比较的是id
  • 而==比较的是值

#5.流程控制if判断

#作业
明日默写:早8:20-8:45

1、简述cpu、内存、硬盘的作用

cpu:计算机的控制中枢;内存:相当于人的记忆;硬盘:相当于记东西的本子 cpu控制硬件,运算 翻译 执行 内存 存取速度快
硬盘 存取速度慢但可以永久保存数据

2、简述什么是操作系统以及它有何作用

操作系统是用来协调、管理、控制硬件资源与软件资源的一种控制程序
作用:1.把复杂的硬件操作封装成一个个简单的功能给用户和应用程序使用(文件)
2.把多个应用程序对多个硬件的竞争变得有序

3、python test.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?

1.从硬盘中把python解释器加载到内存,cpu从内存中读取-翻译-执行
2.python解释器把test.py文件从硬盘中加载到内存
3.python解释器在解释-执行内存中的test.py文件(这个阶段识别文件内的python语法)

4、简述python的内存管理

垃圾回收机制
python语言中当一个值得引用技术为0(值没有被关联变量名)时,这个值(数据)会被当作垃圾清理

5、基本数据类型的定义与使用

数据类型:变量值是我们存放的数据,数据类型就是变量值的类型

  • 1.数字类型(整型int:记录年龄、号码和浮点型folat:记录薪资、身高)
  • 2.字符串类型str:名字用引号(单引双引三引)内含包一串字符
  • 3.列表list:记录多个值,在[]内用逗号隔开
  • 4.字典dict:记录多个key:value值。可以硬性规定值得映射关系(可以给值由一个描述性的解释,便于找到每个值)

今日作业:

1、整理当天所学内容,编写博客,明天早晨检查

2、python test.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?

1.将python解释器由硬盘加载到内存,翻译执行。
2.python解释器把test.py文件由硬盘加载到内存。
3.python解释器翻译并执行test.py文件,此阶段识别文件内的python语法。

3、将下述两个变量的值交换
s1=‘alex’
s2=‘SB’

s1='alex'
s2='SB'
s1,s2 = s2,s1
print(s1,s2)

4、判断下述结果

msg1='alex say my name is alex,my age is 73,my sex is female'
msg2='alex say my name is alex,my age is 73,my sex is female'
msg1 is msg2        # 返回False
msg1 == msg2        # 返回Turn

5、什么是常量?在python中如何定义常量
常量是指不变的状态(不变的量),在python中没有明确的语法表示常量
常量也用变量的写法,只不过
大家约定俗成用全大写表示常量
比如:

 AGE_OF_OLDBOY = 73

6、有存放用户信息的列表如下,分别存放用户的名字、年龄、公司信息

userinfo={
			'name':'egon',
			'age':18,
			'company_info':{
				'cname':'oldboy',
				'addr':{
					'country':'China',
					'city':'Shanghai',
				}
			}

		}

要求取出该用户公司所在的城市

print(userinfo['company_info']['addr']['city'])
students=[
		    {'name':'alex','age':38,'hobbies':['play','sleep']},
		    {'name':'egon','age':18,'hobbies':['read','sleep']},
		    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
		]

取第二个学生的第二个爱好

print(students[1]['hobbies'][1])

要求取出三名学生的详细信息分别赋值给三个变量(用一行代码实现)

alex,egon,pq = students
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值