Python-1.基本数据类型

一、数字类型及操作

1.1 整数类型

关于Python整数,就需要知道这些。

  • 整数无限制

    • pow():pow(x,y)函数:计算 x y ,想算多大算多大
  • 4种进制表示形式

    • 十进制:1010, 99, -217
    • 二进制,以0b或0B开头:0b010, -0B101
    • 八进制,以0o或0O开头:0o123, -0O456
    • 十六进制,以0x或0X开头:0x9a, -0X89
1.2 浮点数类型
  • 取值范围和精度基本无限制

    • 带有小数点及小数的数字
    • 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
    • 取值范围数量级约-10^308 至10^308 ,精度数量级10^-16
  • 浮点数间运算存在不确定尾数

>>> 0.1 + 0.3
>>> 0.4
>>> 0.1 + 0.2
>>> 0.30000000000000004

0000000000000004 不确定尾数

round(x, d):对x四舍五入,d是小数截取位数

  • 科学计数法表示

    • 使用字母e或E作为幂的符号,以10为基数,格式如下:
      <a>e<b> 表示 a*10 b
    • 例如:4.3e-3 值为0.0043; 9.6E5 值为960000.0
1.3 复数类型
  • 定义 j=根号-1,以此为基础,构建数学体系,a+bj被称为复数,其中,a是实部,b是虚部
  • 复数实例
    z = 1.23e-4+5.6e+89j
    • 实部是什么? z.real 获得实部
    • 虚部是什么? z.imag 获得虚部
1.4 数值运算操作符

操作符是完成运算的一种符号体系

操作符及使用描述
x + y加,x与y之和
x – y减,x与y之差
x * y乘,x与y之积
x / y除,x与y之商 10/3结果是3.3333333333333335
x // y整数除,x与y之整数商 10//3结果是3
+ xx本身
- yx的负值
x % y余数,模运算 10%3结果是1
x ** y幂运算,x的y次幂,x y;当y是小数时,开方运算
x op= y即 x = x op y,其中,op为二元操作符。如:x += yx -= yx *= yx /= yx //= yx %= yx **= y

数字类型的关系

类型间可进行混合运算,生成结果为"最宽"类型

  • 三种类型存在一种逐渐"扩展"或"变宽"的关系:
    整数 -> 浮点数 -> 复数
  • 例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数)

注意

在c++、javascript等语言中,有i++,和++i,这样自增,自减运算符。但在python中不存在这样的运算符。要实现自增:a+=1;自减:a-=1

>>> a = 1
>>> a++     # a 先不自加
1
>>> a
2

>>> b = 1
>>> ++b
2
>>> b
2
1.5 数值运算函数

一些以函数形式提供的数值运算功能

函数及使用描述
abs(x)绝对值,x的绝对值。 abs(-10.01) 结果为 10.01
divmod(x,y)商余,(x//y, x%y),同时输出商和余数。divmod(10, 3) 结果为 (3, 1)
pow(x, y[, z])幂余,(x**y)%z,[…]表示参数z可省略。pow(3, pow(3, 99), 10000) 结果为 4587
round(x[, d])四舍五入,d是保留小数位数,默认值为0。round(-10.123, 2) 结果为 -10.12
max(x 1 ,x 2 , … ,x n )最大值,返回x 1 ,x 2 , … ,x n 中的最大值,n不限。max(1, 9, 5, 4 3) 结果为 9
min(x 1 ,x 2 , … ,x n )最小值,返回x 1 ,x 2 , … ,x n 中的最小值,n不限。min(1, 9, 5, 4 3) 结果为 1
int(x)将x变成整数,舍弃小数部分int(123.45) 结果为123; int(“123”) 结果为123
float(x)将x变成浮点数,增加小数部分float(12) 结果为12.0; float(“1.23”) 结果为1.23
complex(x)将x变成复数,增加虚数部分complex(4) 结果为 4 + 0j

二、字符串类型及操作

2.1 字符串类型的表示
  • 字符串:由0个或多个字符组成的有序字符序列
    • 字符串由一对单引号或一对双引号表示。如:"请输入带有符号的温度值: "或者 ‘C’
    • 字符串是字符的有序序列,可以对其中的字符进行索引。如:“请” 是 "请输入带有符号的温度值: " 的第0个字符
  • 字符串有2类共4种表示方法
    • 由一对单引号或双引号表示,仅表示单行字符串。如:"请输入带有符号的温度值: "或者 ‘C’
    • 由一对三单引号或三双引号表示,可表示多行字符串。如:
      ‘’’ Python

      语言 ‘’’
  • 字符串的序号

正向递增序号 和 反向递减序号

image

  • 字符串的使用

使用[ ]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 <字符串>[M]。如:
    "请输入带有符号的温度值: "[0] 或者 TempStr[-1]
  • 切片:返回字符串中一段字符子串 <字符串>[M: N]。如:
    "请输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

字符串切片高级用法

  • 使用[M: N: K]根据步长对字符串切片
    - <字符串>[M: N],M缺失表示至开头,N缺失表示至结尾。如:
    - “〇一二三四五六七八九十”[:3] 结果是 “〇一二”
- <字符串>[M: N: K],根据步长K对字符串切片。如:
- "〇一二三四五六七八九十"[1:8:2] 结果是 "一三五七"
- "〇一二三四五六七八九十"[::-1] 结果是 "十九八七六五四三二一〇"
  • 字符串的特殊字符:转义符 \
    • 转义符表达特定字符的本意
      " 这里有个双引号(")" 结果为 这里有个双引号(")
    • 转义符形成一些组合,表达一些不可打印的含义
      "\b"回退 "\n"换行(光标移动到下行首) "\r" 回车(光标移动到本行首)
