Python基础(一)_基本数据类型及操作

一:基本数据类型及操作

(一)基本数据类型
1.整数类型
  • 整数类型一共有4种进制表示:十进制、二进制、八进制和十六进制
    默认情况,整数采用十进制,其他进制需要增加引导符号(大小写字母均可使用)。
    整数类型
  • 整数类型理论上取值范围是[-∞,∞],实际上的取值范围受限于运行Python程序的计算机内存大小。除极大数的运算外,一般认为整数类型没有取值范围限制。
2.浮点数类型
  • Python语言要求所有浮点数必须带有小数部分,小数部分可以是0,这种设计是为了区分浮点数和整数类型。
  • 浮点数有两种表示方法:十进制表示法和科学技术表示法
  • 科学计数法使用字母e或E作为幂的符号,以10位基数,含义如下:
    科学计数法表示
    例如:2.5e-3的值为0.0025; 8.5E5的值是850000.0
  • 浮点数类型和小数类型由计算机的不同硬件单元执行,处理方法不同,需要注意的是,尽管浮点数0.0和整数0大小相等,但他们在计算机内部表示不同。
  • Python浮点数的数值范围和小数精度受不同计算机系统的限制,sys.float_info详细列出了Python解释器所运行系统的浮点数各项参数,例如
    浮点数数值范围和小数精度
    • 上述输出给出浮点数类型所能表示的最大值(max)、最小值(min),科学计数法表示下最大值的幂(max_ 10 exp)、 最小值的幂(min 10_ exp), 基数(radix) 为2时最大值的幂(max exp)、 最小值的幂(min_ _exp), 科学计数法表示中系数a的最大精度(mant _dig), 计算机所能分辨的两个相邻浮点数的最小差值( epsilon),能准确计算的浮点数最大个数(dig)。
  • 浮点数类型直接表示或科学计数法表示中的系数a最长可输出16个数字,浮点数运算结果中最长可输出17个数字,然而,根据sys.float info 结果,计算机只能够提供15个数字(dig) 的准确性,最后一位 由计算机根据二进制计算结果确定,存在误差,例如:
    浮点数精确度验证
    简单地说,浮点数类型的取值范围在[2-1023, 21023], 即[-2.225x10308, 1.797*10308]之间,运算精度为2.220x10-16,即浮点数运算误差仅为0.000 000 000 000 0002。对于高精度科学计算外的绝大部分运算来说,浮点数类型足够“可靠”,一般认为浮点数类型没有范围限制,运算结果准确。
3.复数类型
  • 复数可以看做是二元有序实数对(a,b),表示为a+bj,其中a是实数部分,b是虚数部分。Python语言中,复数的虚部通过后缀“J”或“j”来表示,例如:3+4j
  • 复数类型中实部和虚部的数值都是浮点数类型。对于复数z,可以用z.real和z.imag分别获取它的实数部分和虚数部分,例如:
    复数取实部和虚部
4.字符串类型
  • 字符串类型用来存储和处理文本信息;字符串是用单引号、双引号或三引号括起来的一个、多个或多行字符;其中,单引号和双引号都可以表示单行字符串,两者作用相同。使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的部分。三引号可以表示单行或者多行字符串
  • 字符串是字符的序列,可以按照单个字符或字符片段进行索引。字符串包括两种序号体系:正向递增序号和反向递减序号;
    字符串两种序列
    Python字符串提供区间访问方式,采用[N:M:T]格式,表示从N到M(不包含M)的子字符串,正向递增序列和反向递减序列可混合使用;T表示步长。举例:
string = "我将无我,不负人民" #共有9个字符
print(string[0:4])            #打印前四个字符
print(string[2:4])            #打印第三四个字符
print(string[0:-1])           #打印除去最后一个字符的字符串
print(string[:-1])            #打印除去最后一个字符的字符串
print(string[-1])             #打印最后一个字符
print(string[:])              #打印全部字符
print(string[::2])            #切片打印,步长为2

输出

我将无我
无我
我将无我,不负人
我将无我,不负人

我将无我,不负人民
我无,负民

  • 转义字符&特殊的格式化控制字符
    字符串以Unicode编码存储,因此,字符串的英文字符和中文字符都算作一个字符。反斜杠字符(\)是一个特殊字符,在字符含义中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。例如:'表示单引号,"表示双引号
转义字符说明
\ ’表示单引号
\ "表示双引号
格式化控制字符说明
\a蜂鸣,响铃
\b回退,向后退一格
\f换页
\n换行,光标移到下行行首
\r回车,光标移到本行行首
\t水平制表
\v垂直指标
\0NULL,什么都不做

