(八)python的简单数据类型和变量

数据类型

一个程序要运行,就要先描述其算法。描述一个算法应先说明算法中要用的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。Python的基本数据类型有5种: 整型(int), 浮点型(float), 字符型(string), 布尔型(bool),空值(None).

整数

Python可处理任意大小的整数,在程序中的表示方法和数学上的写法完全一样。

浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

字符串(后面一章我们详细讲字符串的内置方法)

字符串是以‘‘或""括起来的任意文本,比如‘abc‘"xyz"等等。请注意,‘‘或""本身只是一种表示方式,不是字符串的一部分,因此,字符串‘abc‘只有abc这3个字符。如果本身也是一个字符,那就可以用""括起来,比如"I‘m OK"包含的字符是Im,空格,OK这6个字符。

如果字符串内部既包含又包含"怎么办?可以用转义字符\来标识,比如:

‘I\‘m \"OK\"!‘ 

表示的字符串内容是:

I‘m "OK"! 

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print打印字符串看看:

>>> print ‘I\‘m ok.‘ I‘m ok. >>> print ‘I\‘m learning\nPython.‘ I‘m learning Python. >>> print ‘\\\n\\‘ \ \ 

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r‘‘表示‘‘内部的字符串默认不转义,可以自己试试:

>>> print ‘\\\t\\‘ \       \ >>> print r‘\\\t\\‘ \\\t\\ 

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用‘‘‘...‘‘‘的格式表示多行内容,可以自己试试:

>>> print ‘‘‘line1 ... line2 ... line3‘‘‘ line1 line2 line3 

上面是在交互式命令行内输入,如果写成程序,就是:

print ‘‘‘line1 line2 line3‘‘‘ 

多行字符串‘‘‘...‘‘‘还可以在前面加上r使用,请自行测试。

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False 

布尔值可以用andornot运算。

and运算是与运算,只有所有都为Trueand运算结果才是True

>>> True and True True >>> True and False False >>> False and False False 

or运算是或运算,只要其中有一个为Trueor运算结果就是True

>>> True or True True >>> True or False True >>> False or False False 

not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True

>>> not True False >>> not False True 

布尔值经常用在条件判断中,比如:

if age >= 18:     print ‘adult‘ else:     print ‘teenager‘ 

空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。<引用2>

变量和常量

在计算机中,变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标识符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值。

变量命名规则

先介绍标识符的概念。和其他高级语言一样,用来标识变量、符号常量、函数、数组、类型等实体名字的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。变量名是标识符的一种,变量的名字必须遵循标识符的命名规则。

Python语言和java,c++等很多语言一样,规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。下面列出的是合法的标识符,也是合法的变量名:
sum, average, total, day, month, Student_name, tan, BASIC, li_ling

下面是不合法的标识符和变量名:
M.D.John, $442, #4, 3G64, Alex Li, C++, Zhang-ling,姓名, U.S.A.

注意:在Python中,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。一般地,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。应注意变量名不能与Python的关键字、系统函数名和类名相同。

变量名命名习惯

当你的代码越写越多的时候,你会发现你定义的变量也会越来越多,为了增加代码的易读性和方便调试,给变量起名时一定要遵循一定的命名习惯,你起的变量名称最好能让人一眼就大概知道这个变量是干什么用的,比如,getUserName一看就知道,这个变量应该是要获取用户的姓名,check_current_conn_count代表是要检查现在的连接数,只有这样,别人才能在看你的代码时知道你的这些变量的作用,而如果你把变量名全起成了var1,var2,var3…..varN,那别人再看你的代码时会骂死你的。

变量名的定义在能表达清楚它的作用的前提下最越简洁越好,能用一个单词表述清楚的尽量就不要用两个。变量起名时一般有这么几种写法,你觉得哪种最简洁,你就选哪种吧。

CheckCurrentConnCount

check_current_conn_count

checkCurrentConnCount

不好的起名:

CHECKCURRENTCONNCOUNT

Var1 var2 var3 varN

Checkcurrentconncount

定义变量

了解了变量的概念和用途后,我们一起来定义几个简单的变量看一下

name = ‘Alex Li’  #name 是字符串,字符串要加上引号噢

age = 29  #age 是整数,整数不要加引号,加了引号后就变成字符串了

has_girlfriend = False  #是布尔值,一般用这个做逻辑判断,如if has_girlfriend:print ‘good for you !’

age = age + 1 #这个结果应该是30,运算流程是先将=号后面的age +1结果算出,然后再把这个结果重赋值给age, 由于age之前的值是29,重新赋值后,age值变为30.

最后,理解变量在计算机内存中的表示也非常重要。当我们写:

name = ‘Alex‘

时,Python解释器干了两件事情:

  1. 在内存中创建一个”Alex”的字符串;
  2. 在内存中创建了一个名为name的变量,并把它指向”Alex”的内存地址。

