基础数据类型
数据类型
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种
一 Number(数字)
1.1 数字类型的创建
| 
 1 
2 
3 
4 
5 
6 
 | 
a=10b=ab=666print(a)#10print(b)#666 | 
 
注意这里与C的不同:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
 | 
#include <stdio.h>void main(void){    int a = 1;    int b = a;    printf ("a:adr:%p,val:%d,b:adr:%p,val:%d\n",&a,a,&b,b);    a = 3;    printf ("a:adr:%p,val:%d,b:adr:%p,val:%d\n",&a,a,&b,b); }//打印结果:topeet@ubuntu:~$ gcc test.c topeet@ubuntu:~$ ./a.outa:adr:0x7fff343a069c,val:1b:adr:0x7fff343a0698,val:1a:adr:0x7fff343a069c,val:3b:adr:0x7fff343a0698,val:1 | 
1.2 Number 类型转换
| 
 1 
2 
3 
4 
5 
6 
 | 
var1=3.14var2=5var3=int(var1)var4=float(var2)print(var3,var4) | 
#PY内置数学函数 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 # ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 # cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 # 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的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j
二 字符串类型(string)
https://www.cnblogs.com/hcxy2007107708/articles/10127581.html
三 字节类型(bytes)
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
 | 
# a=bytes('hello','utf8')# a=bytes('中国','utf8')a=bytes('中国','utf8')b=bytes('hello','gbk')#print(a)        #b'\xe4\xb8\xad\xe5\x9b\xbd'print(ord('h')) #其十进制 unicode 值为: 104print(ord('中'))#其十进制 unicode 值为:20013#  h   e  l   l   o# 104 101 108 108 111   编码后结果:与ASCII表对应#     中                国#   \xd6\xd0         \xb9\xfa       gbk编码后的字节结果#\xe4 \xb8 \xad   \xe5 \x9b \xbd    utf8编码后的字节结果# 228 184 173      229 155  189        a[:]切片取c=a.decode('utf8')d=b.decode('gbk')#b=a.decode('gbk') :很明显报错print(c) #中国print(d) #hello  | 
注意:对于 ASCII 字符串,因为无论哪种编码对应的结果都是一样的,所以可以直接使用 b'xxxx' 赋值创建 bytes 实例,但对于非 ASCII 编码的字符则不能通过这种方式创建 bytes 实例,需要指明编码方式。
| 
 1 
2 
3 
4 
5 
6 
 | 
b1=b'123'print(type(b1))# b2=b'中国' #报错# 所以得这样:b2=bytes('中国','utf8')print(b2)#b'\xe4\xb8\xad\xe5\x9b\xbd' | 
四 布尔值
一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写)
| 
 1 
2 
3 
4 
 | 
print(True)print(4>2)print(bool([3,4]))print(True+1) | 
与或非操作:
| 
 1 
2 
3 
4 
 | 
bool(1 and 0)bool(1 and 1)bool(1 or 0)bool(not 0) | 
布尔值经常用在条件判断中:
| 
 1 
2 
3 
4 
5 
 | 
age=18if age>18:#bool(age>18)    print('old')else:    print('young') | 
五 List(列表)
https://www.cnblogs.com/hcxy2007107708/articles/10127601.html
六 tuple(元组)
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,列表的切片操作同样适用于元组。
元组写在小括号(())里,元素之间用逗号隔开。
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
| 
 1 
2 
 | 
tup1 = ()    # 空元组tup2 = (20,) # 一个元素,需要在元素后添加逗号 | 
作用:
1 对于一些数据我们不想被修改,可以使用元组;
2 另外,元组的意义还在于,元组可以在映射(和集合的成员)中当作键使用——而列表则不行;元组作为很多内建函数和方法的返回值存在。
七 Dictionary(字典)
https://www.cnblogs.com/hcxy2007107708/articles/10127617.html
八 集合(set)
https://www.cnblogs.com/hcxy2007107708/articles/10127634.html
九 文件操作
https://www.cnblogs.com/hcxy2007107708/articles/10127640.html
                    
                

                
            
        
浙公网安备 33010602011771号