🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 介绍 > 本章主要是是介绍数字和字符串内置的各种方法. 方法很多没必要全部死记硬背记住!只需要熟悉几个常用的就好! 其余的方法可以查看文档和IDE提示 **方法:表示对象的各种功能** ![汽车对象方法](https://box.kancloud.cn/c0d7547730c71a97cbe640ecec2cfd84_915x562.png) # 数字Number >Python 数字数据类型用于存储数值。 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间。 ## 创建和交换 ``` a=3; b =4; a,b = b,a; ``` ## del删除数字对象引用 ``` del 变量名1,变量名2,.... ``` ## 4种不同的整数类型 - 整型(Int) - 长整型(long integers) 表示无限制大小的整数 `比如:51924361L` 后缀为大小写的L - 浮点型(float) 可以用科学计数法表示 ![科学计数法](https://box.kancloud.cn/00f1643ffa99a6aa1698fce03dedeb5a_167x25.png) 250 = e <sup>2</sup> = 2.5 * 10 <sup>2</sup> - 复数(complex) `3.14j` 复数的实部a和虚部b都是浮点型。 ## 强制数字类型转换 >有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。 - int(x) - float(x) ## 数字运算 数字运算时,自动向精度高类型的转换! ``` 8/5 #总是返回一个浮点数 17 // 3 #整数除法返回向下取整后的结果 5 17 % 3 # %操作符返回除法的余数 2 7.0//2 #自动转换结果为 3.0 ``` ## 数学 >常用数学函数分为2类,一类是系统内内建函数(不需要导入其他模块直接可使用的),第二类:包含在数学模块mach模块中的 **内键(builtins)方法** | 内建函数 | 返回值(描述) | | :---: | :---: | | abs(x) | 返回数字绝对值,如abs(-10)返回10 | | max(x1,x2,...) | 返回给定参数或序列最大值 | | min(x1,x2...) | 返回给定参数或序列最小值 | | round(x,n) | 四色五入,n表示小数位数 | | 等... | 等... | **数学模块(math)方法** ``` import math math.ceill(3.1) ``` | 数学模块 | 返回值(描述) | | :---: | :---: | | ceil(x) | 向上取整如, math.ceill(3.1) 结果为4 | | floor(x) | 向下取整,math.floor(3.99) 结果为3 | | math.pi | 常量 pi | | 等... | 等... | 以上是工作中常用的,更多参考帮助文档: [数学函数](http://www.runoob.com/python3/python3-number.html) **随机数函数** >如果想使用随机数函数,必须先导入随机数模块! random | 随机数模块 | 返回值(描述) | | :---: | :---: | | choice(seq) |从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 | | randrange (开始 ,结束 ,可选参数步长) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 | | random() | 随机生成下一个实数,它在[0,1)范围内。 | | 等... | 等... | ``` import random print('随机:',random.random()) #0-1随机数 print('随机:',random.choice(range(10))) #0-9随机选一个 print('指定范围产生随机数:',random.randrange(1,10)) #指定范围(开始,结束,步长) ``` >案例: 还记得用1-3模拟猜拳游戏么? # 字符串String > 字符串是一组连续的字符! 是工作和生活中必不可少的一种数据类型!这里再次总结下最常用操作并信息介绍字符串的内置函数 ## 组成 >字符串由一组连续的中文或英文字符组成 从左向右第一个位置为: 0 从右向左第一个位置为: -1 ![字符串存储结构](https://box.kancloud.cn/6379f7f11f9d01a6dfd14b6094d0e610_604x99.png) ## 操作符号 - `+` 连接 - `*` 重复 - `变量[索引]` 取值 - `[开始:结束]` 截取某段 - `in 和 not in` 是否存在 - `%` 格式化占位符 - `字符串.format()` 格式化方法 | 字符串格式化符 | 描述 | | :---: | :---: | | %s | 字符串 | | %d | 整数 | | %f | 格式化浮点数字,可指定小数点后的精度 %.2f保留2位 | ``` name ='tom' age='20' sex='男' print('你好'+name+'年龄:'+age+'--性别:'+sex) print("abc"*3) print('a' in 'abc') print('a' not in 'abc') name = '小丽' print ("我叫 %s 今年 %d 岁!" % ('小明', 10)) #不支持变量 print ("我叫 {} 今年{} 岁!".format(name,age)) # 支持变量 ``` ## format格式化字符串 > 语法: 通过{} 和: 代替 % **通过位置** **通过关键字参数** **通过下标** **格式限定符号** ``` #format格式字符串,通过关键字 print('{0},{1}'.format('aa',19)) print('{name},{age}'.format(age=20,name='tom')) #格式化通过下标 p = ['tom11',18] p2 = ['tom',188] print('名字{0[0]},年龄{1[1]}'.format(p,p2)) # ^居中 < 左对齐 > 右对齐 print('{:a<11}'.format('189'))#左对齐填充a print('{:a>11}'.format('189'))#右对齐填充a print('{:>11}'.format('189'))#右对齐填充空格 print('{:^11}'.format('189')) #居中 ``` ## 字符串方法 > 字符串对象本身自带很多内置函数便于灵活操作字符串,比如长度获取,增加,查找,替换等 > 注意:字符串方法比较多! 记住以下常用的就好! **学会查看文档和IDE提示** ``` str1 = "abcDaEF.com" print("我叫:{}".format(name))#格式化 print(str1.replace(' ','*')) #替换 print(len(str1))#长度 print(str1.count('a'))#字符出现的次数 print(str1.find('Da')) #查找 print(str1.capitalize()) #第一个自粗转换为大写 print(str1.endswith('.com')) #结尾 print(str1.startswith('abc')) #开始 print("a\tbc".expandtabs(8))#N个空格替换制表符 print(str1.index('a')) # 和find一样,但是找不到报错 print(str1.isnumeric()) #是否只包含数字 fruit=['桃子','香蕉','菠萝']; print("-".join(fruit)) #连接 print(str1.lower())#全部转换为小写 print(str1.upper())#全部转换为大写 print(len(' abc '.strip()))#删除前后空格 print(len(' abc '.rstrip()))#删除右空格 print(len(' abc '.lstrip()))#删除左空格 print('abc'.zfill(5)) #左填充 print('abc'.rjust(5,'*')) #填充 print("a,b,c,d e f".split(",")) #字符串拆分 print("a b c d e f".split()) #字符串分割,默认按照空格拆分 ``` [更多字符方法参考文档](http://www.runoob.com/python3/python3-string.html) # 总结和练习 > 本章主要内容是数字和字符串对象常用的内置方法介绍! 1. 字符串前几位加密显示 ![字符串替换](https://box.kancloud.cn/9aad64d2a1bb40a5f2aebc1d44b3cffa_310x286.png) 2. 智能提示 ![智能提示](https://box.kancloud.cn/af62535753a73303cb6a01c6111f3b21_843x439.png) 3. 综合案例: 一篇文章中每个单词出现的次数统计!