也可以变量name赋值给另一个变量name2,这个操作实际上是把变量name2指向的数据,例如:

唉?不是已经把name2 等于name变量了吗?name 值改了以后,name2不跟着改吗?没错,当name 的值由”Alex”改成”Jack”后,name2还是指向原来的”Alex”,我们来一步步分析一下:

1. 定义name=”Alex”,解释器创建了字符串”Alex”和变量name,并把name指向了”Alex”

2. 执行name2=name,解释器创建了name2变量,并把name2指向了name变量所指向的字符串

3. 这时通过id内置函数来查看一下这两个变量分别指向的内存地址,结果都是指向了同一地址。

4.  执行name=”Jack”,解释器创建一个新的变量”Jack”,并把name的指向改成了”Jack”

5. 此时再查看两个变量的内存地址指向就会发现,name的指向已经变成了一个新的地址,也就是”Jack”所在内存地址,但是name2依然还是指向原来的”Alex”。

Now, 你明白了吗? 再总结一下,当你把一个变量name赋值给另一个变量name2时,解释器只是把name变量所指向的内存地址赋值给了name2,因此name 和 name2并未发生直接的关联,只不过是他们都同时指向了同一个内存地址而已,这也就是为什么你把name再指向一个新地址后,而name2的值还保持不变的原因。

常量

刚才说到了变量,还有一概念就是常量,所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

时间: 2024-08-02 22:59:53

(八)python的简单数据类型和变量的相关文章

Python的简单介绍/解释器/变量/变量的数据类型/用户交互及流程控制(if)

一.Python的简单介绍 1.python是一门 解释型弱类型编程语言. 2.特点: 简单.明确.优雅 二.python的解释器有哪些 CPython -- 官方提供的.,内部使用c语言来实现 IPython -- IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的.好多很多国产浏览器虽然外观不同,但内核其实都是调用了IE PyPy -- PyPy是另一个Python解释器,它的

Python 基础之数据类型和变量

Python  数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比

python教程1:Python基础之数据类型和变量、字符串和编码

视频链接: 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,python大小写敏感 我们来写第一个简单的python程序 #!/usr/bin/env python3 print("Hello World") 怎么运行呢?有人说是./运行,然而我试了试并不可以....这样才行..... python name.py print里面也可以输出多个字符串,用 , 进行分隔,显示的内容是空格 #!/usr/bin/python print('

python基础之数据类型与变量

一.变量1 什么是变量之声明变量#变量名=变量值age=18gender1='male' gender2='female'2 为什么要有变量 变量作用:"变"=>变化,"量"=>计量/保存状态程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果. 3 变量值之类型与对象程序中需要处理的状态很多,于是有了不同类型的变量值,x='seven',变量值'seven'存放与内存中,绑定一个名字x,变量值即我们要存储

第二篇:python基础之数据类型与变量

数据类型 什么是数据类型? 程序的本质就是驱使计算机去处理各种状态的变化,这些状态分为很多种 例如英雄联盟游戏,一个人物角色有名字,钱,等级,装备等特性,大家第一时间会想到这么表示 名字:德玛西亚------------>字符串 钱:10000   ------------>数字 等级:15    ------------>数字 装备:鞋子,日炎斗篷,兰顿之兆---->列表 除此之外还有很多其他数据,处理不同的数据就需要定义不同的数据类型 基本数据类型: 一.数字(包括:整型,长整

Python基础-03.数据类型-02.变量和常量

本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 1.变量 1.1.变量理解 何时需要用到变量?一段程序或者数值需要在后面经常用到就可以用变量变量包括:变量名,变量值对于计算机,变量可以看做是一种存放信息的容器,用于存储在计算机程序中需要引用和操作的信息.对于人,提供一种用描述性的名称对数据进行标记的方法,这样我们写的程序就可以更清楚地被读者和我们自己理解. 概念区分:变量的声明.定义.赋值和初始化有什么区别?变量声明或定义:在环境中指定一个变量的名字.代表在内存中开辟一

Python基础之数据类型和变量

计算机不仅能处理各种各样的数值,还可以处理文本.图形.音视频.网页等各种数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有: 1. 整数 Python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样,例如123,0,-123等等. 2. 浮点数 浮点数也就是小数,浮点数可以用数学写法,如1.23,2.83,-3.14等等. 3. 字符串 字符串是以单引号或者双引号括起来的任意文本,比如'abc',"hello world!"等等

Python学习笔记——数据类型和变量

在Python中,能够直接处理的数据类型有: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的.浮

python基础篇-数据类型和变量

字符串 print('I\'m ok.')print('I\'m learning\nPython.')print('\\\n\\')print('\\\t\\')print(r'\\\t\\')print('''linel...line2...line3''') print('''linelline2line3''') # -*- coding: utf-8 _*_print(r'''hello,\nworld''') 布尔值 TrueFalse3 > 23 > 5 True and Tru