2、Python中的基本数据类型

目录

约定,前面带*的,只需要了解即可,不在这个阶段使用

Python中的关键字

Python中的关键字如下
and continue except global labbda pass while
as def false if None raise with
assert del finally import nonlocal return yield
break elif for in not True
class else from is or try
这应该在命名变量时候避免


Integral类型

两种内置的Integral类型,分别为int与bool;
涉及到的数值型操作符与函数有
这里写图片描述
涉及到的整数转换函数有
这里写图片描述
涉及到的整数位逻辑操作符
这里写图片描述
布尔操作符,也就是常见的两种类型True和False

Python提供了3个逻辑操作符:and、or、not
一个例子

#!/usr/bin/env python
# encoding: utf-8

is_true = True
is_false = False
print(is_true and is_false)
print(is_true or is_false)
print(not is_false)

浮点类型

Python有3种浮点值:float、complex以及decimal.Decimal
float:存放双精度的浮点数;

*complex(复数):+ BJ的形式,其中a,b是彩车和J(或J)表示-1的平方根(这是一个虚数)。 a是真正的数字部分,b是虚部。复数不使用Python编程。
*decimal.Decimal:表示高精度(可以达到小数点后28位),更适合财政计算

对整型和浮点型,Math模块均可以适用
这里写图片描述
这里写图片描述
这里写图片描述

使用模块中的函数:

#!/usr/bin/env python
# encoding: utf-8

import math
print(math.pi*(5 ** 2))
print(math.hypot(5, 12))
print(math.modf(13.732))

十进制数

decimal模块可以提供固定的十进制数,其精度可以由自己决定;其缺点就是比浮点数的计算还要慢

一个例子

#!/usr/bin/env python
# encoding: utf-8

import decimal
a = decimal.Decimal(9876)
b = decimal.Decimal("54321.01234546")
print(a+b)

*decimal模块还提供了一些球对数、指数幂的操作


字符串

在Python中如果文件编码为ascii则中文可能出现乱码,此时如果表示中文则要在字符串前面带上u表示Unicode字符,如果文件编码声明为utf-8,也同样建议在包含中文的字符串前面带上u,比如声明一个变量name值为测试,则应该写成name=u’测试’

比较字符串

字符串比较可以使用操作符<、<=、!=、>、>=,这些操作符是逐个比较字符的

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
you_name = u'zengraoli'
print(my_name == you_name)
print(my_name >= you_name)
print(my_name <= you_name)
print(my_name != you_name)

字符串的分片(索引的使用)

和其他编程语言不同,Python字符串的索引操作同时还支持负数索引,尤其是-1,当索引为-1的时候,取的是最后一个字符

Python字符串的分片的操作形式在以下三类
str[start]:取出对应start位置的单个字符

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(my_name[4])

str [start:end]:从start到end,包含start位置的字符(上界),不包含end位置的字符(下界)
如果忽略了起始值start则可以写成str [:end]此时与str [0:end]等价;
如果忽略了终止值end则可以写成str [start:]此时与str [start:len(s)]等价;
如果同时忽略了start和end则可以写成str [:]此时与str [0:len(s)]等价;

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(my_name[0:4]) #zeng
print(my_name[:4]) #zeng
print(my_name[4:]) #raoli
print(my_name[:]) #zengraoli

str [start:end:step] :从start到end,但是按照step来取出间隔的字符,str [start:end]相对应的step为1

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(my_name[0::2]) #znroi

字符串操作符

这里写图片描述
这里写图片描述
这里写图片描述

由于字符串也是有大小的对象,因此可以通过len来返回字符串的字符数

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(len(my_name))

在字符串的操作中,可以通过+运算符来拼接两个字符串,但是如果需要拼接大量的字符串(比如都放在一个列表里面),还可以使用str.join(list)方法来拼接,list为字符串存放列表,str为拼接的间隔符

#!/usr/bin/env python
# encoding: utf-8

my_name = ['zeng', 'rao', 'li']
print("|".join(my_name))#zeng|rao|li

str.join(list)方法还可以结合reversed()函数一起使用,以实现对字符串的反转操作
#!/usr/bin/env python
# encoding: utf-8

my_name = ['zeng', 'rao', 'li']
print("|".join(reversed(my_name)))#li|rao|zeng

两种字符串查找的方法

  • 使用str.index(),该方法返回字符串的索引位置,在找不到的时候产生一个ValueError异常
my_name = u'zengraoli'
print(my_name.index('n'))#2
print(my_name.index('1'))#ValueError: substring not found
  • 使用str.find(),该方法返回字符串的索引位置,在找不到时候返回-1
#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(my_name.find('n'))#2
print(my_name.find('1'))#-1

其他常用的方法

#!/usr/bin/env python
# encoding: utf-8

my_name = u'zengraoli'
print(my_name.count('z'))#返回子串出现的个数
print(my_name.startswith('l'))
print(my_name.startswith('z'))
print(my_name.endswith('z'))
print(my_name.endswith('i'))
print(my_name.rfind('z'))#返回字符串最后一次出现的位置(从右向左查询)
print(my_name.rindex('i'))#返回子字符串 str 在字符串中最后出现的位置

格式化字符串

str.format()方法提供了很强大的创建字符串的途径

  • 返回一个新字符串
#!/usr/bin/env python
# encoding: utf-8

print("my name is {0}, age {1}".format("zengraoli", 23))
  • 连接数字和字符串
#!/usr/bin/env python
# encoding: utf-8

s = "{0}{1}{2}"
print(s.format('zeng', 11, 'raoli'))

常用的转换函数

#!/usr/bin/env python
# encoding: utf-8

print(int(3.14))
print(float(3))
print(int("3"))
print(str(3))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值