Python 基础 数据类型 变量常量
整理自廖雪峰老师的教程
不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1
,100
,-8080
,0
,等等。十六进制用0x
前缀和0-9,a-f表示,例如:0xff00
,0xa5b4c3d2
,等等。
浮点数:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
,等等。(整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差)
在Python中,有两种除法,一种除法是/
:
>>> 10 / 3
3.3333333333333335
>>> 9 / 3
3.0
#结果是浮点数
还有一种除法是//
,称为地板除,只取结果的整数部分。两个整数的除法仍然是整数:
>>> 10 // 3
3
字符串:字符串是以单引号'
或双引号"
括起来的任意文本,如果字符串内部既包含'
又包含"
怎么办?可以用转义字符来标识。转义字符
可以转义很多字符,比如
n
表示换行,t
表示制表符,字符本身也要转义,所以
\
表示的字符就是
Python还允许用r''
表示''
内部的字符串默认不转义
>>> print('\t\')
>>> print(r'\t\')
\t\
如果字符串内部有很多换行,用n
写在一行里不好阅读,为了简化,Python允许用'''......'''
的格式表示多行内容:
print('''line1
line2
line3''')
布尔值:布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写)
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布尔值可以用and
、or
和not
运算。and是与运算 都为true 结果为true;or是或运算 存在一个true 结果为true;not是非运算 取反。
空值:空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
变量:
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_
的组合,且不能用数字开头
在Python中,等号=
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。因为python是动态强类型语言,不同于Java的静态。
a = 'ABC'
b = a
a = 'XYZ'
print(b)
#结果为ABC
执行a = 'ABC'
,解释器创建了字符串'ABC'
和变量a
,并把a
指向'ABC'
:
执行b = a
,解释器创建了变量b
,并把b
指向a
指向的字符串'ABC'
:
执行a = 'XYZ'
,解释器创建了字符串'XYZ',并把a
的指向改为'XYZ'
,但b
并没有更改:
所以,最后打印变量b
的结果自然是'ABC'
了。
常量:在Python中,通常用全部大写的变量名表示常量,但他还是一个变量,只是习惯上认为这个变量为常量,不应该更改他。
- 统计01:概述
- ActiveMQ笔记(2):基于ZooKeeper的HA方案
- ActiveMQ笔记(2):基于ZooKeeper的HA方案
- CSS几个竖直与水平居中盒子模型
- ZooKeeper 笔记(6) 分布式锁
- Hadoop(十五)MapReduce程序实例
- dubbox 的各种管理和监管
- bash魔法堂:History用法详解
- 大众点评cat系统的搭建笔记
- 我们只能在安全和隐私之间寻求平衡吗?
- Docker Compose 1.18.0 之服务编排详解
- 让IE7/8使用CSS中first-child和last-child样式属性
- dubbo/dubbox 增加原生thrift及avro支持
- Hadoop(十四)MapReduce原理分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 《Flutter 动画系列》组合动画
- Flutter 完美的验证码输入框
- 【送红宝书】JavaScript 测试系列实战(四):掌握 React Hooks 测试技巧
- Spring 自定义注解你了解过吗?
- 《Flutter 小技巧》一行禁用App,一行置灰App,致敬
- 字符串:总结篇!
- 3 个助你玩转正则表达式的利器
- Flutter 实现虎牙/斗鱼 弹幕效果
- 计算机视觉的数据增广技术大盘点!附涨点神器,已开源!
- 说一句最好的Flutter开源项目也不过分
- 超过百万的StackOverflow Flutter 问题
- Flutter 吐血整理组件继承关系图
- 单元测试框架怎么搭?新版的Junit5有哪些神奇之处?
- 开源179个Flutter组件的详细使用介绍
- 10 个你可能还不知道 VS Code 使用技巧