python基础--数据类型

it2022-05-05  194

变量

变量命名规则:

变量名只能是字母、数字或下划线的任意组合变量名的第一个字符不能是数字以下关键字不能声明为变量名:['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

运算符

1. 算术运算

运算符描述+两个对象相加-得到负数或两个对象相减*两个数相乘或返回一个被重复若干次的字符串/两个数相除%取模,返回余数**幂//取整,返回商的整数部分

2. 比较运算

运算符描述==比较对象是否相等!=比较两个对象是否不想等<>比较两个对象是否不想等>大于<小于>=大于等于<=小于等于

3. 赋值运算

运算符描述and布尔“与”or布尔“或”not布尔“非”

4. 成员运算

运算符描述in如果在指定的序列中找到值返回True,否则返回Falsenot in如果在指定的序列中没有找到值返回True,否则返回False

标准数据类型

1. 数字(int)

在32位机器上,整数的位数为32位,取值范围为-231~231-1 在64位机器上,整数的位数位64位,取值范围为-263~263-1

类方法

数字的类方法描述int()将字符串转换为数字,base指定基数,默认为十进制bit_length()返回表示该数字时至少占用的位数

2. 布尔值(bool)

真(1)或假(0)

3. 字符串(char)

str = "hello world"

字符串索引:v = str[2]字符串切片:v = str[1:3]; v1 = str[3:-1]字符串长度:v = len(str)

类方法

字符串的类方法描述lower()将所有字符变为小写,仅支持英文字符casefold()将所有字符变为小写center()设置宽度,并将内容居中,空白位置用指定字符填充,默认为空格count()在字符串中寻找子序列出现的次数startswith()判断字符串是否以指定字符开始endswith()判断字符串是否以指定字符结尾find()从前往后找,找到第一个后返回其位置,不存在时返回-1index()同find(),但不存在时报错format()格式化输出字符串,将字符串中的占位符替换为指定的值format_map()同format(),但只能以字典的方式传入对应关系isalnum()判断字符串中是否只包含字母或数字expandtabs()以指定的字符个数断句,遇到tab(\t)用空格补全余下字符isalpha()判断字符串中是否只包含字母isdecimal()判断字符串是否只包含数字,仅支持十进制数isdigit()判断字符串是否只包含数字,不支持中文isnumeric()判断字符串是否只包含数字,支持中文isprintable()判断字符串中是否包含不可显示的字符isspace()判断字符串是否全为空格istitle()判断字符串中所有单词的首字母是否均为大写title()将字符串转换为标题join()将字符串中的每一个元素按照指定分隔符进行拼接,其中join中的参数位所要操作的字符串ljust()功能与center类似,但内容做对齐rjust()功能与center类似,但内容右居中zfill()功能与rjust类似,但只能以0填充islower()判断字符串是否均为小写isupper()判断字符串是否均为大写upper()将字符串转换为大写strip()删除字符串两侧指定字符,默认为空格和换行lstrip()删除字符串左侧指定字符,默认为空格和换行rstrip()删除字符串右侧指定字符,默认为空格和换行maketrans()制作字符串对应关系,如m = str.maketrans(“aeiou”, “12345”)translate()与maketrans()连用,根据对应关系进行字符串替换,如new_v = v.translate(m)partition()按指定字符对字符串进行分割,最多只能分成三份,保留分割字符rpartition()从右侧开始分割split()根据指定字符对字符串进行分割,可以指定分割次数,默认全分割,不保留分割字符rsplit()从右侧开始分割splitlines()根据换行符进行分割,可以通过指定True或False参数选择是否保留换行swapcase()大小写转换isidentifier()判断是否为标识符replace()用指定字符串替换字符串中的子序列,可以指定替换次数

3. 列表(list)

new_list = ['hello', 'world']

类方法

列表的类方法描述append()在列表最后追加一个元素clear()清空列表copy()将列表拷贝一份,浅拷贝count()计算列表中指定元素的个数extend()用可迭代对象扩充列表index()寻找指定元素在列表中第一次出现的位置,可以指定起止位置insert()在列表指定位置插入值,第一个参数为索引位置pop()从列表中弹出一个值,可以指定弹出的位置,默认弹出最后一个,弹出的值可以被获取remove()删除第一个指定的值,参数为要删除的元素reverse()将列表元素反转sort()对列表元素进行排序,当指定参数reverse=True时倒序

5. 元组

ages = (11, 22, 33)

类方法

元组的类方法描述count()获取指定元素在元组中出现的次数index()根据指定参数获取元素在元组中第一次出现的索引

6. 字典(dict)

person = {"name": "wang"; "age": 18}

类方法

字典的类方法描述clear()清空字典copy()浅拷贝fromkeys()生成字典,第一个参数为key,第二个参数为valueget()通过键取值,key不存在时可以指定返回的值,默认为nonekeys()获取字典的键values()获取字典的值items()获取字典的健值对pop()根据指定的健弹出对应的值,当健不存在时可以返回指定的值(第二个参数)popitem()随机弹出一个健值对setdefault()设置值,当存在时不设置并获取当前键对应的值update()用指定的字典更新现有的字典

7. 集合(set)

集合是由不同元素组成的集合,不同的集合间做关系运算时无需纠结集合中的单个元素。 set_test = {"one","two","1",1}

类方法

集合的类方法描述add()向集合中添加元素clear()清空集合copy()拷贝集合pop()随机弹出一个元素remove()删除指定元素,不存在时报错discard()删除指定元素,不存在时不报错intersection() &求解两集合的交集union() |求解两集合的并集difference() -求两集合的差集symmetric_difference() ^求两集合的交叉补集difference_update()用两集合的差集更新第一个集合,即将交集赋值给第一个集合intersection_update()用两集合的交集更新第一个集合isdisjoint()判断两集合是否有交集,没有时返回Trueissubset()判断第一个集合是否是第二个集合的子集issuperset()判断第一个集合是否是第二个集合的父集symmetric_difference_update()用两集合的交叉补集更新第一个集合update()用第二个集合更新第一个集合,即向第一个集合中添加元素 注意:集合为可变数据类型,但当用frozenset实例化生成集合时为不可变类型,s = frozenset("hello")

字符串格式化

1. 百分号方式

%[(name)][flags][width].[precision]typecode (name):可选,用于选择指定的keyflags:可选,可供选择的值有: 右对齐;正数前加正号,负数前加负号 左对齐;正数前无符号,负数前加负号空格 右对齐;正数前加空格,负数前加负号0 右对齐;正数前无符号,负数前加负号,用0填充空白处width:可选,占有宽度.precision:可选,小数点后保留的位数typecode:必选 s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置o,将整数转换成八进制表示,并将其格式化到指定位置x,将整数转换成十六进制表示,并将其格式化到指定位置d,将整数、浮点数转换成十进制表示,并将其格式化到指定位置e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)f,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)F,同上g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)%,当字符串中存在格式化标志时,需要用%%表示一个百分号

