Python的基本数据类型及变量、常量

Python的基本数据类型及变量、常量

(一)数据类型

python的基本数据类型分以下几种:

1.Number(数字)

a.整数 【int】:python可以处理任意大小的整数,当然包括负整数,在程序的表示方法和数学上的写法是一模一样的,例如:1, 100, -10等

b.浮点数【float】:浮点数又称小数,之所以称之为浮点数,是因为按照科学计数法表示的的时候,一个浮点数的位置是可变的,比如1.23x10^5 与 12.3x10^4是相等的。在python中浮点数的表示会有一定的误差,这个误差的原因是实数的无限精度跟计算机的有限内存之间的矛盾

注意:整数与浮点数在计算机内存的存储方式不同,整数运算是精确的,而浮点数运算则可能会有四舍五入的误差。

c.复数:复数由实数部分和虚数部分组成,可以用a+bj或者complex(a,b)的形式表示,复数的实部a和虚部b都是浮点型。

2.String(字符串)

字符串是以单引号或双引号括起来的任意文本,比如“abc”,‘xy’等等,请注意‘’或者“”本身只是一种表示方式,并不是字符串的一部分。

a.若字符串内部包含单引号又包含双引号怎么办?

当单独配套使用单引号或双引号时,对字符串来说效果是一样的,但在如下例子中,括起来的文中I’m的单引号或者“ok”的双引号对结果是会产生混乱影响的,因此,需要添加\对这些文本中本身包含的引号进行申明,这种情况下运行程序可以识别到其为文本的一部分的。

print('I\'m \"ok\"')

表示的字符串内容是:

I'm "ok"

注意:转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也需要转义,所以\\表示的字符就是\等等

>>>print('I\'m ok.')
I'm ok.
>>>print('I\'m learning\n python.')
I'm leanring
Python.
>>> print('\\\n\\')

但是,如果字符串里面很多字符需要转义,就需要添加很多,为了简化,python还允许用r’’“表示内部的字符串默认不转义。

>>> print('\\\t\\')
\	\
>>>print(r'\\\t\\')
\\\t\\

如果字符串内部很多换行,用\n写在一行里不好阅读,为了简化,python允许用’’’…’’'的格式表示多行内容:

>>> print('''line1
	line2
	line3''')
line1
line2
line3
3.Boolean(布尔值)

布尔值只有True、False两种值,在python中可以直接用True、False表示布尔值【注意大小写】,也可以通过布尔运算计算出来:

>>> True
True
>>> 3 > 2
True

注意:布尔值还可以参与到运算种去,当进行运算时,True值为1,False值为0。

4.None(空值)

空值是python里一个特殊的值,用None表示,None与0表示的意思并不相同,而None是一个特殊的空值。

>>> print(None == 0)
False
5.list(列表)

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

>>> list1 = ["张三", "王二", "李四"]
>>> type(list1)
<class 'list'>
6.tuple(元组)

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

>>> tuple1 = ("张三", "王二", "李四")
>>> type(tuple1)
<class 'tuple'>
7.dict(字典)

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。键具有唯一性,而值可以重复出现,同时字典是无序的。

>>> dict1 = {'lisi': 89, 'lili':90}
>>> type(dict1)
<class 'dict'>
8.set(集合)

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key,故set具有去重功能

>>> set1 = {"lisi", "wanger"}
>>> type(set1)
<class 'set'>

>>>set1 = {"1","2","3","hello","3"}
>>>print(set1)
{'2', 'hello', '3', '1'}

注意:set是无序的。

(二)变量

变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

1.概述:程序可操作的存储区的名称,在运行的期间能够改变的数据,每个变量都是特定的类型

作用:将不同类型的数据存储到内存中

2.变量的定义:

变量名=初始值

age = 18

注:给定初始值的原因是因为确定变量的类型

age = 18
print('age =', age)
#查看变量的类型
print(type(age))
#查看变量的地址
print(id(age))

3.删除变量:

del 变量名

注意:删除后的变量无法引用

age = 18
#删除age变量
del age
#打印age的值
print('age =', age)

注意:在Python中,等号=是赋值符号,可以把任意数据类型赋值给变量,同一个变量也可以反复赋值,而且可以是不同类型的变量。像这种本身类型不固定的语言被称为动态数据类型语言

