6.Python 数字和字符串

1.Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

Python 支持四种不同的数值类型:

  • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
  • 长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
  • 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
  • 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

数字类型的转换

 1 int(x [,base ])         将x转换为一个整数  
 2 long(x [,base ])        将x转换为一个长整数  
 3 float(x )               将x转换到一个浮点数  
 4 complex(real [,imag ])  创建一个复数  
 5 str(x )                 将对象 x 转换为字符串  
 6 repr(x )                将对象 x 转换为表达式字符串  
 7 eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
 8 tuple(s )               将序列 s 转换为一个元组  
 9 list(s )                将序列 s 转换为一个列表  
10 chr(x )                 将一个整数转换为一个字符  
11 unichr(x )              将一个整数转换为Unicode字符  
12 ord(x )                 将一个字符转换为它的整数值  
13 hex(x )                 将一个整数转换为一个十六进制字符串  
14 oct(x )                 将一个整数转换为一个八进制字符串  

Python math 模块、cmath 模块

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数。

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

 1 函数    返回值 ( 描述 )
 2 abs(x)    返回数字的绝对值,如abs(-10) 返回 10
 3 ceil(x)    返回数字的上入整数,如math.ceil(4.1) 返回 5
 4 cmp(x, y)  比较x和y的数值  如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
 5 exp(x)    返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
 6 fabs(x)    返回数字的绝对值,如math.fabs(-10) 返回10.0
 7 floor(x)    返回数字的下舍整数,如math.floor(4.9)返回 4
 8 log(x)    如math.log(math.e)返回1.0,math.log(100,10)返回2.0
 9 log10(x)    返回以10为基数的x的对数,如math.log10(100)返回 2.0
10 max(x1, x2,...)    返回给定参数的最大值,参数可以为序列。
11 min(x1, x2,...)    返回给定参数的最小值,参数可以为序列。
12 modf(x)    返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
13 pow(x, y)    x**y 运算后的值。
14 round(x [,n])    返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
15 sqrt(x)    返回数字x的平方根

使用函数也很简单  只需导入该模块即可: import math

2.Python随机数函数的使用

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

1 函数             描述
2 choice(seq)    从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
3 randrange ([start,] stop [,step])    从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
4 random()    随机生成下一个实数,它在[0,1)范围内。
5 seed([x])    改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
6 shuffle(lst)    将序列的所有元素随机排序
7 uniform(x, y)    随机生成下一个实数,它在[x,y]范围内。

调用随机函数只需引入模块:import random

1 >>> import random
2 >>> random.choice(range(10))  随机挑选0-9的一个数字
3 6
4 >>> random.random()  随机产生从0-1的一个数
5 0.43610051949868023
6 >>> random.uniform(0,100)  在0-100随机产生一个实数
7 89.15464495251244
8 >>> 

 3.Python字符串类型

字符串是程序语言当中最常见的数据类型之一,通常会涉及到字符串的处理也会是比较多,字符串的拼接格式化(大小写,编码格式,分割替换,前后空格等处理),转义等等处理

3.1Python可以通过通过方括号[ ] 对字符串进行截取

示例如下

1 #!/usr/bin/python
2  
3 var1 = 'Hello World!'
4 var2 = "Python Runoob"
5  
6 print "var1[0]: ", var1[0] 结果 
7 print "var2[1:5]: ", var2[1:5]

python字符串运算如下:

 

3.2在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。

如下表:

 

 

 3.2Python字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

 1      符号     描述
 2       %c     格式化字符及其ASCII码
 3       %s     格式化字符串
 4       %d     格式化整数
 5       %u     格式化无符号整型
 6       %o     格式化无符号八进制数
 7       %x     格式化无符号十六进制数
 8       %X     格式化无符号十六进制数(大写)
 9       %f     格式化浮点数字,可指定小数点后的精度
10       %e     用科学计数法格式化浮点数
11       %E     作用同%e,用科学计数法格式化浮点数
12       %g     %f和%e的简写
13       %G     %F 和 %E 的简写
14       %p     用十六进制数格式化变量的地址

Python2.6 开始,新增了一种格式化字符串的函数  str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

参考地址:https://www.runoob.com/python/att-string-format.html

3.3Python三引号

python中三引号可以将复杂的字符串进行复制:

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

1  >>> hi = '''hi 
2 there'''
3 >>> hi   # repr()
4 'hi\nthere'
5 >>> print hi  # str()
6 hi 
7 there  

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神。

3.4Python内部提供了很多很好用的内建函数

参考地址:https://www.runoob.com/python/python-strings.html  链接后半部

1. string.capitalize()   把字符串的第一个字符大写

2.utf-8解码 string.decode(encoding='UTF-8', errors='strict')  以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'

3.utf-8编码 string.encode(encoding='UTF-8', errors='strict')  以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

4.查找 string.find(str, beg=0, end=len(string))  检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

5.string.isalpha()    如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

6.string.isnumeric()   如果 string 中只包含数字字符,则返回 True,否则返回 False

7.string.join(seq)    以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

8.string.lower()   转换 string 中所有大写字符为小写.

9.string.upper()  转换 string 中的小写字母为大写

10.string.swapcase()   翻转 string 中的大小写

 

posted @ 2019-10-25 00:21  Jeessu  阅读(468)  评论(0编辑  收藏  举报