常用格式化举例:

tpl = "i am %s" % "laowang" tpl = "i am %s age %d" % ("laowang",18) tpl = "i am %(name)s age %(age)d" %{"name": "laowang", "age": 18} tpl = "percent %.2f" % 99.97623 tpl = "i am %(pp).2f" % {"pp":123.425556, } tpl = "i am %.2f %%" % {"pp":123.425556, }

2. Format方式

[[fill]align][sign][#][0][width][,][.precision][type] fill:可选】空白处填充的字符align:【可选】对齐方式(需配合width使用) <,内容左对齐

,内容右对齐(默认)

=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。即使:符号+填充物+数字^,内容居中sign:【可选】有无符号数字 +,正号加正,负号加负;-,正号不变,负号加负;空格,正号空格,负号加负;#:【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示,:【可选】为数字添加分隔符,如:1,000,000width:【可选】格式化位所占宽度.precision:【可选】小数位保留精度type:【可选】格式化类型 传入” 字符串类型 “的参数 s,格式化字符串类型数据空白,未指定类型,则默认是None,同s传入“ 整数类型 ”的参数 b,将10进制整数自动转换成2进制表示然后格式化c,将10进制整数自动转换为其对应的unicode字符d,十进制整数o,将10进制整数自动转换成8进制表示然后格式化;x,将10进制整数自动转换成16进制表示然后格式化(小写x)X,将10进制整数自动转换成16进制表示然后格式化(大写X)传入“ 浮点型或小数类型 ”的参数 e,转换为科学计数法(小写e)表示,然后格式化;E,转换为科学计数法(大写E)表示,然后格式化;f,转换为浮点型(默认小数点后保留6位)表示,然后格式化;F,转换为浮点型(默认小数点后保留6位)表示,然后格式化;g,自动在e和f中切换G,自动在E和F中切换%,显示百分比(默认显示小数点后6位)

常用格式化举例:

tpl = "i am {}, age {},{}".format("seven", 18, 'alex') tpl = "i am {}, age {},{}".format(*["seven", 18, 'alex']) tpl = "i am {0}, age {1}, really{0}".format("seven", 18) tpl = "i am {0}, age {1}, really{0}".format(*["seven", 18]) tpl = "i am {name}, age {age},really{name}".format(name="seven", age=18) tpl = "i am {name}, age {age},really {name}".format(**{"name": "seven","age": 18}) tpl = "i am {0[0]}, age {0[1]},really {0[2]}".format([1, 2,3], [11, 22, 33]) tpl = "i am {:s}, age {:d}, money{:f}".format("seven", 18,88888.1) tpl = "i am {:s}, age{:d}".format(*["seven", 18]) tpl = "i am {name:s}, age{age:d}".format(name="seven",age=18) tpl = "i am {name:s}, age{age:d}".format(**{"name":"seven", "age": 18}) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15,15, 15.87623, 2) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15,15, 15.87623, 2) tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15) tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num%}".format(num=15)

转载于:https://www.cnblogs.com/xdldxcw/p/9393423.html


最新回复(0)