python学习day4 数据类型 if语句
1.变量的内存管理
cpython解释器垃圾回收机制
什么是垃圾,当一个值身上没有绑定变量名时,(该值的引用计数=0时)就是一个垃圾
age=18 #18的引用计数=1
x=age #18的引用计数=2
age=19 #18的引用计数=1
del x #删除x的定义,18的引用计数=0
2.变量值具有的三个特点
id 内存地址
type数据类型
值 本身
id相同,值一定相同
值相同,id可以不同
python把常用的小整数型-5-256提前申请好内存地址,方便调用
因为cpu在操作硬件的内核态和应用程序的用户态直接切换会花费时间,提前申请好节省时间
is,判断id是否相同
==判断值是否相同
可变类型/不可变类型
可变类型:值改变,id不变,证明就是在修改原值
不可变类型:值改变,id改变,证明不是在修改原值
x=10
print(id(x))
x=11
print(id(x))
3.python2与用户的交互
python2中的raw_input和python3的input是一样的效果,可以把所有输入转化成str字符串类型
python2中的input要求用户输入一个明确的类型,输入什么类型,就存成什么类型
4.数据类型
作用:用来记录状态
4.1整型int
作用:可以用来记录年龄,等级,各种号码状态
定义age=18
age=int(18)
print(type(age))
print(age+3)
print(age>3)
4.2浮点型
作用:用来记录身高,体重,工资等状态
salary=3.1
print(type(salar))
print(3.1+2.3)
print(3.1+2)
4.3字符串类型str(一堆字母拼接在一起)
作用:用来记录描述性质的状态 比如名字 性别
定义:在单引号(’‘)双引号(“”)、三引号(’‘’‘’‘,“”“”“”),包含一系列的字符
x='abc'
y="abc"
z='''
abc
xxxx
'''
print(type(x))
引号的嵌套,要区分开msg='name is "egon"'
print('abc'+'efg') #仅限于str类型直接相加
print('abc'*10) # *的只能是数字
print('a'> 'Z') #按ASCII码表对照比较大小
4.3列表类型list
作用:用来记录多个值,用索引对应值,索引反映是位置
定义:在[]内用逗号分隔开多个任意类型的值
l=[1,3.1,'xxx',['a','b','c']
print(type(l))
print(l[3][0])
4.4字典类型
作用:用来记录多个值,用key对应value,其中key对value有描述性的功能
定义:在{}内,用逗号分割开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,key一般是str类型
d={'x':1,'y':3.1,'z':['a','b'],'m':{'aaa':11111}}
print(type(d))
调用
print(d['x'])
print(d['m']['aaa'])
print(d['z'][1])
# name age gender compay_info
# emp_info=['egon',18,'male',['Oldboy','SH',200]]
# print(emp_info[1])
# print(emp_info[3][2]) # 字典的方式
# emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]} # print(emp_info['age'])
# print(emp_info['company_info'][0]) # names=['egon','alex','kevin']
# dic={'name1':'egon','name2':'alex','name3':'kevin'}
# 列表的方式
# name age gender compay_info
# emp_info=['egon',18,'male',['Oldboy','SH',200]]
# print(emp_info[1])
# print(emp_info[3][2]) # 字典的方式
# emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]} # print(emp_info['age'])
# print(emp_info['company_info'][0]) # names=['egon','alex','kevin']
# dic={'name1':'egon','name2':'alex','name3':'kevin'}
列表的方 4.5 布尔型:True False
print(type(True))
print(type(False)) tag1=True
tag2=True
print(id(tag1))
print(id(tag2)) 所有数据都自带布尔值
布尔值为假的数据类型:0,None,空
print(bool([]))
print(bool(''))
print(bool(None)) 4.6None
print(type(None)) 5.基本运算符
比较运算符
> >=
< <=
==
!=
print(10!=11) x=None
print(x ==None)
print(x is None) l1=['abc',1,['a','b','c']]
l2=['abc','aa]
print(l2>l1) #从第一个数据开始比较,必须是同一个数据类型 逻辑运算符
and 连接左右两个条件,必须两个同时成立,and运算结果才为True
print(10>9 and 3>2 and 'egon'=='egon')
or 连接左右两个条件,两个条件成立任意一个or运算的结果就为True
res=(False or False or True or False or 3>10) 可以加括号,优先运算括号内公式 not 非运算符 把紧接其后的条件取反
x=None
print(not is None)
print(x is not None) age1=18
age2=19
print(age2 is not age1)
name_bk='egon'
pwd_bak='123'
name=input('please input your name: ')
pwd=input('please input your password: ')
if name == name_bk and pwd == pwd_bak:
print('login successfull')
print('login successfull')
print('login successfull')
print('login successfull')
print('login successfull')
else:
print('username or password error')
python学习day4 数据类型 if语句的更多相关文章
- Python学习day4 数据类型Ⅱ(列表,元祖)
day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...
- python学习6—数据类型之集合与字符串格式化
python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...
- Python学习 之 数据类型(邹琪鲜 milo)
1.Python中的数据类型:数字.字符串.列表.元组.字典 2.数字类型包括整型.长整型.浮点型.复数型 type(number):获取number的数据类型 整型(int):范围:-2,147,4 ...
- python学习3—数据类型之整型、字符串和布尔值
python学习3-数据类型之整型.字符串和布尔值 数据类型 python3支持的数据类型共有6种: 1 Number 2 String 3 List 4 Tuple 5 Set 6 Dictiona ...
- Python学习之数据类型
整数 Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如: ...
- python学习:数据类型
python有两种索引方式.一种从左至右,下标从0开始:一种从右至左,下标从-1开始. python有六种数据类型: 不可变数据(四个):Number(数字).String(字符串).Tuple(元组 ...
- python学习之with...as语句
python中的with...as...语句类似于try...finally...语句: # -*- coding: utf-8 -*- # """ with...as. ...
- python学习之数据类型(List)
3.5 列表 3.5.1 列表的介绍 列表是python的基础数据类型之⼀,其他编程语言也有类似的数据类型. 比如JS中的数组, java中的数组等等.它是以[ ]括起来, 每个元素⽤' , '隔 ...
- [python学习笔记] 数据类型与语法
数据类型 数值型 int 整形 没有long类型,可以代表任意大小的整数. type(1) -> int float 浮点数 也没有double类型 type(1.2) -> float ...
随机推荐
- <Linux> Ubuntu error: ssh: connect to host master port 22: No route to host lost connection
iptables当找到匹配的规则时,就会执行相应的动作,而不会向下继续匹配.因为ssh端口开放的规则在all规则之后,所以永远都不会匹配到,也就是ssh永远被禁止. root下执行:iptables ...
- 关于thinkphp5被入侵后的一些思考
最近一段时间thinkphp5爆出漏洞 request.php中的请求过滤不严 是得web端 可以直接写入一个文件到服务器上 进而可得webshell权限 我的一个客户 就是这样被入侵了 刚开始 ...
- records.config中文详解
转载:http://www.safecdn.cn/cdn/2018/12/records-config-zh/106.html records.config参数的一些备注 CONFIG proxy.c ...
- python学习笔记_week13
一.前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒机所具备的功能属性中的 ...
- python3下全自动快速度在线安装所有插件
把下面的内容复制存为pip.conf文件, [global]timeout = 60index-url = https://pypi.python.org/simple/no-cache-dir = ...
- Linux 压缩归档
压缩 压缩工具:gzip bzip2 zip tar 压缩格式 常见的压缩格式:gz.bz2.xz.zip.Z tar.gz格式 [root@xuegod72 mnt]# tar zcf gr ...
- 机器学习进阶-直方图与傅里叶变换-傅里叶变换(高低通滤波) 1.cv2.dft(进行傅里叶变化) 2.np.fft.fftshift(将低频移动到图像的中心) 3.cv2.magnitude(计算矩阵的加和平方根) 4.np.fft.ifftshift(将低频和高频移动到原来位置) 5.cv2.idft(傅里叶逆变换)
1. cv2.dft(img, cv2.DFT_COMPLEX_OUTPUT) 进行傅里叶变化 参数说明: img表示输入的图片, cv2.DFT_COMPLEX_OUTPUT表示进行傅里叶变化的方法 ...
- jqGrid基本使用
jqGrid: 参照网址:官网地址http://www.trirand.com/ http://blog.mn886.net/jqGrid/(快速获取demo) http://www.guriddo. ...
- python中pop()函数的用法
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法:list.pop(obj=list[-1]) //默认为 index=-1,删除最后一个列表值. obj -- ...
- ISPF常用命令
[ISPF功能键] PF1: HELP帮助键 PF2: SPLIT键,改变分屏位置 PF3: END键,结束并退回上级菜单 PF4: RETURN键,结束并退回主菜单 PF5: REFIND键,重复最 ...