【Python学习】基本数据类型

目录

一、赋值

链式赋值

系列解包赋值

常量

二、基本内置数据类型

类型

数字运算

1、整数

进制

类型转换 

 2、浮点数

类型转换

增强型赋值运算符

时间的表示 

数字格式化 

3、布尔值

比较运算符

逻辑运算符

同一运算符

4、字符串

基本特点

Unicode编码

引号创建字符串

len()函数

转义字符

字符串拼接

字符串复制

不换行打印 

从控制台读取字符串

字符串基本操作

字符串驻留

字符串比较和同一性

成员操作符

字符串常用方法 

字符串的格式化 


一、赋值

链式赋值

        同一个对象赋值给多个变量

x = y =123
# x = 123, y = 123

系列解包赋值

系列数据赋值给对于相同个数的变量(个数必须保持一致)

x, y, z = 1, 2, 3
# x = 1, y = 2, z = 3

常量

Python不支持常量,没有语法规则限制改变一个常量的值,所以约定常量命名规则

二、基本内置数据类型

类型

  1. 整型
  2. 浮点型
  3. 布尔型
  4. 字符串型

数字运算

 1.基本运算符

运算符说明
+加法
-减法
*乘法
/浮点数除法
//整数除法
%模(取余)
**

        注:除数为0,会产生异常

2.divmod()函数:同时得到商和余数

print(divmod(13, 3))
# (4, 1)

1、整数

进制

  • 0b或0B,二进制
  • 0o或0O,八进制
  • 十进制
  • 0x或0X,十六进制

类型转换 

1.int()

  • 浮点数直接舍去小数部分
  • 布尔值True转为1,False转为0
  • 字符串符合整数格式(浮点数格式不行)直接转为对应整数,否则报错

2.自动转型:数据类型可以自动由低级向高级转,反之不行 

3.整数范围

        Python3中,int可以储存任意大小的整数 ----> 适用于科学运算

 googol = 10**100

 2、浮点数

类型转换

1.float()

2.自动转型

3.round(value)可以返回四舍五入的值,但不会改变原有值,而是产生新的值(对象)

增强型赋值运算符

        基本运算符与=结合构成

a = a + 1   <==>   a += 1

时间的表示 

        计算机时间以“1970年1月1日 00:00:00”开始

import time
time.time()
# 获得当前时刻,返回以秒为单位,带微秒精度的浮点值

数字格式化 

浮点数通过f,整数通过d进行需要的格式化

格式描述
{:.nf}保留小数点后n位
{:+.nf}带符号保留小数点后n位
{:x>nd}数字补x(填充左边,宽度为n)
{:x<nd}数字补x(填充右边,宽度为n)
{:,}以逗号分隔的数字格式
{:.n%}保留小数点后n位的百分比格式
{:.ne}保留小数点后n位的指数记法
{:nd}右对齐(默认,宽度为n)
{:<nd}左对齐(默认,宽度为n)
{:^nd}居中对齐(默认,宽度为n)

3、布尔值

         本质还是0和1,可以直接做数字运算

比较运算符

运算符描述
==

等于

!=不等于
>大于
<小于
>=大于等于
<=小于等于

逻辑运算符

运算符描述

or

逻辑或

x为true,则不计算y,返回true

x为false,则返回y

and

逻辑与

x为true,则返回y的值

x为false,则不计算y,返回false

not

逻辑非

not x

        从左至右判断,如果第一个值已经决定结果,就不再看第二个值。注意返回值不一定是布尔值。

同一运算符

        用于比较两个对象的存储单元,即比较对象的地址

运算符描述
is判断两个标识符是不是引用同一个对象
is not判断两个标识符是不是引用不同对象

1.is与==区别:

  • is比较地址
  • ==比较值(默认调用__eq__()方法)

2.整数缓存

        仅缓存[-5, 256](cmd中),缓存[-5,任意值](Pycharm中),缓存后再赋值地址相同

3.优点

        is运算符比==效率高,在变量和None比较时,应使用is

4、字符串

基本特点

  1. 不可变
  2. 不支持单字符类型