格式化控制字符

(二)数据类型的操作
1.内置的数值运算操作符
  • Python提供了9个基本的数值运算操作符,不需要引用第三方库。
操作符描述
x + yx与y之和
x - yx与y之差
x * yx与y之积
x / yx与y之商
x // yx与y之整数商,即不大于x与y之商的最大整数
x % yxy与y之商的余数,也称为模运算
- xx的负值
+ xx本身
x ** yx的y次幂,即xy
  • 操作符运算结果可能改变数字类型,基本规则如下:
    • (1) 整数之间运算,如果数学意义上的结果是小数,结果是浮点数。
    • (2) 整数之间运算,如果数学意义上的结果是整数,结果是整数。
    • (3) 整数和浮点数混合运算,输出结果是浮点数。
    • (4) 整数或浮点数与复数运算,输出结果是复数。
  • 所有二元数学操作符(+,-,x,/,//,%,** )都有与之对应的增强赋值操作符(+=、 -=、*=、/=、//=、%=. **=)。如果用op表示这些二元数学操作符,则下面两个赋值操作等价,注意,op和二元操作符之间没有空格:
    x op = y 等价于 x = x op y
    增强赋值操作符获得的结果写入变量x中,简化了代码表达,例如:
    x += 3 相当于 x = x +3
2.内置的数值运算函数

内置数值运算函数
abs()可以计算复数的绝对值,例如: abs(-3+4j)的值为5.0

3.内置的数字类型转换函数
  • 数值运算操作符可以隐式地转换输出结果的数字类型,例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换;
函数描述
int(x)将x转换为整数,x可以是浮点数或字符串
float(x)将x转换为浮点数,x可以是整数或字符串
complex(re[,im])生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能是字符串
  • 浮点数类型转换为整数类型时,小数部分会被舍弃(不使用四舍五入),复数不能直接转换为其他数字类型,可以通过real和.imag将复数的实部或虚部分别转换,例如:
float((3+4j).imag)

4.0

4.基本字符串操作符
操作符描述
x+y连接两个字符串x和y
xn 或 nx复制n次字符串x
x in s如果是x s的子串,返回Ture,否则返回False
str[ i ]索引,返回第i个字符
str[ N:M ]切片,返回索引第N到第M的子串,其中不包括M
5.关系操作符

关系操作符

6.内置的字符串处理函数

字符串处理函数

7.常用字符串处理函数
  • input函数
    从控制台获得用户的输入,不管用户输入什么内容,input()函数都以字符串类型返回结果;
    获得用户输入前可包含一些提示性文字,使用方法如下:

    <变量> = input(<提示性文字>)

    举例input函数演示

  • eval(函数)
    eval(<字符串>) 函数能够以Python表达式的方式解析并执行字符串;简单来说,eval(<字符串>)函数将输入的字符串转变成Python语句,并执行该语句;
     
    eval()函数可将用户输入的部分输入由字符串转变成Python内部可进行数学运算的数值。
    例如:eval()函数演示
    使用eval()函数处理字符串时需要合理使用。例如,如果直接输入字符串"hello",eval()函数将去掉两个引号,将其解释为一个变量,由于之前没有定义过hello变量,解释器会报错。当输入字符串“‘hello’”时,eval()函数会去掉外部双引号后,内部还有一个引号,则’hello’被解释为字符串。

8.字符串类型的格式化
字符串通过format()方法进行格式化处理
  • format()方法的基本使用
    <模板字符串>. format (<逗号分隔的参数>)
    • 模板字符串由一系列槽组成,用来控制修改字符串中嵌入值出现的位置,其基本思想是将format)方法中逗号分隔的参数按照序号关系替换到模板字符串的槽中。槽用大括号({}) 表示,如果大括号中没有序号,则按照出现顺序替换,例如
"{ }:计算机{ }的CPU占用率为{ }%。".format("2020.01.30","Python",10)

槽的顺序

  • format()方法的基本使用
    <模板字符串>. format (<逗号分隔的参数>)

    • 如果大括号中指定了使用参数的序号,按照序号对应参数替换,参数从0开始编号。调用format()方法后会返回一个新的字符串。例如:
      槽的顺序
  • format()方法的格式控制
    format()方法中模板字符串的槽除了包括参数序列,还可以包括格式控制信息。此时,槽的内部样式如下: {<参数序号>:<格式控制标记>}

    槽中格式控制标记
    格式控制标记字段

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值