精华内容
下载资源
问答
  • Python中的基本数据类型 整数:和数学上的表示一样,如 1, 3, 100. 有时也用十六进制表示,如 0xffaa, 0x09ad等 浮点数:也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变...
  • 目录一、数据类型整数布尔值浮点数复数(Complex)字符串空值二、数据类型的转换三、变量命名规则四、运算算术运算赋值运算逻辑运算成员运算身份运算Python运算符优先级五、字符字符串和编码字符串的长度字符串的...

    一、数据类型

    Python3 中有六个标准的数据类型:
    ●Numbers(数字类型)
    ●Strings(字符串类型)
    ●Lists(列表类型)
    ●Tuples(元组类型)
    ●Dictionaries(字典类型)
    ●Sets(集合类型)

    Python内置的数字类型有整型(Integers)、浮点型(Floating point numbers)和复数(Complex numbers)三种,作为可以进行算术运算等的数据类型。

    整数

    Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x 前缀和0-9,a-f表示如: 0xff00 , 0xa5b4c3d2
    0b开始的是二进制(binary),0o开始的是八进制(octonary)

    0x9+0x1 
    # 输出结果为10,意思是十六进制的9与十六进制的1相加,结果为十六进制的10,但此处输出的为十进制的10,在十六进制中,用a来表示十进制的10
    
    0xa
    # 输出结果为10
    
    0xa+0x1 # 输出11
    #十六进制的10与十六进制的1相加,结果为十六进制的b,输出十进制结果也就为11
    

    布尔值

    一个布尔值只有True 、False 两种值
    布尔值是整型(Integers)的子类,用于逻辑判断真(True)或假(False),用数值1和0分别代表常量True和False。

    在Python语言中,False可以是数值为0、对象为None或者是序列中的空字符串、空列表、空元组。

    在这里插入图片描述
    布尔值可以用and 、or 和not 运算。

    5 > 3 and 3 > 1 # True
    
    5 > 3 or 1 > 3  # True
    
    not 1 > 2 # True
    

    浮点数

    浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的1.23e9 ,或者12.3e8 ,0.000012可以写成1.2e-5
    Python的浮点型执行IEEE754双精度标准,8个字节一个浮点。101010000001000…0100

    复数型(Complex)

    复数类型(Complex)由实数和虚数组成a+bj,用于复数的表示,虚数部分需加上j或J,如:-1j、0j,1.0j。
    Python的复数类型是其他语言一般没有的。

    (3+4j)+(5+7j)
    # 输出(8+11j)
    

    字符串

    字符串是以单引号’ 或双引号" 括起来的任意文本,比如’abc’ , “xyz” 等等。

    如果字符串内部既包含’ 又包含" 怎么办?可以用转义字符\ 来标识,‘I’m “OK”!’

    转义字符\ 可以转义很多字符,比如\n 表示换行, \t 表示制表符,字符\ 本身也要转义,所以\ 表示的字符就是\

    如果字符串里面有很多字符都需要转义,就需要加很多\ ,为了简化,Python还允许用r’‘表示’‘内部的字符串默认不转义,如果字符串内部有很多换行,用\n 写在一行里不好阅读,为了简化,Python允许用’’’…’’’ 的格式表示多行内容
    在这里插入图片描述

    print('I\'m ok.')
    print('I\'m learning\nPython.')
    print('\\\t\\')
    print(r'\\\t\\')
    print('''line1
    line2
    line3''')
    

    输出结果如下:
    在这里插入图片描述

    空值

    空值是Python里一个特殊的值,用None 表示。None 不能理解为0 ,因为0 是有意义的,而None 是一个特殊的空值。
    此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。

    二、数据类型的转换

    type()函数是内建的用来查看变量类型的函数,调用它可以简单的查看数据类型,基本用法:

    type(对象) #对象即为需要查看类型的对象或数据,通过返回值返回相应的类型,
    

    转换为整型int类型:

    int(x [,base])
    # int()函数将x转换为一个整数,x为字符串或数字,base进制数,默认为十进制
    

    在这里插入图片描述

    转换为浮点型float类型:

     float(x)
    # float()函数将x转换为一个浮点数,x为字符串或数字,没有参数的时默认返回0.0。
    

    在这里插入图片描述
    转换为布尔值布尔类型:

    bool(x)
    # bool() 函数用于把给定参数转换为布尔类型,返回值为True或者False,在没有参数的情况下默认返回 False。
    
    bool()  #空置转布尔类型
     #返回结果False 
    
    bool(0) #整数0转布尔值
    #返回结果False
    
    bool(1)  #整数1转布尔值
     #返回结果True
    
     bool(100) #整数100转布尔值
    #返回结果True
    

    三、变量命名规则

    ●名称第一字符为英文字母或者下划线
    ●名称第一字符后可以使用英文字母、下划线和数字
    ●名称不能使用python的关键字或保留字符
    ●名称区分大小写,单词与单词之间使用下划线连接
    

    a = 1
    t_007 = ‘T007’
    Answer = True

    等号= 是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
    这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
    静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言
    理解变量在计算机内存中的表示也非常重要

    a = ‘ABC’

    Python解释器干了两件事情:
    1. 在内存中创建了一个'ABC' 的字符串;
    2. 在内存中创建了一个名为a 的变量,并把它指向'ABC' 。
    也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,
    
    a = 'ABC'
    b = a
    a = 'XYZ'
    print(b) # ABC
    print(a) # XYZ
    

    四、运算

    算术运算

    算术运算符主要是用于数字类型的数据基本运算,Python支持直接进行计算,也就是可以将python shell当计算器来使用。

    + 加 - 两个对象相加 a + b 输出结果 30
    - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
    / 除 - x除以y b / a 输出结果 2
    % 取模 - 返回除法的余数 b % a 输出结果 0
    ** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
    // 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

    a=10
    b=20
    
    a+b  # 输出30
    a-b  # 输出-10
    a*b  # 输出200
    b/a  #  输出2
    b%a  # 输出0
    a**b # 输出100000000000000000000
    9//2 # 输出 4
    9.0//2.0  # 输出 4.0
    

    赋值运算

    = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
    += 加法赋值运算符 c += a 等效于 c = c + a
    -= 减法赋值运算符 c -= a 等效于 c = c - a
    *= 乘法赋值运算符 c *= a 等效于 c = c * a
    /= 除法赋值运算符 c /= a 等效于 c = c / a
    %= 取模赋值运算符 c %= a 等效于 c = c % a
    **= 幂赋值运算符 c **= a 等效于 c = c ** a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a

    逻辑运算

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

    and — x and y 布尔"与" 。 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
    or — x or y 布尔"或"。如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10
    not — not x 布尔"非" 。 如果 x 为 True,返回 False 。如果 x 为 False,它返回True。 not(a and b) 返回 False

    a=10
    b=20
    a and b # 返回20
    a or b  #返回10
    not(a and b)  # 返回False
    

    成员运算

    除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    in — 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
    not in — 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

    a=[1,2,3,4,5]
    b=4
    c = 6
    b in a # 输出True
    b not in a # 输出False
    c in a # 输出False
    c not in a # 输出True
    

    身份运算

    身份运算符用于比较两个对象的存储单元

    is — is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not — is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

    Python运算符优先级

    **	    指数           (最高优先级)
    ~ + -	    按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % //	乘,除,取模和取整除
    + -	    加法减法
    >> <<	    右移,左移运算符
    &'AND'
    ^ |	    位运算符
    <= < > >=	比较运算符
    <> == !=	等于运算符
    = %= /= //= -= += *= **=	赋值运算符
    isis not	身份运算符
    innot in	成员运算符
    not or and	逻辑运算符   (最低优先级)
    

    五、字符

    字符串和编码

    ASCII编码是1个字节,而Unicode编码通常是2个字节,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分

    字母A 用ASCII编码是十进制的65 ,二进制的01000001 ;
    字符0 用ASCII编码是十进制的48 ,二进制的00110000 ,注意字符'0' 和整数0 是不同的;
    汉字'中'已经超出了ASCII编码的范围,用Unicode编码是十进制的20013 ,二进制的01001110 00101101 。
    把ASCII编码的A 用Unicode编码,只需要在前面补0就可以,因此, A 的Unicode编码是00000000 01000001 。
    

    UTF-8编码(8-bit Unicode Transformation Format,又称万国码)把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节

    字符 ASCII Unicode UTF-8
    A 01000001 00000000 01000001 01000001
    x 01001110 00101101 11100100 10111000 10101101

    对于单个字符的编码,Python提供了ord() 函数获取字符的整数表示, chr() 函数把编码转换为对应的字符:

    x1=ord('A')    #x=65
    x2=ord('中')   #x=20013
    x3=chr(66)     #x='B'
    x4=chr(25991)  #x='文'
    print("ord('A')= ", x1)
    

    字符串的长度

    纯英文的str 可以用ASCII 编码为bytes ,内容是一样的,含有中文的str 可以用UTF-8 编码为bytes 。要计算str 包含多少个字符,可以用len() 函数

    x=len('ABC') # 输出3
    x=len('中文') # 输出2
    

    len() 函数计算的是str 的字符数,如果换成bytes , len() 函数就计算字节数。

    由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码,如果.py 文件本身使用UTF-8编码,并且也申明了# -- coding: utf-8 -- ,打开命令提示符测试就可以正常显示中文

    字符串的连接

    字符串的连接是指将多个字符串连接在一起组成一个新的字符串。例如:

    sample_str2 = 'Jack', 'is', 'a', 'Python', 'fan'
    sample_str2
    # 输出 ('Jack', 'is', 'a', 'Python', 'fan')
    

    当字符串之间没有任何连接符时,这些字符串会直接连接在一起,组成新的字符串。

    sample_str3 = 'Jack''is''a''Python''fan'
    sample_str3
    # 输出JackisaPythonfan
    

    字符串之间用’+’号连接时,也会出现同样的效果,这些字符串将连接在一起,组成一个新的字符串。

    sample_str4 = 'Jack'+ 'is'+ 'a'+ 'Python'+ 'fan'
    sample_str4
    # 输出'JackisaPythonfan'
    

    用字符串与正整数进行乘法运算时,相当于创建对应次数的字符串,最后组成一个新的字符串。

    sample_str5 = 'Jack'*3               #重复创建相应的字符串
     print(sample_str5)
    # 输出 JackJackJack
    

    注意:字符串直接以空格隔开的时候,该字符串会组成元组类型。

    字符串的包含判断

    字符串是字符的有序集合,因此用in操作来判断指定的字符是否存在包含关系。如:

    sample_str7 = 'Python'
    print('a' in sample_str7)            #字符串中不存在包含关系
    print('Py' in sample_str7)           #字符串中存在包含关系
    # 运行结果如下:False True
    

    格式化 (占位符/格式化输出)

    在Python中,采用的格式化方式和C语言是一致的,用% 实现:

    s1='Hello, %s' % 'world'  
    s2='Hi, %s, you have $%d.' % ('Michael', 1000000)  
    print(s1)    # Hello, world
    print(s2)  # Hi, Michael, you have $1000000.
    

    % 运算符就是用来格式化字符串的。在字符串内部, %s 表示用字符串替换, %d 表示用整数替换,有几个%? 占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%? ,括号可以省略。

    常见的占位符有:

    占位符 替换内容
    %d 整数
    %f 浮点数
    %s 字符串
    %x 十六进制整数

    其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

    x='Age: %s. Gender: %s' % (25, True)  
    print(x) #输出 Age: 25. Gender: True
    
    print('%2d-%02d' % (3, 1))    # 3-01
    print('%.2f' % 3.1415926)     #3.14
    

    如果你不太确定应该用什么, %s 永远起作用,它会把任何数据类型转换为字符串

    x='growth rate: %d %%' % 7    
    # 字符串里面的% 是一个普通字符,这个时候就需要转义,用%% 来表示一个%
    print(x) # growth rate: 7 %
    
    展开全文
  • 各类数值型数据间如何混合运算

    千次阅读 2014-03-19 22:40:15
    前已述及,字符型数据可以与整型通用,因此,整型、实型、字符型数据间可以混合运算。例如: 10+'a'+1.5-8765.1234 *'b' 是合法的。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按...

    整型(包括int,short,long)、实型(包括float,double)可以混合运算。前已述及,字符型数据可以与整型通用,因此,整型、实型、字符型数据间可以混合运算。例如:
    10+'a'+1.5-8765.1234 *'b'
    是合法的。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图3.10所示。

    图3.10

    图中横向向左的箭头表示必定的转换,如字符数据必定先转换为整数,short型转换为int型,float型数据在运算时一律先转换成双精度型,以提高运算精度(即使是两个float型数据相加,也先都化成double型,然后再相加)。
    纵向的箭头表示当运算对象为不同类型时转换的方向。例如int型与double型数据进行运算,先将int型的数据转换成double型,然后在两个同类型(double型)数据间进行运算,结果为double型。注意箭头方向只表示数据类型级别的高低,由低向高转换。不要理解为int型先转换成unsigned int型,再转成long型,再转成double型。如果

     一个int型数据与一个double型数据运算,是直接将int型转成double型。同理,一个int型与一个long型数据运算,先将int型转换成long型。
    换言之,如果有一个数据是float型或double型,则另一数据要先转换为double型,运算结果为double型。如果参加运算的两个数据中最高级别为long型,则另一数据先转换为long型,运算结果为long型。其他依此类推。
    假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面式子:
       10+'a'+i*f-d/e

    在计算机执行时从左至右扫描,运算次序为:
    ①进行10+‘a’的运算,先将‘a’转换成整数97,运算结果为107。
    ②由于“*”比“+”优先,先进行i*f的运算。先将i与f都转成double型,运算结果为double型。
    ③整数107与i*f的积相加。先将整数107转换成双精度数(小数点后加若干个0,即107.000…00),结果为double型。
    ④将变量e化成double型,d/e结果为double型。⑤将10+'a'+i*f的结果与d/e的商相减,结果为double型。
    上述的类型转换是由系统自动进行的。

    转自:http://202.195.237.152/ec/C141/no3/right3-2-5.html

    展开全文
  • 一、Java定义的数据类型 1.基本数据类型: 整型:byte(-128—127),short,int,long, ... 字符型:char, 浮点型:float,double、 布尔型:boolean 2、引用数据类型: 类(class) 接口(interfa...

    一、Java定义的数据类型

          1.基本数据类型:

             整型:byte(-128—127),short,int,long,

             字符型:char,

             浮点型:float,double、

             布尔型:boolean

         2、引用数据类型:

             类(class)

             接口(interface)

             数组(array)

    二、基本数据类型之间的运算规则

         前提:只讨论7种基本数据类型变量之间的运算,不包含boolean

         1.自动类型的提升

              当容量小的数据类型的变量与数据类型容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

              byte、char、short--(提升)-->int--(提升)--->long--(提升)--->float--(提升)--->double

              特别注意:当byte,char,short三种数据类型的变量做运算时,结果自动提升到int

         2.强制类型转换:自动类型的提升运算的逆运算。

            ①、需要使用强制符:() 

            ②、注意点:强制类型转换可能导致精度损失。

                   精度损失eg1:

                    double d1 = 12.9;

                    int i1 = (int)d1;

                   system.out.println(i1);//12

                  精度损失eg2:

                  int i2 = 128;

                  byte b1 = (byte)i2;

                  system.out.println(b1);//-128

              ③、注意:

                      整型常量,默认类型为int 

                     浮点型常量,默认类型为double

    三、引用数据类型:

    1.String 类型变量的使用

    ①、String数据类型为引用数据类型,翻译为:字符串

    ②、声明String类型时用一对“”

    ③、String可以和8种基本数据类型做运算,,只用连接符号:+做运算

    ④、运算结果仍然是String类型

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 整型、实型、字符型数据可以混合运算运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图: 转换规则为: ① (byte或 short) op int→ int ② (byte或 short或 int) op long...

    自动类型转换

    整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图:

    转换规则为:

    ① (byte或 short) op int→ int

    ② (byte或 short或 int) op long→ long

    ③ (byte或 short或 int或 long) op float→ float

    ④ (byte或 short或 int或 long或 float) op double→ double

    ⑤ char op int→ int

    其中,箭头左边表示参与运算的数据类型,op为运算符(如加、减、乘、除等),右边表示转换成的进行运算的数据类型。

    例2.2

    public class Promotion{

    public static void main( String args[ ] ){

    byte b=10;

    char c=‘a’;

    int i=90;

    long l=555L;

    float f=3.5f;

    double d=1.234;

    float f1=f*b;

    // float * byte -> float

    int i1=c+i;

    // char + int -> int

    long l1=l+i1;

    // long + int ->ling

    double d1=f1/i1-d;

    // float / int ->float, float - double -> double}

    }

    强制类型转换

    高级数据要转换成低级数据,需用到强制类型转换,如:

    int i;

    byte b=(byte)i;//把int型变量i强制转换为byte型

    这种使用可能会导致溢出或精度的下降,最好不要使用。

    展开全文
  • (位运算的实质都是先将十进制数转化为二进制在进行位运算)。 java中使用补码来表示二进制数,在补码表示中,最高位是符号位:0-正数,1-负数,补码规则为:正数最高位是0,其余的各位表示其数值本身;负数是该...
  • 转换的规则如下图所示:图中横向向左的箭头表示必定的转换,如字符数据必须先转换成整数,short型转换为int型,float型数据运算时一律先转换成double型,以提高运算精度(即使是两个float型数据进行相加,也先都...
  • 欢迎加入javascript讨论群 558052642 群里有丰富的JS学习资源,且有较好的学习讨论气氛,且能陪你谈天侃地,气氛活跃... 数据类型: (1)undefined 未定义 (2)boolean 布尔类型 (3)string 字符串类型 (4)number
  • 第3章;本章主要内容;数字化编码二要素; 基二码二进制码;...字符型数据;字符串的表示与存储;多媒体信息编码;数值数据在计算机内的格式; 8421码 余3码 循环码 84-2-1 0 0000 0011 0000 0000 1 0001 0100 0001 0
  • 能够使用运算符 理解运算符的优先级及表达式的运算规则 简单表达式的运算基本类型标准类型用户定义类型数组类型结构体类型共用体类型整型实型字符型枚举型单精度型双精度型C语言的基本数据类型及其运算2.1 C语言的...
  • 文章目录Javase学习-基本数据类型之间的运算规则1.基本数据类型2.自动类型提升3.强制类型转换3.1强转原理4.原码、反码、补码 Javase学习-基本数据类型之间的运算规则 1.基本数据类型 四类八种: 整数: byte(1...
  • 数据的表示和运算

    千次阅读 2019-03-26 23:54:33
    数据的表示和运算 一、数值和编码 1.基本概念 ①进位制:表示数时,仅用一位数码往往不够用,必须用进位计数的方法组成多位数码。多位数码每一位的构成以及从低位到高位的进位规则称为进位计数制,简称进位制。 ②...
  • 编程是将问题数据化的一个过程,数据离不开数字,Python的数字运算规则与我们学习的四则运算规则是一样的,即使不使用Python来编写复杂的程序,也可以将其当作一个强大的计算器。打开Python,试运算以下命令:↓ ...
  • 数据类型的概念:数据类型是一类数据的抽象表示,这类数据具有相同的形式,遵从相同的运算规则数据类型的分类:C语言提供了丰富的数据类型。 1.基本数据类型 标准类型:整型,实型(单精度型,双精度型),字符型。 ...
  • 哈喽,又回到我们互相交流的时间啦,详情请...数据类型分为:整形:int 浮点型:float double 布尔类型:bool 字符型:char 引用类型:string object。 二.变量的命名规则: 三.变量的声明和赋值:如 int age;
  • 解析:数值型数据间的混合运算规则为: ①整型数据中字符型(char)和短整型(short)转换成基本整型(int),基本整型(int)转换成长整型(long),有符号(signed)转换成无符号(unsigned); ②浮点型数据中单...
  • 字符型变量:var_str 数值型变量:var_num 一、字符型变量→数值型变量 赋值:var_num=var_str; 参与算数运算:var_num=var_str+1; 与数值型变量比较大小:if (var_str>var_num) then ...; 在函数中,参数...
  • 1.自动类型转换•字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128~127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0~255(有些机器把char型当做unsighed char型对待,...
  • 运算规则 数值型 加、减、乘、除 取整 求余 乘方 字符型 创建字符 转义 多行字符 数据结构 Series系列 创建Series 修改系列索引 访问 追加元素 切片 删除 DataFrame数据数据框中的概念 创建  访问 ...
  • C语言位运算介绍

    2020-04-27 20:33:30
    运算的对象只能是整形或者字符型数据; C语言提供了6种位运算符:按位与&、按位或|、按位异或^、按位去反~、按位左移<<、按位右移>>; 1、按位与运算(&) 规则:全1为1,有0为0; 作用...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 352
精华内容 140
关键字:

字符型数据运算规则