python基础知识之数据类型
一.与用户的交互
古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一台计算机), 让ATM机跟用户交互,从而取代人力。然而机器是死的,我们必须为其编写程序来运行, 这就要求我们的编程语言中能够有一种能与用户交互,接收用户输入数据的机制
· 1.1. 1.python3中的输入和2.python2中的input()输入区别
1.python3中的输入: 关键字:input() python3的input()获取的用户输入统一全部存为字符串类型 2.python2中的input()输入 1.python2的input() 注意输入需要指定类型 不然默认存什么就是什么类型 2.raw_input()的输入和python3的input()输入进行存储的数据类型是一样的全部统一存为字符串格式 总结:用户输入的统一都是字符串形式
二、格式化输出:
# input自带换行 一个print()独占一行 print(name,age)为一行
# 占位符:%s(可以匹配所有) %d(只能匹配数字)
eg: name = input('my name is>>>:') age = input('my age is >>>:') age = int(age) #age为字符串类型,无法传给%d,所以会报错TypeError: #%d format: a number is required, not str print('my name is %s, my age is %d'%(name,age)) # my name is koko, my age is 18
练习:
---------------info of koko------------ Name:koko Age:18 Sex:male Job:teacher ---------------end------------------- 如何转化 %
name = input('name:') age = input('age :') sex = input('sex:') job = input('job:') res = """ ---------------info of %s------------ Name:%s Age:%s Sex:%s Job:%s ---------------end------------------- """%(name,name,age,sex,job) print(res)
# 补充:
print('%08d'%123) 这里匹配只有三位另外5位用0补全
三、python中的基本数据类型
什么数据(变量的值):如age= 18,18则是我们数据保存的值 为什要数据类型:变量是用来衡量、记录事物发生状态和特征的, 毫无疑问不同的数据需要不同的事物的状态就应该用不同的数据类型去标识
3.1 数字类型:整形与浮点型
整形: 作用:年龄,QQ号,手机号等 定义:age = 18 #内部对应的本质 age = int(18)
浮点型:
作用:薪资,身高,薪资
定义: salary = 1.11 # 本质:salary= float(1.11)
补充:
复数:a = 1-2j # 查看实步:a.real 查看虚步:a.imag
长整形:a = 1L print(a)
长整形:只有python2有 python3默认都是整形
3.2 字符串:
作用:存描述性信息的内容,如国籍,性别,种族
定义:
单引号
双引号
三引号:并且可以写多行
为什需要三种定义:考虑到用户在输入的文本也需要用到引号
python中的字符串支持加字符串的拼接 和字符串的乘
区别:单引号内可以用到文本必须用双引号括起来
双引号只能用单行文本
三双引号可以写多行文本
3.3 列表:
作用:能够存储多个数字,并且可以方便取出一条或多条 定义:[1,2,3]内部通过逗号分开多个数据(元素),并且这个多个元素可以是任意数据类型 # 在it行业 通常数数都是从0开始的》》》:索引
3.4 字典:(*****)
作用:能过存储多组数据,并且存取的数据有对应的描述 定义:{} 大括号内存多个元素,元素的格式key:value,键值对与键值对之间用逗号分隔开, # key通常是用来描述value的描述性信息,key通常是字符串,value可以是任意类型;value就是key对应的值 特点: 字典 无序 所以没有办法用索引取值 可以用key取值
练习:
练习: 1.eg: info ={ 'name':'egon', 'hobbies':['play','sleep'], 'company_info':{ 'name':'Oldboy', 'type':'education', 'emp_num':40, } } # 需求:公司的类型 通过key取值一层层取嘛 先去取出里面的字典key # res1 = info['company_info'] # print(res1) # {'name': 'Oldboy', 'type': 'education', 'emp_num': 40} # 那还不简单嘛用字典用key取值 # res2 = info['company_info']['type'] # print(res2) # 40
2.eg: # 需求取出第二个学生的第二个爱好: students = [ {'name':'alex','age':38,'hobbies':['play','sleep']}, {'name':'egon','age':18,'hobbies':['read','sleep']}, {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']}, ] student[1]['hobby'][1]
# 一步步来:判断类型 外面是列表索引 取第二个学生 res1 = students[1] print(res1,type(res1)) # {'name': 'egon', 'age': 18, 'hobbies': ['read', 'sleep']} <class 'dict'> # <class 'dict'字典取值key res2 = res1['hobbies'] print(res2,type(res2)) # ['read', 'sleep'] <class 'list'> res3 = res2[1] print(res3) # sleep 拿到最终结果
3.5 布尔值:# 1,0 True/False
作用:标识事事物的对错(可行性),通过True和False 判断事物的对错,可行性 定义: tag = True tag = False tag = bool(True)
eg: a = 10 b = 20 print(a > b) # False print(a == b) # False print(a < b) # True
补充 :
== 》》》print(x==y)比较的是值是否相等
is 》》》print(x is y)比较的是两个变量对应的id是否相等
小整数池:-5 到256
1.eg: >>> a=10 >>> b= 10 >>> id(a) 1941532416 >>> id(b) 1941532416 # id相等值一定相等 >>> a==b True >>>
2.eg: >>> x=257 >>> y=257 >>> id(x) 2168459144944 >>> id(y) 2168459142256 >>> # id不相等的情况下,值有可能相等
小结:可变类型与不可变类型:
1,可变类型:在id不变的情况下value可以变,则称为可变类型,如: eg:my_dict = {"name": 'koko', 'aeg': 18} print(id(my_dict)) # id = 2627534748696 my_dict['name'] = 'jason' 》》》有则更新无责添加健值对 print(my_dict) # 新字典对象{'name': 'jason', 'aeg': 18} print(id(my_dict)) # id=2627534748696 2.不可变类型:value一旦反生改变,id也跟着变,则称为不可变类型(id变,意味着开辟了一块新的名称空间将值绑定给变量
如:数字类型,字符串,元组,bool,集合
eg1:a = 19.1
print(id(a)) # id = 1941532704
a = 20.5
print(id(a)) # id = 1941532736
eg2:
tuple1 = (1,2,3,4)
print(id(tuple1),type(tuple1))
tuple1 = (1,2,3)
print(id(tuple1),type(tuple1))
# 2569262962232 <class 'tuple'>
# 2569265775096 <class 'tuple'>
eg3:
set1 = {1,2,34,5,6,8,1,2} # 集合可以去重
print(set1,type(set1),id(set1))
set1 = {1,2,34,5,6,8,1,7}
print(set1,type(set1),id(set1))
# {1, 2, 34, 5, 6, 8} <class 'set'> id = 1627883545768
# {1, 2, 34, 5, 6, 7, 8} <class 'set'> id = 1627885974248
四、基本运算符:
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
4.1 算数运算:
以下假设变量:a=10,b=3
print(10/3) # 结果保留小数 print(10//3) # 结果取整 print(10%3) # 结果取余数 print(10**3) # 结果2的三次方 print(10!=3) # 不等于 js取反 字母的比较:ASCII吗表
4.2比较运算:
以下假设变量:a=10,b=3
4.3 赋值运算:
age = 18
age = age+1
print(age) =19
4.4逻辑运算:
与 或 非
and or not
4.5 身份运算: 回上: == 比较的值 is 比较的是id 注意:融合小整数池
4.6 对于上面的方法进行分解:
增量运算: xxx += 1 # xxx = xxx + 1 xxx *= 2 # xxx = xxx*2 xxx -= 10 #xxx = xxx-10
链式操作:
x=y=z=10
交叉赋值: # 交叉赋值 a = 10 b = 20 方法一: # 想要将a和b进行交换 需要引用一个变量最为中间桥梁 y = a # a解绑出来 a = b # 将b赋给a 此时a =20 那b怎么办呢 需要将y的值赋给b b = y # y=10 的值赋给b变量 那么b就等于10了 print(a,b) # 20 10 方法二: a,b= b,a
解压赋值:
1.方法: l = [1,2,3,4] a = l[0] b = l[1] c = l[2] d = l[3] print(a,b,c,d) # 1 2 3 4 # 这个样写太麻烦了要需要一个个索引取值,那有什简单的方法吗 当然有
# 这个样写太麻烦了要需要一个个索引取值,那有什简单的方法吗 当然有
2.方法:
a,b,c,d = l
print(a,b,c,d) # 注意:前面的变量个数与后面的元素个数必须相等
# 1 2 3 4
3.# 需求:我们需要取a,b 中间的变量我不想要怎么办呢
a, _, _, d = l
print(a,d) # 1 4 这是对于已知中间变量个数的时候,万一你不知道个数 how?
l = [1,2,3,4,7,3,5,6,7,8,10]
a,*_,d = l # *_
print(a,d) # 1 4
print(_) # [2, 3, 4, 7, 3, 5, 6, 7, 8] _表示所有中间所有 *表示多个
感谢您的阅览,有不足之处还请多多指教
python基础知识之数据类型的更多相关文章
- python基础知识 变量 数据类型 if判断
cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...
- python基础知识(七)---数据类型补充、"雷区"、编码
数据类型补充."雷区".编码 1.数据类型补充 str: #字符串数据类型补充 s1=str(123) #常用于类型转换 print(s1) #capitalize()首字母大写 ...
- 第二章(1.5)Python基础知识(数据类型)
一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 用len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
随机推荐
- Spring Data Jpa (四)注解式查询方法
详细讲解声明式的查询方法 1 @Query详解 使用命名查询为实体声明查询是一种有效的方法,对于少量查询很有效.一般只需要关心@Query里面的value和nativeQuery的值.使用声明式JPQ ...
- Java连接Oracle数据库常用方法
JDBC的六大步骤: 注册驱动 获取连接 获取执行sql语句对象 执行sql语句 处理结果集 关闭资源 oracle URL: jdbc:oracle:thin:@localhost:1521:SID ...
- onload,domcontentload区别+onload详解
todo onLoad是的在页面所有文件加载完成后执行 DomContentLoad是Dom加载完成后执行,不必等待样式脚本和图片加载 domContentLoad更为合理, 原理: 如果是webki ...
- CListCtrl死锁的问题
ON_COMMAND(ID_DELETE_1,OnDelete)在响应删除事件的时候 控件应该内部有锁,在这个时候调用GetItemCount()函数会阻塞
- MIME 类型,ContentType
MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准. MIME 消息能包含文本.图像.音频.视频以及其他应用程序专用的数据. 官方 ...
- Flask基础以及Response三剑客
Flask的特点: 优点:小而精.三方组件全 缺点: 性能相对较差 因为依赖三方组件所以在更新的时候难免不同步 基础模板 from flask import Flask app = Flas ...
- Fresnel integral菲涅尔积分的一丢丢探讨
起因源于导师的关于回旋曲线的一点问题 其中最后得到的曲率公式中的c,s’和s定义不明确 于是开始从头从(2.1)式中的积分入手探究 维基百科中Fresnel integral的S(x)与C(x)的定义 ...
- EDM杂谈:第一个屏幕的定义和特点
在EDM营销中,经常会碰到第一个屏幕这个概念.这是什么意思呢?博主跟大家介绍一下. 图一:博文配图 这个主要是指用户在打开邮件时不需要滚动屏幕就可以看到的邮件内容.因为用户第一眼就可以看到,因此这部分 ...
- python是强类型还是弱类型语言
几句话了解python特性 Python 是强类型的动态脚本语言 好多人对python到底是强语言类型还是弱语言类型存在误解,其实,是否是强类型语言只需要一句话就可以判别, 强类型:不允许不同类型相加 ...
- 手动搭建redis cluster
集群中至少应该有奇数个节点,所以至少有三个节点,每个节点至少有一个备份节点,所以下面使用6节点(主节点.备份节点由redis-cluster集群确定) 1.安装redis节点指定端口解压redis压缩 ...