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() 根据对应关系进行替换
posted @ 2018-07-02 23:13  波比的铲屎官  阅读(175)  评论(0)    收藏  举报