Unicode编码

  1.  ord():把字符转换成对应的Unicode码
  2. chr():把十进制的数字转换成对应的字符

引号创建字符串

        单、双 :单行

        三:多行

        可以有空字符串存在

len()函数

        计算字符串含有多少字符

转义字符

转义字符描述
\(行尾)续行符
\\反斜杠符号
\'单引号
\''双引号
\b退格
\n换行
\t横向制表符
\r回车

字符串拼接

  1. 用+号
    'a' + 'b' = 'ab'
  2. 直接摆到一起
    'a''b' = 'ab'

字符串复制

'a' * 3 = 'aaa'

不换行打印 

         通过参数end="任意字符串",实现末尾添加任何内容,不换行的打印内容

print("a", end = '#')
print("b")
# 输出a#b

从控制台读取字符串

        使用input()从控制台读取键盘输入的内容

a = input("请输入:")
# 请输入:1
print(a)
# 1

字符串基本操作

1.str()实现数字转型字符串(布尔值也可以)

2.使用[ ]提取字符

  • 正向搜索str[0],从最左侧第一个字符开始直到len(str)-1
  • 反向搜索str[-1],从最右侧第一个字符开始直到-len(str)

3.replace()实现字符串替换

str = 'abcdefg'
# abcdefg
str.replace('a', 'A')
# Abcdefg

         实际上是创建了新的字符串对象并指向变量str,而不是修改了原来的字符串

 4.字符串slice切片

标准格式:[起始偏移量 start:终止偏移量end:步长step]

注:1.截取区间为[start,end)

        2.步长:隔几个字符取一个字符

        3.不论参数是正数还是负数,都是从左往右切

特别地:[::-1]为整个字符串从右到左反向提取

 5.spilt()分割

split('指定分隔符'),通过指定分隔符将字符串分隔为多个子字符串,并存储于列表中

 6.join()合并

'指定衔接符'.join(含有多个字符串的列表),通过指定衔接符将列表中的子字符串合并为一个字符串

注:拼接字符串join()的时间成本低于+,更优,且数据量越大越明显

字符串驻留

对于符合标识符规则的字符串,会在一次复制后启用字符串驻留机制(进入缓存池)

字符串比较和同一性

# 对于不符合标识符规则的字符串
c = 'aa#'
d = 'aa#'
print(c is d)
# False
print(c == d)
# True

成员操作符

in/not in,判断某个字符(子字符串)是否存在于字符串中

字符串常用方法 

1.常用查找方法

方法和使用示例说明
len(str)字符串长度
str.startwith()以指定字符串开头
str.endwith()以指定字符串结尾
str.find()第一次出现指定字符串的位置
str.rfind()最后一次出现指定字符串的位置
str.count()指定字符串出现了几次
str.isalnum()所有字符全是字母或数字

2.去除首尾指定信息

  • strip():去除首尾指定信息
  • lstrip():去除首指定信息
  • rstrip():去除尾指定信息

3.大小写转换

示例说明
str.capitalize()首字母大写
str.titl()每个单词都首字母大写
str.upper()所有字符全转成大写
str.lower()所有字符全转成小写
str.swapcase()所有字符大小写转换

 4.格式排版

函数示例
center()

'a'.center(10,'*')

'****a*****'

ljust()

'a'.ljust(10,'*')

'a*********'

rjust()

'a'.rjust(10,'*')

'*********a'

5.其他方法

  • isalnum():检测是否为字母或数字
  • isalpha():检测字符串是否只由字母组成(含汉字)
  • isdigit():检测字符串是否只由数字组成
  • isspace():检测是否为空白符
  • isupper():检测是否为大写字母
  • islower():检测是否为小写字母

字符串的格式化 

1.format()

通过{ }来进行格式化内容替换,format函数可以接受不想额参数,位置可以不按顺序(需要命名)

str = "名字是{0},年龄是{1}"
str.format("小明","18")
print(str)
# 名字是小明,年龄是18

2.填充与对齐

^、<、>分别是居中、左对齐、右对齐,后面带宽度

:后面带填充的字符,只能是一个字符,不指定的话默认用空格填充

"{:*>8}".format("abc")
# *****abc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值