what's the python之变量、基本数据类型
what's the 变量?
Python 中的变量赋值不需要类型声明。
变量在内存中创建,包括变量的标识,名称和数据。
变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值。
变量的定义:name=Jack name即变量名,Jack即变量值。
python中允许同时为多个变量赋值,如
a=b=c=1#a=1,b=1,c=1
a,b,c=1,2,3#a=1,b=2,c=3
'''
变量的赋值方式有很多种
链式赋值:a=b=c=d=4
增量赋值:即将两个变量的值进行交换
'''
x=2
y=4
x,y=y,x
值的解压:
msg='hello'
a,b,c,d,e=msg
print(a,b,c,d,e) a,_,_,_,e=msg
a,*_,e=msg
print(a)#'h'
print(e)#'o' dic={'a':1,'b':2,'c':3}
x,y,z=dic
print(x,y,z)#'a','b','c'
声明变量注意事项
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的比较:
is比较的是id,只要id相同就说明数据指向同一个内存地址,所有数据都相同。==比较的是值,值相同并不说明数据相同
程序交互:程序与用户之间的交互。如QQ界面的输入账户密码以登陆,就是一种程序交互。
执行输出
name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)
代码若很复杂,为了避免搞错或遗忘,可在相应代码后加注释,单行注释为代码后加#,再输入注释,多行注释就用三个引号引起来''' '''
基本数据类型
基本数据类型分为数字、字符串str、列表list、字典dict、元祖tuple、集合set、布尔值
数据类型分为可变数据类型和不可变数据类型。
- 可变数据类型:在id不变的情况下,值value可以发生改变,如列表、字典、元祖、集合
- 不可变数据类型:值value改变时id也会发生改变,如数字、字符串、布尔
python 的所有数据类型都是类,可以通过 type() 查看该变量的数据类型:
注:可变类型又可称为不可hash类型,不可变类型又可称为可hash类型。
数字:分为整型int和浮点型float
整型int(即整数形式):level=20;
浮点型float(即带有小数点的类型):weight=65.5 price=13.5等等
字符串str:
描述性的数据,必须包在引号里面(英文格式,无论单双三引都可以) name='jack' ,sex='male'
字符串可进行拼接,如
msg1='hello'
msg2=' world'
msg3=msg1+msg2
print(msg3)#'hello world'
列表list:
包含在[ ]内,内部的元素可以是字符串、数字、列表、元祖、集合、字典,各自以逗号隔开。
用途——存多个值,可以修改
list1=[3,2,1,'hello']
#增加元素
list1.append('world')#[3,2,1,'hello','world']
#删除元素
list1.remove(3)#[2,1,'hello','world']
del list[2]#[1,'hello','world']
#修改元素的值,中括号中的0是索引,代表第一个位置,python中的索引是由0开始的
list1[0]=8#[8,'hello','world']
字典dict(无序):
定义在{ }内,逗号分割,每一个元素的形式都是key:value。
用途——存多个值,这一点与列表相同,值可以是任意数据类型。
特征:每一个值都一个对一个的对应关系,即key,强调一点,key必须是不可变类型:字符串,数字。
dic={'name':jack,'age':17,'hobby':['girls','money','delicious food']}
#增加
dic['sex']='male'
#删除
del dic[‘age']
#修改
dic['age']=18
元祖tuple:
可以存放多个值。元祖是不可变类型,更多的是用来查询,元祖的写法与列表相似,只是将[ ] 改为( )。元祖也可以作为字典的key。
t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))
print(type(t))#<class 'tuple'>
虽然元祖为不可变类型,但是只要元祖内部的元素的id不发生变化,其内部元素发生变化是允许的,如列表为元祖的元素,列表内元素发生变化但id不变是可以允许的。
集合set:
定义在{ }内,可以包含多个元素,用逗号分隔。集合的元素必须是不可变类型,在集合中不会出现重复的元素(集合具有自动去重的功能),集合是无序的。
布尔值:
布尔值只有两种——True和False,布尔值的作用就是用来判断。
总结
变量赋值不需要声明类型,非常好用。
数字类分为整型和浮点型,是不可变数据类型,改变数字数据类型会分配一个新的对象。
列表用 "[ ]" 标识,内部元素用逗号隔开。
元组用 "( )" 标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
集合用 "{ }" 标识,内部元素用逗号隔开,集合中不会出现重复的元素,集合是无序的。
字典用 "{ }" 标识,字典由索引 key 和它对应的值 value 组成,字典是无序的。
列表可以直接赋值,元组不可以赋值,字典按照 dict[k]=v 的方式赋值。
索引的下标是从0开始算起。
what's the python之变量、基本数据类型的更多相关文章
- python中变量的数据类型总结
1.变量的数据类型,分为数值型和非数值型 数值型: int(整型) float(浮点型) bool (布尔型,只有True和Flase) compex(复数型, 用于科学计算) 非数值型: str(字 ...
- Python 基础 变量和数据类型
python 数据类型 一,整数,可以出来任意大小的整数. 如 1, 100, -8080,0 等等. 二,浮点数,浮点数也可以被成为小数. 三,字符串,字符串是以'' 或"". ...
- python之变量的数据类型(1)int 、bool 、str 及for循环运用
一.变量的数据类型(1) 1.int 类型 int类型是整数,常用的有bit_length() 方法 用来返回一个数的二进制长度 2.bool类型 布尔型只有两个值 True,False 有关类型转换 ...
- python之变量的数据类型(3)dict 及解构简单介绍
一.变量的数据类型(3) 1. dict 字典dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 2.增删 ...
- python之变量的数据类型(2)list 、 tuple 及range用法
一.变量的数据类型(2) 1.list 类型 列表的特点: 列表是一个可变的数据类型 列表由[]来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象. 列表可以装大量的数据 列表的索引 ...
- python---01.各类计算机语言,python历史,变量,常量,数据类型,if条件
一.认识计算机 1.硬件组成: CPU(大脑) + 内存(缓冲) + 主板(连接各部分) + 电源(心脏) + 显示器 + 键盘 +鼠标+ 显卡 + 硬盘 2.操作系统 ①windows ...
- Python学习-5.Python的变量与数据类型及字符串的分割与连接
在Python中,变量类型是固定的,一旦声明就不能修改其类型(在Python里感觉不应该用声明,而应该用使用) 正确: var = 1 print(var) var = 2 print(var) 依次 ...
- Python(变量、数据类型)
常量:python中没有常量,只能通过名字特征来提示例如:全部大写,如 : OLDBOY_AGE=57 一.变量 变量声明变量#!/usr/bin/env python age=18gender1=' ...
- Python——1变量和数据类型(内含其他知识点链接)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 1、python简介-变量-注释-数据类型-用户交互-if语句-while循坏
一. 计算机是什么 基本组成: 主板+cpu+内存 cpu: 主频, 核数(16) 内存:大小(8G, 16G, 32G) 型号: DDR3, DDR4, DDR5, 主频(海盗船,玩家国度) 显卡: ...
随机推荐
- DedeCMS中channelartlist自增参数global.itemindex
在 dede:channelartlist 标签下,使用: {dede:global.itemindex runphp='yes'} {/dede:global.itemindex} dede:cha ...
- CentOS7 设置软件镜像源
Linux拥有众多的发行版,每个发行版都有提供镜像,但是,在国内这些镜像的下载速度参差不齐,偶尔会有更新失败的情况. 网上众多推荐的镜像源为163的镜像,笔者通过一段时间的试用,发现某些小众带宽访问1 ...
- Kotlin入门第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...
- Unity3D Shader 高斯模糊
//Shader Shader "Hidden/GaussianBlur" { Properties { _MainTex ("Texture", 2D) = ...
- Linux中 SonarQube代码质量管理平台安装
SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...
- python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'
原因分析,python3启动时,检索的不是项目包下的目录文件,所以日志文件必须指明路径.我原来的日志方式是: import logging.config log_path = "mlpcap ...
- 拦截$.ajax方法实现登录过期登录
jQuery(function ($) { var CreateLoginWindows = function (callback) { var h = 300; $('#CreateLoginWin ...
- Codeforces 670E - Correct Bracket Sequence Editor - [对顶栈]
题目链接:https://codeforces.com/contest/670/problem/E 题意: 给出一个已经匹配的括号串,给出起始的光标位置(光标总是指向某个括号). 有如下操作: 1.往 ...
- 深度学习中将类别标签映射到one_hot向量
有时我们的样本标签,都是标记从0开始直至到类别的个数.在模型训练的时候,这些标签需要变成one_hot向量,这样才能够跟softmax出来的概率做互熵损失,计算loss. 那么,映射的方法如下: de ...
- 内存管理 垃圾回收 C语言内存分配 垃圾回收3大算法 引用计数3个缺点
小结: 1.垃圾回收的本质:找到并回收不再被使用的内存空间: 2.标记清除方式和复制收集方式的对比: 3.复制收集方式的局部性优点: https://en.wikipedia.org/wiki/C_( ...