用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

lb0123    -  云代码空间

—— 自己 不努力每人会帮你

python学习笔记

2020-01-28|129阅||

摘要:python笔记总结---持续更新

python notes:
 【内存与进制】
 内存单位:
     1bit
     8bit       ==     1zj  zj -> 字节
     1024zj     ==     1k
     1024k      ==     1M
     1024M      ==     1G
     1024G      ==     1T
 进制:二进制、八进制、十进制、十六进制:
 
     二进制:逢二进一
         0 1
         1 + 1 = 2
     八进制:逢八进一
         1 2 3 4 5 6 7
         1 + 7 = 10
     十进制:逢十进一
         1 2 3 4  5 6 7 8 9
         1 + 9 = 10
     十六进制:逢十六进一
         1 2 3 4 5 6 7 8 9 a b c d e f
         1 + f = 10
 进制转换:
     进制转换类型:
         十进制转二进制
         二进制转十进制
         八进制转二进制
         二进制转 八进制
         十六进制转二进制
         二进制转十六进制
    
     进制转换方法:
         十进制转二进制:
             公式:倒除法余数逆序
             例如:9
                 9 ÷ 2 = 4……1
                 4 ÷ 2 = 2……0
                 2 ÷ 2 = 1……0
                 1 ÷ 2 = 0……1
             结果:余数倒序即为十进制9的二进制:1001
       
         二进制转十进制:
              公式:当前数字(0/1)乘于2的位数次方再相加
              例如:1001
                 1001 -> 1x2^3 + 0x2^2 + 0x2^1 + 1X2^0 =9
                 8 + 1 = 9
              结果:和即为二进制1001的十进制:9
         八进制转二进制:
              公式:【一转三位】(八进制的一位相当于二进制的三位,计算时按十进制转换,不足三位高位补0)
              例如:75(八进制)
                 7(十进制) = 111(二进制)
                 5(十进制) = 101(二进制)
              结果:和即为八进制75的二进制:111101
         二进制转八进制:
              公式:【三位一取】从低位获取,每三位得到一个八进制数字,组合即得结果,高位不足则补0
              例如:111101
                 111(二进制) = 7(十进制)
                 101(二进制) = 5(十进制)
              结果:从高位组合 1111101 的二进制:75 
         十六进制转二进制:
              公式:【一转四位】(十六进制的一位相当于二进制的四位,计算时按十进制转换,不足四位高位补0)
              例如:75(十六进制)
                 7(十进制) = 0111(二进制)  不足高位补0
                 5(十进制) = 0101(二进制)  不足高位补0
              结果:从高位组合 75 (十六进制)的二进制:1110101 
          二进制转十六进制:
              公式:【四位一取】从低位获取,每四位得到一个十六进制数字,组合即得结果,高位不足则补0
              例如:1110101
                 0111(二进制) = 7(十进制)
                 0101(二进制) = 5(十进制)
              结果:从高位组合 1110101 的二进制:75 
 
      进制转换表:
        十进制          二进制          八进制          十六进制
          0               0              0               0  
          1               1              1               1
          2               10             2               2
          3               11             3               3
          4               100            4               5
          5               101            5               5
          6               110            6               6
          7               111            7               7
          8               1000           10              8
          9               1001           11              9
          10              1010           12              a
          11              1011           13              b
          12              1100           14              c
          13              1101           15              d
          14              1110           16              e
          15              1111           17              f
          16              10000          20              10
          17              10001          21              11
          18              10010          22              12
          .                 .             .               .
          .                 .             .               .
          .                 .             .               .
          .                 .             .               .
          .                 .             .               .
          .                 .             .               .
         
 储存数据:
     内存中数据是以二进制的形式储存
     1、计算机先开辟空间,再储存数据,计算机开辟的最小空间是字节。
     2、在数据储存中用最高位表示符号位,0表示正数,1表示负数。
 
 编程:
     注释:
          单行注释用:#进行注释
          多行注释用:'''         '''       或    """          """  进行注释,引号内的内容即被注释掉了,单双引号没有区别.
     输入:print("hello world !")
          注意是print而不是printf,需要与C语言里的printf区分.
          可以多个字符串,可以用逗号分隔.例如: print("hello world !","李斌",100)
     输出:input()
          input即为读取键盘输入变量,可阻塞等待键盘输入.
          例如: name = input()
                print ("name")
     数据类型:计算机储存和处理的数据可以是各种类型,比如:文字、数字、音频、视频等等。所欲需要不同的数据类型变量.
              查看数据地址:print(id(变量名))
             1、Number数字
                整数
                浮点型
                复数
             2、String(字符串)
                "shuck is a good man "
                'shuck is a good man '
                一串字符
             3、Boolean(布尔型)
                表示真假的值
             4、none(空值)
             5、list(列表)
             6、tuple(元组)
             7、dict(字典)
             8、set(集合)
     标识符:一串字符串,但是字符串未必是标识符。
         作用:给变量函数命名.
         规则:
              1.只能有字母、数字、下划线组成.
              2.不能是python的关键字
              3.开头不能是数字
              4.区分大小写
              5.见名知意,写的需要一眼就能看出来什么意思
              6.特殊字符串不要用,例如:print input
              7.在python 3 中非ASCII标识符也被允许,但是一般不要用

     python所有关键字:
                     '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'        
    
     变量:
         概述
          1.程序可操作存储区的内容
          2.程序运行期间能改变的数据
          3.每个人变量都有不同的类型
         作用:将不同类型的数据储存到内存中去
         定义变量:
                 变量名 = 数据值
                 注意:变量在使用前需要先定义,否则会出错。
         删除变量:
                 del 变量名
                 注意:删除后的变量无法引用
     常量:程序运行中不能改变的数据.
     1、Number数字
         分类:
             1.整数
                 python可以处理任意大小的整数,还包含复数
                 定义num1 = 10
                     num2 = num3 = num4 = 10
                    
             2.浮点数
                 浮点数有整数部分和小数部分组成
                 但在计算时可能有四舍五入的误差产生  
             3.复数
                 复数组成包括实数部分和虚数部分
             4.数学函数
                     abs 求绝对值   例如:abs(-2) 求出-2的绝对值
                     max 求最大值   例如:max(1,2,3,4,5,6) 求出1,2,3,4,5,6中的最大值
                     min 求最小值   例如:min(1,2,3,4,5,6) 求出1,2,3,4,5,6中的最小值
                     pow 求次方     例如:pow(2,4) 表示2的4次方
                     round 四舍五入 例如:round(3.1415926,4) 表示将3.1415926进行四舍五入,并保留四位有效数字,其中 4可以省略
                                                            若省略则表示进行四舍五入到整数,计算结果为 3                     
                    
             5.数学模块
                 import math 导入数学模块   使用数学模块必须先导入数学模块
                 math.ceil(18.1)   向上取整  结果:19
                 math.floor(18.1)  向下取整  结果:18
                 math.modf(18.1)   得到浮点数的小数部分和整数部分  结果:(0.10000000000000142, 18.0)
                 math.sqrt(5)       开方被开方数不能为负数   结果:2.23606797749979
 
             6.随机数
                 import random 导入随机数模块  使用随机数函数必须先导入随机数模块
                 random.choice([12,3,4,5,6,]) 从指定数字中随机输出一个数              
                 randrange([start],[stop],[step])  在一定范围内随机数出一个数,这个随机数开始于start,结束于stop但不包括stop,每个数字间隔为step若无start默认从0开始若无step指定的基数为1
                 random.random 在[0,1)之间随机生成一个数                           
                 random.uniform(a,b)  在a,b之间随机产一个浮点数
                 random.shffile(arr)  arr = [ , , , , ] 对arr这个数组(序列)随机排序
                 random.randint(start,stop) 在start-stop之间随机产生一个整数,且包含start和stop
             7.三角函数
                 import math
                 asin() 反正弦弧度值
                 atan() 反正切弧度值
                 acos() 反余弦弧度值
                 cos()  弧度的余弦值
                 sin()  弧度的正弦值
                 tan()  弧度的正切值
                 cot()  弧度的余切值
                 radians() 角度转弧度
             8.数据类型转换
                 int(x) 将x转换成一个整数
                 float(x) 将一个数转换成一个浮点数
    运算符与表达式:由变量、常量运算符组成的表达式
         阅读表达式:
                    1.表达式的功能
                    2.阅读表达式的值
         算数运算符与算数运算表达式:
                   1.算数运算符:
                         +  -  *  /  %    **    //
                         加 减 乘 除 求余  求幂  取整
                      功能:进行符号对应算数符号算数运算,不会修改变量的值
                      值  :相应算数运算的结果
                      例如:
                            num1 = 2
                            num2 = 5
                            print(num1+num2)
                            print(num1-num2)
                            print(num1*num2)
                            print(num1/num2)
                            print(num1%num2)
                            print(num1**num2)
                            print(num1//num2)
                      结果:
                           num1+num2= 7
                           num1-num2= -3
                           num1*num2= 10
                           num1/num2= 0.4
                           num1%um2= 2
                           num1**num2= 32
                           num1//num2= 0

                   2.赋值运算符和赋值运算表达式:
                       赋值运算符:   =
                       赋值运算表达式:
                          格式:变量 = 表达式
                          功能:计算右侧表达式的值并赋值给=左侧的变量
                          值 : 赋值结束后变量的值
                   3.复合运算符:
                           +=  -=  *=  /=  %=  **=  //=
                           a +=b  ->  a=a+b
                           a -=b  ->  a=a-b
                           a *=b  ->  a=a*b
                           a /=b  ->  a=a/b
                           a %=b  ->  a=a%b
                           a **=b  ->  a=a**b 
                           a //=b  ->  a=a//b
                   4.位运算符:
                         &  按位与运算符:参与运算的两个值,如果两个相应位都为1,这该位结果为1,否则为0 注意:需要用进制进行判断
                                   例如: 7 & 5  换成二进制 111 & 101
                                           111
                                           101      
                                          ------
                                           101       换成十进制为5 所以7 & 5=5
                         |  按位或运算符:参与运算的两个值有一个为1,结果为1,否则结果为0
                                   例如: 5|7=7
                         ^  按位异或运算符:参与运算的两个值相同时结果为1,否则为0
                                   例如: 5^7=5
                         ~  按位取反运算符:对数据的二进制位进行取反操作,即把1变为0,把0变为1
                                   例如: ~5
                        << 左移运算符:  运算数的各二进制全部左移若干位,由<<右侧的数字决定移动的位数
                                   例如: 0000000000000010十进制中的 2
                                         2<<2=8   ->0000000000000010 << 0000000000001000
                         >> 右移运算符:运算数的各二进制全部右移若干位,由<<右侧的数字决定移动的位数
                    5.关系运算符与关系运算表达式:
                         1、if 语句表达式:
                               使用格式:if~表达式:
                                         ~~~~语句   (~表示空格)
                           if 语句的逻辑:
                                         当程序运行到 if 语句时,首先进行计算表达式的值是否为真,若为真则执行语句
                                                                                                 若为假则跳过语句
                                         表达式为假的情况:0  0.0  ''(空字符串) None  False
                                         表达式为真的情况:除了上述情况外都为真
                         2、if else 语句
                                    格式:
                                          if 表达式:
                                              语句1
                                          else:
                                              语句2
                                    逻辑:当程序运行到 if else语句时,判断表达式的值,若为真执行语句1,若为假执行语句2
        
         关系运算符与关系运算表达式:
         关系运算符分类: ==     !=       >     <      >=         <= 
                         等于  不等于    大于  小于  大于等于  小于等于
                   格式:表达式1 关系运算符 表达式2
                   功能:计算表达式1和表达式2的值
                   值  :如果关系成立,则整个关系运算表达式的值为真
                         若关系不成立,则整个关系运算表达式的值为假
         逻辑运算符:逻辑与、逻辑或、逻辑非
             逻辑与:
                    格式:表达式1 and 表达式2
                    功能:首先计算表达式1的值,若为真则计算表达式2的值
                          若表达式1的值为真,表达式2的值为真,则为真
                          若表达式1的值为真,表达式2的值为假,则为假
                          若表达式1的值为假,表达式2的值为真,则为假
                          若表达式1的值为假,表达式2的值为假,则为假
                    例如:a=1
                          b=2
                          if a and b:
                              print("a,b都为真")
                          else:
                              print(" a,b至少一个为假")
             逻辑或:
                    格式:表达式1 or 表达式2
                    功能:首先计算表达式1的值,若为真则不再计算表达式2的值,直接判断为真
                          若表达式1的值为假,表达式2的值为假,则为假
                          若表达式1的值为假,表达式2的值为真,则为真
                          若表达式1的值为真,表达式2的值为假,则为真
                          若表达式1的值为真,表达式2的值为真,则为真
                    例如:
                          a=1
                          b=2
                          if a or b:
                              print("a,b至少一个为为真")
                          else:
                              print(" a,b都为假")
             逻辑非:
                    格式:not 表达式
                    值  :如果表达式的值为真则逻辑非运算的值为假
                          如果表达式的值为假则逻辑非运算的值为真
                    总结:颠倒黑白
                    例如:
                          a=1
                          if not a:
                              print("a为假")
                          else:
                              print("a为真")
         成员运算符:
                    格式:x in seq    x not in seq
                          in:如果在指定的序列中,则返回真
                          not in:如果不在序列中,则返回假
         身份运算符:
                    格式:obj1 is obj2    obj1 is not obj2
                          is 判断两个标识符身份表示同一个对象,引用相同返回为真,否则为假
                          is not 判断两个标识符引用是否为不同对象,不同返回真,否则返回假
         运算符的优先级:
                        **    指数
                        ~ + - 按位取反和医院加减号即正负号
                        * / % //
                        + -   加减号法
                        << >>
                        &
                        | ^
                        < > <= >=
                        == !=
                        = *= /= %= //= += -= **=
                        is     is not
                        in     not in
      
    字符串:
           以单引号或双引号括起来的任意文本,但是引号本身是一种表现形式,不属于字符串的一部分
      注意:如果字符串本身带双引号,则外侧不能再用双引号,应用单引号括起来
            如果字符串本身带单引号,则外部用双引号括起来
      例如:"hello world!"
            'hello world'
            'hello "world"'
            "hello 'world'"
      创建字符串:
            str1 = 'hello'
            str2 = "world"
      字符串的拼接:
            str3 = str1 + str2
      重复字符串:str1 * 3 相当于输出三次str1
     
      通过索引获取字符串中的字符,索引从0开始:
             str1 = hello
             print(str1[1])  
      判断字符串中是否存在某些内容:
             格式: in     not in 
             例如:str1 = 'hello'
                   print('ll'in str1) 
    
      格式化输出:
                 %s  格式化字符串
                 %d  格式化整数
                 %f  格式化浮点数,可以指定小数后的精度
          例如:name = str(input("请输入你的姓名:"))
                age = int(input("请输入你的年龄:"))
                height = float(input("请输入你的身高:"))
                print("%s is %d years old , he is %.2fcm height."%(name,age,height)) 
          注意:%.2d %.2f表示需要的精度 
       转义字符:
                 反斜杠  \
                 单引号  ‘
                 双引号  “
                 换行    #\n
                 多行换行 '''   '''
          例如:若要打印#\n 可用print("hello world \\n")
        String的内置函数:
                 1.eval:
                    原型:eval(*args,**kwargs)
                    功能:将字符串当成有效的表达式来求值,并返回计算结果
                    参数:只能是数字的转换,字母的字符串不能进行转换
                    例如: num1 = "123"
                          num2 = eval(num2)
                          print(num1)
                          print(type(num2)) 
                          运行结果:123    <class 'int'>
                 2.len:
                    原型:len(string)
                    功能:返回字符串的长度
                    参数:
                    例如:print(len("libin is a good man"))
                    结果:19
                 3. lower:
                    原型:字符串.lower()
                    功能:将字符串中的大写变成小写,但不改变字符串本身
                    例如:str1="libin is a good man!"
                          sht2=str1.lower()
                          print(str1)
                          print(sht2)
                    结果:LiBin is a good man!
                          libin is a good man!
                 4.upper:
                    原型:字符串.upper
                    功能:将字符串中的小写字母转成大写字母
                    例如:str1="libin is a good man!"
                          sht2=str1.lower()
                          print(str1)
                          print(sht2)
                    结果:LiBin is a good man!
                          libin is a good man!
                 5.swapcase()
                    原型:字符串.swapcase()
                    功能:将字符串中的大写字母变成小写字母,小写字母变成大写字母
                    例如:str1 = "LiBin is a good man!"
                          str2 = str1.swapcase()
                          print(str1)
                          print(str2)
                    结果:LiBin is a good man!
                          lIbIN IS A GOOD MAN!

                 6.capitalize()
                    原型:字符串.capitalize()
                    功能:将字符串中一个字母转成大写,其余字母转成小写
                    例如:str1 = "libin IS a good man"
                          str2 = str1.captalize()
                          print(str1)
                          print(str2)
                    结果:libin IS a good man  Libin is a good man
                 7.title()
                    原型:字符串.title
                    功能:得到标题化的字符串,每个单词的首字符大写其余的小写
                    例如:str1 = "libin is a good man"
                          str2 = str1.title()
                          print(str1,str2)
                    结果:libin is a good man   Libin Is A Good Man
                 8.center(width,"filchar")
                    原型:字符串.center(width,"filchar")
                    功能:返回指定宽度的width的居中字符串,filchar为填充物
                    例如:str1 = "good"
                          str2 = str1.center(20,"$")
                          print("*"+str2+"*")  #*是为了定位用的,实际中不需要写出
                    结果:*$$$$$$$$good$$$$$$$$*
                 9.zfill(width)
                    原型:字符串.zfill(width)
                    功能:将字符串右对齐,左侧填充0
                    例如:str1 = "hello"
                          str2 = str1.zfill(20)
                          print("*"+str2+"*")
                    结果:*000000000000000hello* 
                 10.count(str,beg=0,end=len(string))
                    原型:字符串.count(str,beg=0,end=len(string))
                    功能:返回str在string中出现的次数,如果beg或end指定则返回指定范围为str出现的次数
                    例如:str1="l"
                          str2="hello world!"
                          str3=str2.count(str1)  #意为str1在str2中的次数
                          print(str3)
                    结果:3
                 11.ljust(width,fillchar)
                    原型:字符串.ljust(width,fillchar)
                    功能:返回一个左对齐的字符串
                    例如:str1="li bin"
                          str2=str1.ljust(20,"*")
                          print(str1)
                          print(str2)
                    结果:li bin
                          li bin**************
                 12. find(str)
                    原型:string.find(str)
                    功能:检测str中是否含有string,如果包含返回开始的索引值,如果不包含返回-1
                    例如:str1="hello"
                          str2="hello world"
                          str3=str2.find(str1)
                    结果:0  #表示含有hello并且开始于第0个字母
                 13.index()
                    原型:string.index(str)
                    功能:如果string中不含有str程序会进行报错
                    例如:str1="libin"
                          str2="hello world"
                          str3=str2.index(str1)
                          print(str3)
                    结果:substring not found
                 14.rfind()
                    功能:类似于find,但是是从右边开始查找的
                 15.rindex()
                    功能:类似于index,但是从右边开始查找
                 16. lstrip()
                    原型:字符串.lstrip()
                    功能:截取字符串左侧的空格
                    例如:str1="****hello world"
                          str2=str1.lstrip(*)可以指定
                          print(str2) 
                 17. rstrip()
                    功能:和lstrip功能相同但是清除右侧

                 18.strip()
                    功能:和lstrip功能相同删除两端split
                 19.split()
                    原型:字符串.split()
                    功能:根据某些规则切割字符串
                    例如:str1= "libin is a good man"
                          str2=str1.split()
                          print(str2)
                    结果:['libin', 'is', 'a', 'good', 'man']


                    原型:
                    功能:
                    例如:
                    结果:





     

                        




                        
                         
                                           













                         











顶 5踩 1收藏
分享到:
更多
文章评论
    发表评论

    个人资料

    • 昵称: lb0123
    • 等级: 中级程序员
    • 积分: 257
    • 代码: 7 个
    • 文章: 8 篇
    • 随想: 0 条
    • 访问: 0 次
    • 关注

    人气代码

      最新提问

        站长推荐