python八种基本数据类型

数字类型

数值类型转换:

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

注意:除法会变成小数

数字函数

注意使用math.函数名

函数返回值 ( 描述 )
abs(x)返回数字的绝对值,如abs(-10) 返回 10
ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…)返回给定参数的最大值,参数可以为序列。
min(x1, x2,…)返回给定参数的最小值,参数可以为序列。
modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)x**y 运算后的值。
round(x [,n])返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x)返回数字x的平方根。
pi数学上的π
数学上的e
acos(x)返回x的反余弦弧度值。
asin(x)返回x的反正弦弧度值。
atan(x)返回x的反正切弧度值。
atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值。
cos(x)返回x的弧度的余弦值。
hypot(x, y)返回欧几里德范数 sqrt(xx + yy)。
sin(x)返回的x弧度的正弦值。
tan(x)返回x弧度的正切值。
degrees(x)将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)将角度转换为弧度

制度的转换

(1) 用int(a,b),首先 a 是字符类型 , b 是int(数值类型),a 是数值,b是几进制!
例如:
int("43",8), ______把 8进制"43"的转换为10进制

(2) 用format

{:b}'.format(11) 2 进制 (1011)
‘{:d}’.format(11) 10进制(11)
‘{: o}’.format(11) 8进制(13)
‘{:x}’.format(11) 16进制 (b)
‘{:#x}’.format(11) 16进制( 0xb)
‘{:#X}’.format(11) 16进制(0XB)

字符串

s='sting'

索引:
s[0]  ----> 's'

s[1]---->'t'

也可以反过来取索引

s[-1]---->g 
切片:
s[:] --->'string'  取所有的

s[0:2]  ---->'st' 取前面两个(取前不取后)
字符的运算
a='a'
b='b'

加法: a+b----->'ab' 

乘法: a*2----->'aa'  

b*3='bbb'

多行字符串:(用三个引号)

'''

你好!

你好吗?

'''
字符串函数
序号方法及描述
1capitalize() 将字符串的第一个字符转换为大写
2center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4bytes.decode(encoding=“utf-8”, errors=“strict”)Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
5encode(encoding=‘UTF-8’,errors=‘strict’) 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
6endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
7expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常。
10isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
11isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
12isdigit() 如果字符串只包含数字则返回 True 否则返回 False…
13islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
15isspace() 如果字符串中只包含空白,则返回 True,否则返回 False.
16istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False
17isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
18join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19len(string) 返回字符串长度
20ljust(width, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21lower() 转换字符串中所有大写字符为小写.
22lstrip() 截掉字符串左边的空格或指定字符。
23maketrans() 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24max(str)返回字符串 str 中最大的字母。
25min(str) 返回字符串 str 中最小的字母。
26replace(old, new , max) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
27rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找.
28rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始.
29rjust(width, fillchar)返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
30rstrip() 删除字符串末尾的空格或指定字符。
31split(str=“”, num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32splitlines(keepends) 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
34strip(chars) 在字符串上执行 lstrip()和 rstrip()
35swapcase() 将字符串中大写转换为小写,小写转换为大写
36title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
37translate(table, deletechars=“”) 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38upper() 转换字符串中的小写字母为大写
39zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
40isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

格式化(format)

  • print(“没什么{}”.format(“a”))---------->这个可以直接填进去 还有可以用

  • print(“{2}是{0}不是{1}”.foramt(“a”,“b”,“c”)) 根据前面的序号来填的 所以最后输出 ----->c是a不是b

       **格式化,向左,右,中,靠齐**
    
  • print(“{:*>8}”.format(“a”))---------->这个也是就是在 : 前面填format里面的值 ;*加format里面的值 一共8个 ,(就是其他补齐)向右靠齐

  • print(“{:*<8}”.format(“a”))----------> 同理 这个是向左靠齐

  • print(“{:*^8}”.format(“a”))----------->同理这个是向中间靠齐

  • {:b}'.format(11) 2 进制 (1011)
    ‘{:d}’.format(11) 10进制(11)
    ‘{: o}’.format(11) 8进制(13)
    ‘{:x}’.format(11) 16进制 (b)
    ‘{:#x}’.format(11) 16进制( 0xb)
    ‘{:#X}’.format(11) 16进制(0XB)

  • print(“{:.2f}”.format(a))---------->保留2位小数

  • 也可以用round(a,2)--------->这个也是保留两位小数

    解码编码

    str 使用encode方法转化为bytes
    bytes使用decode转化为str

字符的编码

ord(x) 求字符 x 的编码 (字符就是长度为1的字符串)
chr(x) 求编码为x的字符

编码方式必须一样否则就会出现乱码!

a是字符串:
a.encode()
a.decode() #括号里面可以写编码格式,默认是utf-8

列表

定义: a=[],a=list()

访问值:

索引:

`a=['1','2','你好','学习']`

a[0] ----->'1'

a[2]----->'你好'

a[-2]----->'你好'

切片: [开始:结束:步长]

a[:]---->['1','2','你好','学习']

a[1:2]--->['2']

a[1:-1]--->['2','你好','学习']

a[::-1]---->['学习','你好','2','1']  (取反)
修改列表
a=['1','2','你好','学习']

赋值:

a[0]="0"

a  >>>`['0','2','你好','学习']`

del a[0]

a >>> ['2','你好','学习']
Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代
列表函数与方法

函数:

序号函数
1len(list)列表元素个数
2max(list) 返回列表元素最大值
3min(list) 返回列表元素最小值
4list(seq) 将元组转换为列表

方法:

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6list.pop(index=-1) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort( key=None, reverse=False) 对原列表进行排序
10list.clear() 清空列表
11list.copy() 复制列表

元组

定义: a=tuple(),它是不可变类型

一样有索引和切片 和列表一样

函数有:

序号方法及描述
1len(tuple) 计算元组元素个数。
2max(tuple) 返回元组中元素最大值。
3min(tuple) 返回元组中元素最小值。
4tuple(iterable) 将可迭代系列转换为元组。

字典

拥有键和值两个相对于的一种类型

用键来取值,速度很快,是一一对应,所称的哈希表

取值:

 dict = {'Name': 'tang', 'Age': 7, 'Class': 'First'} 

 dict['Name']  >>>>tang

 dict['Age'] >>>>>7

添加值:

dict["增加值"]='增加的'

ditc >>>>>>{'Name': 'tang', 'Age': 7, 'Class': 'First','增加值':'增加的'} 

 del dict['Name'] # 删除键

 'Name' dict.clear()     # 清空字典 

del dict         # 删除字典 
字典的方法:
序号函数及描述
1dict.clear() 删除字典内所有元素
2dict.copy() 返回一个字典的浅复制
3dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
5key in dict 如果键在字典dict里返回true,否则返回false
6dict.items() 以列表返回一个视图对象
7dict.keys() 返回一个视图对象(key所有值的迭代对象)
8dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2) 把字典dict2的键/值对更新到dict里
10dict.values()返回一个视图对象 (values的所有值的一个迭代对象)
11pop(key,default)删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12popitem()随机返回并删除字典中的最后一对键和值。

字典计数问题:

str="这里是字符串"
for i in str:
	dict[i]=dict.get(i,0)+1

这样就可以得到个数!

  • 一个字典的排序问题:
    有时候你需要安装字典里面的值,或者键 来排序 你就可以用下面这种方面(我常常忘记…):
    首先: dict 是一个字典 ;
  • 把他列表化用变量a来装一下: a=list(dict.items())
  • a.sort(key = lambda x :x[0],reverse=True) 这个是按照键排序 是逆序,要顺序的话把True 改成Flase就行
  • a.sort(key= lambda x:x[1] ,reverse=True) 这个就是按照 值来排序的 其他的类似!
    这里有一种很方便的方法可以对这些进行计数,可以不用字典的get方法:
from collections import Counter

str = "abcbcaccbbad"
li = ["a","b","c","a","b","b"]
d = {"1":3, "3":2, "17":2}

#Counter获取各元素的个数,返回字典
print ("Counter(s):", Counter(str))
print ("Counter(li):", Counter(li))
print ("Counter(d):", Counter(d))
输出结果:
Counter(s): Counter({'b': 4, 'c': 4, 'a': 3, 'd': 1})
Counter(li): Counter({'b': 3, 'a': 2, 'c': 1})
Counter(d): Counter({'1': 3, '3': 2, '17': 2})

集合

集合是一个不可重复的集合 定义为 a=set()

相关的方法有:

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

取二维数组的列简单方法:

for i in zip(*[[1,2,3],[4,5,6],[7,8,9]]):
    print(i)
运行结果:
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值