2.2 字符串操作符

由0个或多个字符组成的有序字符序列

操作符及使用描述
x + y连接两个字符串x和y
n * x 或 x * n复制n次字符串x
x in s如果x是s的子串,返回True,否则返回False
2.3 字符串处理函数

一些以函数形式提供的字符串处理功能

header 1header 2
len(x)长度,返回字符串x的长度。len(“一二三456”) 结果为 6
str(x)任意类型x所对应的字符串形式。str(1.23)结果为"1.23"; str([1,2])结果为"[1,2]"
hex(x) 或 oct(x)整数x的十六进制或八进制小写形式字符串。hex(425)结果为"0x1a9"; oct(425)结果为"0o651"
chr(u)x为Unicode编码,返回其对应的字符
ord(x)x为字符,返回其对应的Unicode编码

Unicode编码
Python字符串的编码方式

  • 统一字符编码,即覆盖几乎所有字符的编码方式
  • 从0到1114111 (0x10FFFF)空间,每个编码对应一个字符
  • Python字符串中每个字符都是Unicode编码字符
一些有趣的例子
>>> "1 + 1 = 2 " + chr(10004)
'1 + 1 = 2 ✔'

>>> "这个字符 ♉ 的Unicode值是:" + str(ord(" ♉ "))
'这个字符♉的Unicode值是: 9801'

>>> for i in range(12):
print(chr(9800 + i), end="")
♈♉♊♋♌♍♎♏♐♑♒♓
2.4 字符串处理方法

一些以方法形式提供的字符串处理功能

方法及使用描述
str.lower() 或 str.upper()返回字符串的副本,全部字符小写/大写。"AbCdEfGh".lower() 结果为 "abcdefgh"
str.split(sep=None)返回一个列表,由str根据sep被分隔的部分组成。"A,B,C".split(",") 结果为 ['A','B','C']
str.replace(old, new)返回字符串str副本,所有old子串被替换为new。"python".replace("n","n123.io") 结果为"python123.io"
str.center(width[,fillchar])字符串str根据宽度width居中,fillchar可选。 "python".center(20,"=") 结果为'\==\==\==\=python======='
str.strip(chars)从str中去掉在其左侧和右侧chars中列出的字符。"= python= ".strip(" =np") 结果为"ytho"
str.lstrip(chars)从str中去掉在其左侧chars中列出的字符。
str.rstrip(chars)从str中去掉在其右侧chars中列出的字符。
str.join(iter)在iter变量除最后元素外每个元素后增加一个str。",".join("12345") 结果为"1,2,3,4,5" #主要用于字符串分隔等
2.5 字符串类型的格式化

格式化是对字符串进行格式表达的方式

  • 字符串格式化使用.format()方法,用法如下:
    <模板字符串>.format(<逗号分隔的参数>)

槽内部对格式化的配置方式:{ <参数序号> : <格式控制标记>}

:<填充><对齐><宽度><,><.精度><类型>
引导符号用于填充的单个字符< 左对齐
> 右对齐
^ 居中对齐
槽设定的输出宽度数字的千分位分隔符浮点数小数精度或字符串最大输出长度整数类型:b,c,d,o,x,X;
浮点数类型:e,E,f,%
>>>"{0:=^20}".format("PYTHON")
'=======PYTHON======='

>>>"{0:*>20}".format("BIT")
'*****************BIT'

>>>"{:10}".format("BIT")
'BIT       '

>>>"{0:,.2f}".format(12345.6789)
'12,345.68'

>>> " {0:b},{0:c},{0:d},{0:o},{0:x},{0:X} ".format(425)
'110101001,Ʃ,425,651,1a9,1A9'

>>>"{0:e},{0:E},{0:f},{0:%}" . format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值