Python教程

Python基础语法-(3)-基本数据类型(1)

本文主要是介绍Python基础语法-(3)-基本数据类型(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述

python基本数据类型

为什么会有数据类型?

1.更好的分配管理内存
2.方便统一管理
3.更贴近人类分类管理习惯

一、数值类型

数值类型是不可变类型,一旦改变就意味着对象的改变,数字1,2是两个不同的对象,对变量重新赋值就会创造一个新的数字对象。

需要注意的是:python里的变量本身只是一个容器,本身没有数据类型的概念,只有1,2,'hello’等才具有数据类型的概念。

整数(int)

通常表现为十进制,可以用hex(),oct(),bin()转为16,8,2进制数。

print(hex(100))#0x60
print(oct(100))#0o144
print(bin(100))#0b1100100

可以看到,16进制以0b开头,8进制以0o开头,2进制以0b开头。

小整数对象池(了解)

python 初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使在程序里没有创建它,其实在 Python 后台已经创建了。

浮点数(float)

浮点数也就是小数,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,一般用科学计数法表示,把10用e代替1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

int 类型与 float 类型互相转换

a=1
print(type(a))#<class 'int'>
a=float(a)
print(type(a))#<class 'float'>
a=int(a)
print(type(a))#<class 'int'>

可以看到用int(),float()方法可以实现整型与浮点型的互相转化

复数(complex)

复数由 实数部分 和 虚数部分 构成,可以用 a + bj, 或者 complex(a,b) 表示,复数的实部a和虚部b都是浮点数。

print(complex(1.2))#(1.2+0j)

数学计算库(math)

对于math,用的地方在开发里并不是很多,在这里仅介绍几种常用的方法。

import math

print(math.ceil(5.3))  # 6
#  向上取整
print(math.floor(5.3))  # 5
#  向下取整
print(math.pow(3, 4))  # 81.0
#  3的4次幂
print(abs(-10))  # 10
#  取绝对值
print(round(4.4))  # 4
print(round(4.5))  # 4
print(round(4.51))  # 5
print(round(3.5))  # 4
#  四舍六入   五成偶(四舍五入后为奇数则直接舍去小数点后的数,不进位,否则进一位)
print(round(5.862, 1))  # 5.9
#  第二个参数代表保留精度为,默认为0

布尔类型与空值

但在Python语言中,布尔类型只有两个值,True 与 False。
注意:首字母必须大写,不能有其它的花式变型。

布尔类型的应用

"""
布尔类型应用
"""
print(2 > 3)    # False

print(2 < 3)    # True

print(3 in [1, 2, 3])   # True

print(3 == 9/3)     # True 3 == 3.0

print(3 is 3.0)     # False

布尔函数的应用

"""
布尔函数
"""
print(bool(True))     # True
print(bool(False))    # False

# 数值:0 0.0的bool值为False,其余的全为True
print(bool(1))        # True
print(bool(-1))       # True
print(bool(0))        # False
print(bool(0.0))      # False

# 字符串:只有空字符串的bool值为False,其余均为True。注意:含有空格的字符串也是非空字符串
print(bool("yes"))    # True
print(bool(""))       # False
print(bool("  "))     # True
print(bool("0"))      # True

# 列表
print(bool([]))              # False
print(bool([1, 2, 3]))       # True

# None
print(bool(None))               # False  None的布尔值永远为False
"""
布尔计算
"""
print(True + 1)  #  2
print(False + 1)  #  1  

字符类型以及切片

字符串是 Python 中最常用的数据类型之一,使用单引号或双引号来创建字符串,使用三引号创建多行字符串。

注意:

字符串的单引号与双引号都是 成对 出现的,不能一边单一边双。字符串是 不可变 的 序列数据类型,不能直接修改字符串本身,和数字类型一样!

# 如果需要换行 加换行符 \n,如果需要打印\n这个符号,那么加转义字符\\n
s1 = "hello \n hansen"
print(s1)
#hello 
# hansen
s2 = 'hello hansen2'
print(s2)
#hello hansen2
# 文本格式,保留文本的样式
s3 = """hello 
hansen3"""
print(s3)
#hello 
#hansen3

字符串

字符串的下标(重点掌握)

由于字符串是 序列数据结构 ,所以我们可以通过下标将字符串中某个字母取出来。下标也可称为索引,默认从0开始

name= 'hello world'
print(name[4]) # o
print(name[-1]) #d
#用,下标取值,使用负值 -a表示逆向第a个值

####字符串类型是不可改变类型

name= 'hello world'
name[2]='f'  #  TypeError: 'str' object does not support item assignment

字符串的切片

str[begin,end,step]
#从begin取值道end,步长为step(没隔step-1个元素进行一次取值)步长默认为1
name = 'good boy'
print(name[3:7])#d bo
#步长默认为一,取值遵循左开右闭

print(name[3:])#d boy
#end默认为最后

print(name[:7])#good bo
#begin默认为0

print(name[3:8:2])#dby

字符串转换

字符串转数值类型

name='123'
print(type(name))<class 'str'>
int(name) 
print(type(name))<class 'int'>
name="1.23"

name=int(name)#ValueError: invalid literal for int() with base 10: '10.1'
name='abc'
int(name)#ValueError: invalid literal for int() with base 10: 'abc'

#字符串转整数只能整数字符类型,转小数应用float()
name='123.456'
print(float(name))#123.456

字符串拼接

"""
字符串拼接
"""
#print('1'+'2')    # 字符串用+做拼接 '12'

字符串格式化

"""
字符串格式化
"""
name = "hansen"
age = 20

# %号格式需要考虑数据类型
# %s --> str
# %d --> decimal
# %f --> float
print("%s年龄为%d" % (name, age))#hansen年龄为20
# str.format() 好处1:不用考虑数据类型 好处2:可以切换位置
# {} --> 占坑
print("{1}年龄为{0}".format(age, name))#hansen年龄为20
#{}内数据默认一一对应,改变{}值可以改变顺序

# f''  python3.6.4以上的版本
# {} --> 占坑
print(f"{name}年龄为{age}")#hansen年龄为20
这篇关于Python基础语法-(3)-基本数据类型(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!