当然你也可以这么理解,变量的类型取决于被赋的值的类型。

a = 123 #a是整数
print(a)
print(type(a))
a = 'abc' #a变为字符串
print(a)
print(type(a))
(三)常量

程序运行期间不能改变的数据

#常见的常量
123
'abc'
(四)数据类型转化
1.数字类型之间的转换
> int(x) :将x转换为一个整数

> float(x) :将x转换为一个浮点数
 
>str(x):将x转换为字符串
#浮点数转为int
print(int(1.9))
# int转为浮点数
print(float(1))
#字符串转为int
print(int('123'))
#字符串转为float
print(float('12.3'))
#注意:如果有其他无用字符会报错,比如:
print(int('abc'))
#只有正负号才有意义
print(int('+123'))
print(int('-123'))
#在进行print衔接输出时,输出的类型要一致
print"我今年"+str18"岁。"
2.数学函数

abs(x):返回数字的绝对值

(x > y)-(x < y) :比较大小,取值为正x>y ,取值为负x<y

max(n1, n2, n3,…):返回给定指定参数的最大值

min(n1, n2, n3):返回给定指定参数最小值

pow(x,y):求x的y次方的值

round(x, n):返回浮点数x的四舍五入值,如果给定n值,则代表舍入到小数点后的位数

#返回数字的绝对值
num1 = -10
num2 = abs(num1)
print(num2)

#比较两个数的大小
num3 = 100
num4 = 8
print((num3 > num4)-(num3 < num4))

#返回给定参数的最大值
print(max(1, 2, 3, 45, 34, 12))

#返回给定参数的最小值
print(min(12354))

#求x的y次方  2^5
print(pow(2, 5))

#round(x[,n])返回浮点数x的四舍五入的值,如果给出n值,则代表舍入到小数点后n位
#默认保留整数
#2.7版本   3.x版本 向偶数靠拢
print(round(2.1234))
print(round(2.13334, 3))
3.math模块的使用

导入math模块

math.ceil(x):返回x的向上取整数值

math.floor(x):返回x的向下取整的数值

math.modf(x):返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点数表示。

math.sqrt(x):反回数字的x的开平方根,返回类型为实数【浮点型】

import math

#向上取整
print(math.ceil(18.1))
print(math.ceil(18.8))

#向下取整
print(math.floor(18.1))
print(math.floor(18.9))

#返回整数部分与小数部分
print(math.modf(22.123))

#开方
print(math.sqrt(16))
4.随机数函数

导入random模块

random.choice([1,2,3,4]) :随机返回一个元素【从指定序列中挑选一个元素】

random.randrange(n):从0~n-1之间选择一个随机数

random.random() :随机产生[0,1)之间的数,结果为浮点数

l1 = [1, 2, 4, 5]

random.shuffle(l1) :将序列中的所有元素进行随机排列

random.uniform(m, n) :随机产生一个[m, n]之间的浮点数

import random

nums = range(10)
# range([start,] stop[, step])
# range()函数返回一个可迭代对象
# start:计数从start开始,默认从0开始
# stop:计数到stop结束,但不包括stop
# step: 步长,默认为1
list(nums)
# 使用list可以把可迭代对象转为一个列表,返回的类型为列表
#随机数
print(random.choice([1,3,4,5]))
print(random.choice(range(5)))
print(random.choice("hello"))

#产生一个1~100之间的随机数
r1 = random.choice(range(100))+1
print(r1)

#从指定范围内,按指定的基数递增的集合中选取一个随机数
#random.randrange([start,]stop[, step])
#start:指定范围的开始值,包含在范围内,默认是0
#stop:指定范围结束值,不包含在范围内
#step:指定的递增基数,默认是1
print(random.randrang(1, 100, 2))

#从0~99选取一个随机数
print(random.randrang(100))

#随机产生[0,1)之间的数(浮点数)
print(random.random())

#随机产生一个实数,在[3,9]范围内
print(random.uniform(3, 9))

list = [1, 2, 3, 23, 21]
#将序列的所有元素随机排序
random.shuffle(list)
print(list)
5.三角函数

需要导入math模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值