python基础——2(基本数据类型及运算符)
目录
为何数据要区分类型?
数据类型是变量值的类型,变量值之所以区分类型,是因为变量值是
用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用
不同类型的值去记录它们。
一、数字类型
1、整型int
作用:记录等级、年龄、数量等
age = 18
2、浮点型float
作用:记录身高、体重、薪资
salary = 3.1
二、字符串str
作用:记录描述性质的状态
定义:在单引号/双引号/三引号中包含的一系列字符
使用:
name = 'jack'
print(name)
+:拼接字符串
x = 'hello'
y = 'world'
print(x + y) #输出helloworld
print(x + 10) #报错,因为字符串只能与字符串相加
print('ss'*10) #打印10次ss
三、列表类型list
作用:按照位置记录多个值,并且可以取出指定位置的某一个值
定义:在[]内用逗号分隔开多个任意类型的值
取出第一个学生的第一个爱好
hobbies = [['aaa',18,['play']],['bbb',20,['play','sleep']]]
print(hobbies[0][2][0])
#由索引取列表中的值,索引从0开始
# 0 1 2 3 4
# emp_info=['egon',18,10,'male',1.81]
# print(emp_info[0])
# print(emp_info[1])
# print(emp_info[2])
四、字典类型
作用:记录多个不同属性的值
定义:在{}内用逗号分隔开的多个元素,每个元素都由key:value组成,
value就是我们存放的值,可以是任意的类型。
一个key对应唯一的value,key应该对value有描述性的功能,所以key通常是str类型
dic = {'name':'shj','age':18,'gender':'male'}
print(type(dic))
print(dic['name']) #根据键值key取出value
print(dic['age'])
#多层嵌套
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
print(info['company_info']['name'])
五、布尔类型
作用:用于判断
定义:
x = True
y = False
print(type(x))
print(type(y)) #bool
print(10 > 11) #False
print(10 < 11) #True
强调:所有的数值都自带布尔值,其中0,None,空的布尔值为False,其余都为True。
if []:
print('ok')
else:
print('no')
运算符的介绍
一、算术运算符
print(10 / 3)
print(10 // 3) # 取整除
print(10 ** 3) # 幂
print(10 % 3)
二、比较运算符
print(10 == 10)
print(10 != 10)
print(10 > 10)
print(10 >= 10)
print('shj' == 'shj')
# 了解:从左到右依次比较,一旦比出大小就停止
x = 'abcdef'
y = 'abcz'
print(x < y)
a = [2,'sss',4] #列表同样可以比较,也是根据位置来比较
b = [1,'s']
print(a < b)
三、赋值运算符
# 1、增量赋值
age = 18
age += 1 # age = age +1
print(age)
age -= 1
print(age)
# 2、交叉赋值
x = 11
y = 22
temp = x
x = y
y = temp
print(x,y)
# 上述三行代码可以合并为下面一行
x,y = y,x
print(x,y)
# 3、链式赋值
x = 10
y = x
z = y
# 上述三行可以一行赋值
x = y = z =10
print(x,y,z)
print(id(x) == id(y) ==id(z)) # 内存地址相同
# 4、解压赋值
l = ['a','b','c','d','e']
x = l[0]
y = l[1]
z = l[2]
m = l[3]
n = l[4]
print(x,y,z,m,n)
# 等号左边的变量名必须与右面的值一一对应
x,y,z,m,n = l # 一行解压赋值完成
print(x,y,z,m,n)
x,y,*_,z = l # 取两边需要的值,中间*_代表匹配任意个,在这个例子是2个
print(x,y,z)
四、逻辑运算符
# and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True
print(10 < 3 and 3 == 3)
print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0)
# or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True
print(10 < 3 or 1 == 1)
print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a')
# not:取反
print(not 10 > 3)
# 例:
res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3))
print(res)
五、身份运算符
# ==:判断的是值是否相等
# is:判断的是id是否相等
# 值相等,id可以不同
# >>> x='info:egon:18:male'
# >>> y='info:egon:18:male'
# >>> id(x),id(y)
# (2924120923496, 2924120923568)
# >>> x == y
# True
# >>> x is y
# False
# id相同,值一定相同
# >>> x=10
# >>> x=y
# >>> id(x)
# 2924120923568
# >>> id(y)
# 2924120923568
# >>>
# >>> x is y
# True
# >>> x == y
# True
# 了解:pycharm提前分配内存空间,所以id会一样
x=123213123123123133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
y=123213123123123133333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333331
print(id(x))
print(id(y))
用户交互
一、接收用户输入
name = input("请输入你的用户名:")
print(name)
二、格式化输出
name = input("name>>>")
age = input("age>>>")
# 要打印"my name is xxx,my age is xxx."
print("my name is '+name+',my age is '+age'")
# 或者如下
print("my name is %s,my age is %s."%(name,age))
# %d只能接收数字
print('my age is %d' %10)
# print('my age is %d' %'aaaa') #报错
print('my age is %d' %10.1) #取整,只有输出10
# %s可以接收任何类型
# print('my age is %s' %'aaa')
# print('my age is %s' %10)
# print('my age is %s' %['a',1])
三、python3和python2中用户输入的区别
在python3中只有一个input,input会将用户输入的任何内容都存成字符串类型。
在python2中有两种接收用户输入的机制
raw_input:等同于python3 的input。
input:要求输入者必须输入一个明确的数据类型,输入什么类型就存成什么类型。
小练习:
用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Egon -----------
Name : Egon
Age : 22
Sex : male
Job : Teacher
------------- end -----------------
# 第一种方法
name = input("please input your name:")
age = input("please input your age:")
sex = input("please input your sex:")
job = input("please input your job:")
info = '''
------------ info of %s -----------
Name : %s
Age : %s
Sex : %s
Job : %s
------------- end -----------------
''' % (name,name,age,sex,job)
print(info)
# 第二种方法
name = input("please input your name:")
age = input("please input your age:")
sex = input("please input your sex:")
job = input("please input your job:")
info = '''
------------ info of {Name} -----------
Name : {Name}
Age : {Age}
Sex : {Sex}
Job : {Job}
------------- end -----------------
'''.format(Name=name,Age=age,Sex=sex,Job=job)
print(info)
python基础——2(基本数据类型及运算符)的更多相关文章
- python学习第三讲,python基础语法之注释,算数运算符,变量.
目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...
- Python基础语法和数据类型最全总结
摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python. 本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Pyth ...
- Python基础(2) - 动态数据类型
Python是一门强类型语言,单定义变量时不需要制定类型. C#这样定义变量: ; VB这样定义变量: Python不需要制定类型,给变量赋什么类型的值,它就是什么类型.(穿神马就是神马?) > ...
- Python学习笔记 - day3 - 数据类型及运算符
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- python基础知识之数据类型
一.与用户的交互 古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一 ...
- 二.Python基础语法和数据类型
Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...
- python基础二(基本数据类型)
python的基本数据类型:数字.字符串.列表.元祖.字典.集合 一.基本数据类型 1.1 数字int 数字主要是用来计算用的,使用方法并不多. # bit_length() 当十进制用二进制表示的时 ...
- python基础之基本数据类型与基本运算符
一.基本数据类型 1.整数类型 作用:描述年龄.等级,电话号码等数据类型 age = 18 phone_number = 13572839204 2.浮点型 作用:描述薪资.身高等带小数的类型 hei ...
- Python 入门基础2 --基本数据类型、运算符
本节目录 一.IDE(集成环境的安装) 二.基本数据类型 三.输入输出 四.运算符 五.后期补充内容 一.IDE(集成环境的安装) 安装pycharm 注:快捷键: 1.ctrl + ? :注释此行, ...
随机推荐
- IE下png图片黑边问题
png图片在ie8下有黑色边框的情况想必大家都有遇到过吧,那么该怎么解决呢?其实很简单,下面的方法或许对大家有所帮助 background-image:url(******.png)!importan ...
- c库函数-字符串
一 strok:从字符串中按照分隔符提取所有字串 char s[] = "水发产品,47.6,不合格,mg/kg,17-05-21 15:04;"; char *delim = ...
- 通用maper无法获取实体类com.qmtt.model.PhWxUser对应的表名问题
spring boot在采用了热加载后,可能会出现“无法获取实体类com.qmtt.model.PhWxUser对应的表名!”的异常, 解决办法 在resources新建一个文件夹META-INF,新 ...
- WEB前端学习有用的书籍
WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没有学校的正规教育,大多数人都是靠自己自学成才.本文主要介绍自己从事web开发以来(从大二至今)看过的书籍和自己的成长过程,目的是给想了解Java ...
- Android里的 ART、JIT、AOT、Dalvik之间有什么关系?
ART.JIT.AOT.Dalvik之间有什么关系? JIT与Dalvik JIT是"Just In Time Compiler"的缩写,就是"即时编译技术", ...
- (转)新手学习System Verilog & UVM指南
从刚接触System Verilog以及后来的VMM,OVM,UVM已经有很多年了,随着电子工业的逐步发展,国内对验证人才的需求也会急剧增加,这从各大招聘网站贴出的职位上也可以看出来,不少朋友可能想尽 ...
- BST AVL RBT B- B+ 的一些理解
BST(二叉查找树,排序二叉树),如果数据有序的话,组成的二叉树会形成单列的形式,导致查询效率低AVL(平衡二叉树) 使树的左右高度差的绝对值不超过2,保证了查询效率.但是插入和删除会带来多次旋转,导 ...
- SQLyog连接MySQL时出现的2058错误解决方法
配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了. 解决方法:windows 下cmd 登录 mysql -u root -p 登录你的 mysql 数据库,然后执行这条SQL ...
- qt sql多重条件查询简便方法
转载请注明出处:http://www.cnblogs.com/dachen408/p/7457312.html 程序设计过程中,经常要涉及到查询,并且有很多条件,且条件可为空,如果逐个判断,会有很多情 ...
- learnpythonthehardway EX41 相关
str.count() # str.count()方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. # str.count(sub, start= 0,end=len( ...