Day2 语言基础

作者: 风月辞寒 | 来源:发表于2019-07-23 21:01 被阅读0次

    一、第一个Python程序

    利用print函数输出“Hello World!”

    print('Hello World!')
    

    二、Python基础语法

    1. 注释,注解代码中对代码进行解释和说明的文本内容,并且不会对程序的运行和功能产生影响

    1) 单行注释:

    在一行的说明文字前加# (由于代码规范,在#后面加上一个空格再写说明文字)

    # 这是第一行注释
    # 这是第二行注释
    # 这是第三行注释
    
    2)多行注释:

    将注释写在三个双引号或者三个单引号中(但是一般使用三个双引号)

    """
    这是第一行注释
    这是第二行注释
    这是地三行注释
    """
    

    2.语句:

    1)一条语句占一行,并且语句结束不用加分号
    a = 1
    b = 2
    
    2)若是一行写了多条语句要用分号隔开。
    a = 1; b=2
    
    3)若果一条语句太长,可以使用‘\’进行换行,但是要注意不要破坏数据结构。

    正确示例:

    a = 123**33 + 1234 - 1234 + 33 *\
        10000 - 1 + (45 - 33) * 999
    

    错误示例:

    a = 123**33 + 1234 - 1234 + 33 *100\
        00 - 1 + (45 - 33) * 999
    

    3.缩进Python代码中每一行代码的开头不能随便加减缩进(即空格和制表符)在语法要求有缩进的位置一定要有缩进

    a = 1
    if a == 1:
        print('正确的语法缩进')
    
        a = 1
    if a == 1:
    print('错误的语法缩进')
    

    4.标识符:一般用来给变量、函数、类等命名

    命名规则:所有的标识符都必须是由字母、数字、下划线组成。(不能以数字开头)

    a = 1
    _a1 = 2
    a_ = 3
    a_1 = 4
    1a = 4  # 错误的命名方式
    1_ = 5  # 错误的命名方式
    

    5.关键字(保留字)在Python中有特殊功能和意义的标识符叫做关键字,不能做它用

    print(keyword.kwlist)
    """
    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 
    'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 
    'else', 'except', 'finally', 'for', 'from', 'global', 'if', 
    'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 
    'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    """
    

    6.常见的数据类型和数据

    数字数据:
    整形(int):10,89,-10
    浮点型(float):12.1,-22.3,10.0
    
    字符串(str(不表示数字大小)):
    用双引号或单引号引起来的文本数据:'86-135 1234 1234', "cichuanchengdu"
    
    布尔(bool):只有True和False两个值, 其中True代表真/肯定, False代表假/否定
    列表(list)、元组(tuple)、集合(set)、字典(dict)、函数(function)...
    类型转换:类型名(数据) -> 将括号中的数据转换成指定的类型并返回
    print(float(100))
    print(int(2.33))
    print(str(1123))
    

    7.输入输出函数

    print 函数 - 输出函数,在控制台打印括号中的内容结果 自动换行 也可以打印多个结果,但是不会主动换行
    input 函数 - 输入函数,获取在控制台输入的数据,括号内写提示信息  回车结束数据输入
    
    注意:不管从键盘上输入的内容是什么,input返回的结果的类型都是字符串类型
    print(100, 'abc', 10**20)
    print('abc')
    vale = input('输入:')
    print(vale, type(vale))  # 通过type输出数据类型
    

    三、进制转换

    1.十进制:
    a.基数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    b.进位:逢十进一   10 == 10
    c.位权:123(10) = 100 + 20 + 3 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0 = 123 (10^x)
    d.表示方式:默认十进制数,直接写
    
    # 十进制  其它进制转10进制直接print就可以了
    num = 10
    print(num)
    
    2.二进制:
    a.基数:0, 1
    b.进位:逢二进一   10 == 2
    c.位权:101(2) = 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 5(10)
    d.表示方式:在二进制前加0b/0B
    e.转换:bin()
    
    # 二进制
    num = 0b10   # 2
    print(num)
    print('转二进制:', bin(100), bin(0o56), bin(0xaf))
    
    3.八进制:
    a.基数:0, 1, 2, 3, 4, 5, 6, 7
    b.进位:逢八进一   10 == 8
    c.位权:111 = 1 * 8^2 + 1 * 8^1 + 1 * 8^0 =  73 (10)
    d.表示方式:在八进制前加0o/0O
    e.转换:oct()
    
    # 八进制
    num = 0o10   # 8
    print(num)
    print('转八进制:', oct(200), oct(0b11111), oct(0xaad))
    
    4.十六进制:
    a.基数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f(A, B, C, D, E, F)
    b.进位:逢十六进一  10 == 16
    c.位权:111 = 1 * 16^2 + 1 * 16^1 + 1 * 16^0 = 273(10)
           1f(16) = 31(10)
    d.表示方式:在十六进制前加0x/0X
    e.转换:hex()
    
    # 十六进制
    num = 0x10  # 16
    print(num)
    print(47+2, 0x2f+0b10)
    print('转十六进制:', hex(200), hex(0b1111), hex(0o134))
    

    四、原码反码补码

    计算机存数据的时候,只能存数字,而且存的是数字的二进制的补码
    数据进制:
    1位(bit)
    1字节(byte) = 8bit
    1kb = 1024byte
    1M = 1024kb
    1G = 1024M
    1T = 1024G
    
    1.原码 = 符号位(0表示正,1表示负)+真值(数字转换成二进制的值)
    注意:正数的原码、反码、补码一样
    10 -> 1010(真值) -> 1010
     10 的原码: 00000000 00000000 00000000 00001010
    -10 的原码: 10000000 00000000 00000000 00001010
    
    2.负数反码: 符号位不变,其余的位取反 0->1 , 1->0
     10 的反码: 10000000 00000000 00000000 00001010
    -10 的反码: 11111111 11111111 11111111 11110101
    
    3.负数的补码:反码加1
     10 的补码: 10000000 00000000 00000000 00001010
    -10 的补码: 11111111 11111111 11111111 11110110
    
    4.计算机负数采用补码的原因:计算机没有减法器,负数采用原码进行加法运算的时候结果不对,采用补码结果才对

    五、运算符

    Python支持的运算符:数学运算符、比较运算符、逻辑运算符、位运算、赋值运算符

    1.数学运算符:+(求和),-(求差),(求积),/(求商),%(取余),//(对商取整),*(幂运算)
    1) +,-,*,/ 和数学中的+, -, ×, ÷ 的功能一样
    print(10 + 20)
    print(10 - 20)
    print(10 * 20)
    print(10 / 20)
    
    2)取余
    print(11 % 3)   # 求11除以3的余数
    也可以用来判断一个数是否能被另一个数整除
    判断一个数的奇偶性 对2取余看是0还是1
    获取一个数的最后几位数 对10,100,1000 取余
    判断年份是否是闰年
    
    3) // 对商取整 求商并取整数部分
    print(10 / 3)    # 求商
    print(10.0 // 3)   # 对商取整  被除数是什么类型结果就是什么类型
    num = 123
    print(num//100)
    print(num % 10)
    print(num // 10 % 10)
    
    4)幂运算
    print(2 ** 3)
    print(16 ** (1 / 2))
    print(8 ** (1 / 3))
    
    2.比较运算符:
    >, <, >=, <=, ==, != 所有比较运算符的运算结果都是布尔值 True or False
    >, <, >=, <= 和数学中的相应的比较运算符一样
    print(100 > 10)
    print(100 < 10)
    print(100 >= 100)
    print(10 <= 100)
    
    == 判断是否相等 / != 判断是否不相等
    print(10 == 20 + 30)
    print(10 != 100)
    
    Python 中比较大小时可以向数学一样连写表示范围
    print(0 <= 10 <= 20)
    

    相关文章

      网友评论

        本文标题:Day2 语言基础

        本文链接:https://www.haomeiwen.com/subject/lphzlctx.html