python全栈开发学习模块一(笔记3)
基本数据类型-数字
int整型
默认用十进制表示,此外也支持二进制、八进制、十六进制表示方式
进制转换
十进制转换为二进制、八进制、十六进制
>>> bin(10)
'0b1010' #0b表示二进制
>>> oct(10)
'0o12' #0o表示八进制
>>> hex(10)
'0xa' #0x表示十六进制
>>>
浮点数
浮点数也就是数学中的小数,之所以称为浮点数,是因为按照科学计数法时,一个浮点数的小数点位置是可变的。
科学计数法a*10的n次方。(1<=a<10),计算机中用e或E表示10的幂。比如1.23*e8=1.23e
精度
python默认17位精度,也就是小数点后16位,尽管有16位,但是精确度越往后越不准
高精度
借助decimal模块的“getcontext”和"Decimal"方法
#借助decimal模块的“getcontext“和“Decimal“ 方法
>>> a = 3.141592653513651054608317828332
>>> a
3.141592653513651
>>> from decimal import *
>>> getcontext()
Context(prec=50, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[FloatOperation], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 50
>>> a = Decimal(1)/Decimal(3)#注,在分数计算中结果正确,如果直接定义超长精度小数会不准确
>>> a
Decimal('0.33333333333333333333333333333333333333333333333333')
>>> a = '3.141592653513651054608317828332'
>>> Decimal(a)
Decimal('3.141592653513651054608317828332')
基本数据类型-字符串
定义:字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,' '或'' ''或''' '''中间包含的内容称之为字符串
特性:
1、字符串是按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

2、字符串的引号无法取消特殊字符的含义(例如:\t、\n)。取消特殊字符含义只需要在引号前加上字母r
name = r'\table'
3、unicode字符串与r连用必需在r前面,如name=ur'l\thf'
4、字符串可以用+号进行拼接,或者*号进行多次打印
字符串常用操作:
●索引
●切片
●find
●index
●replace
●strip、lstrip、rstrip
●split、rsplit
●join
●lower
●upper
字符串方法:
| sep.join(iterable) | 将序列中的元素以指定的字符(sep)连接生成一个新的字符串 | |
| s.split(sep=None, maxsplit=-1) | 以sep分割字符串,返回列表 | |
| s.rsplit(sep=None, maxsplit=-1) | 以sep分割字符串,返回列表(从右开始匹配) | |
| s.partition(sep) | 以sep为分割,将S分成head,sep,tail三部分,返回元组 | *与split差别在于会返回sep,split不会 |
| s.rpartition(sep) | 以sep为分割,将S分成head,sep,tail三部分,返回元组(从右开始匹配) | |
| s.strip(chars=None) | 去除字符串头尾的指定字符,按照最长公共子序列匹配 | |
| s.lstrip(chars=None) | 去除字符串头的指定字符,按照最长公共子序列匹配 | |
| s.rstrip(chars=None) | 去除字符串尾的指定字符按照最长公共子序列匹配 | |
| s.find(sub, start=None, end=None) | 返回字符所在的索引位置,找不到返回-1 | |
| s.index(sub, start=None, end=None) | 返回字符所在的索引位置 | |
| s.upper() | 将字符串大写 | |
| s.lower() | 将字符串小写 | |
| 以上常用必须掌握 | ||
| s.startswith(prefix, start=None, end=None) | 判断是否以prefix开头 | |
| s.endswith(suffix, start=None, end=None) | 判断是否以suffix结尾 | |
| s.casefold() | 将字符串小写 | 与lower差别在于,lower只支持英文字母 |
| s.capitalize() | 首字母大写,其他小写 | |
| s.center(width,fillchar=None) | 设置宽度,字符串居中,前后默认填充空白字符 | |
| s.ljust(width, fillchar=None) | 设置宽度,字符串左对其,前后默认填充空白字符 | |
| s.rjust(width, fillchar=None) | 设置宽度,字符串右对齐,前后默认填充空白字符 | |
| s.zfill(width) | 设置宽度,字符串右对齐,用0填充 | |
| s.count(sub, start=None, end=None) | 统计字符在字符串中的个数 | |
| s.expandtabs(tabsize=8) | 将tab(\t)变为8个空格 | |
| s.swapcase() | 大小写互相转换 | |
| s.isalnum() | 判断字符串中是否只包含字母和数字 | |
| s.isalpha() | 判断字符串中是否只包含字母(汉字) | |
| s.isdecimal() | 判断字符串中是否都是数字 | |
| s.isdigit() | 判断字符串中是否都是数字 isdigit可以判断特殊数字例如② | |
| s.isnumeric() | 判断字符串中是否都是数字 isnumeric可以判断中文的数字 | |
| s.isidentifier() | 只要符合python变量命名规则的字符串都返回True | |
| s.isprintable() | 判断是否存在不可打印的内容(如果有\n,\t这些转义就不能完全打印了) | |
| s.isspace() | 判断字符串是否空格 | |
| s.istittle() | 判断字符串的首字母是否都是大写 | |
| s.islower() | 判断字符串是否都是小写 | |
| s.isupper() | 判断字符串是否都是大写 | |
| str.maketrans() | 建立字符串对应关系 |
1 t1 = "aeiou" 2 t2 = "12345" 3 v = "apple" 4 m = str.maketrans("aeiou","12345") 5 new_v = v.translate(m) 6 print(new_v) 7 1ppl2
|
| s.translate() | 根据对应关系进行替换 | |

浙公网安备 33010602011771号