• Python学习笔记一


     

    转自

    (一)计算机基础

    (二)Python的历史

      宏观上:python2 与 python3 区别:
          python2:源码不标准,混乱,重复代码太多
          python3:统一标准,去除重复代码

    (三)Python的环境

      1、编译型:一次性将所有程序编译成二进制文件
        缺点:开发效率低,不能跨平台
        优点:运行速度快
        代表语言:C,C++等

      2、解释型:当程序执行时,一行一行的解释
        优点:开发效率高,可以跨平台
        缺点:运行速度慢
        代表语言:Python,PHP等

    (四)Python的发展

    (五)Python的种类

      1、运行第一个py文件:
        python3x :python 文件路径 回车
        python2x :python2 文件路径 回车    

        ## ps:若存在两个版本,需在python2.x的安装路径下把"python.exe"文件重命名为"python2.exe"

      2、Python2.x和Python3.x的区别:

        Python2的默认编码方式是ascii码    解决方式:在文件的首行:# -*- encoding:utf-8 -*-
        Python3的默认编码方式是utf-8

    (六)变量
      1、定义:就是将一些运算的中间结果暂存到内存中,以便后续代码调用

      2、定义变量需注意:

        ①必须由数字,字母,下划线任意组合,且不能数字开头
        ②不能是python中的关键字
        ③变量具有可描述性,要有意义
        ④不能是中文

    (七)常量

      定义:计算机内存里不变的量,如π

      ## ps:Python用全大写的字母来定义常量:BIR_OF_CHINA = 1949

    (八)注释
      作用:方便自己或方便他人理解代码
      单行注释:行首添加"#"
      多行注释:①'''被注释内容'''

           ②"""被注释内容""

    (九)用户交互(input)

      1、等待输入
      2、将要输入的内容赋值给了前面变量
      3、input出来的数据类型全部是 str 形式

    (十)基础数据类型初始

      1、数字:int
        运算:+ - * / % ** //

        方法:i = 10

           i.bit_length()    把数字转换成二进制,算出其长度 

        ## ps:①type()可查看数据类型
           ②字符串转化成数字:int(str) 条件:str必须是数字组成的
           ③数字转化成字符串:str(int)

      2、字符串:str

        Python当中凡是用引号引起来的都是字符串

        相加:字符串的拼接。
        相乘:str * int

        ①字符串的索引与切片    ## 切片 :顾头不顾尾

          [首:尾:步长]  步长默认为空

             View Code

        ②字符串的操作

          s = 'woXUExiPython'

          s.capitalize()    ## 字符串首字母大写

          s.upper()    ## 全大写

          s.lower()    ## 全小写

          ## ps:验证码不区分大小写:

             View Code 

          s.swapcase()    ## 大小写翻转

          s.title()    ## 每个用特殊字符、数字或空格隔开的单词,首字母大写

          s.center()    ## 居中,默认空格填充  pg:s5 = s.center(20,'~') -----> ~~~~~~~xuexi~~~~~~~~

          s.expandtabs()    ## 在字符串中加上" ",如果" "前面不够八个字符,用空格补充至八个

             View Code

          s.startswith()    ## 以什么开头,返回 True 或 False

          s.endswith()    ## 以什么结尾,返回 True 或 False

          s.find()    ## 通过元素找索引,找不到返回-1

          s.index()    ## 通过元素找索引,找不到报错

          s.strip()    ## 删除字符串前后空格,扩展有 rstrip 删除右边;lstrip 删除左边 

             View Code

          s.count()    ## 返回某(个/组)字符的个数

          s.len()    ## 返回字符串的长度

          s.isdigit()    ## 判断字符串是否全部由数字组成,返回 True 或 False

          s.isalpha()    ## 判断字符串是否全部由字母组成,返回 True 或 False

          s.isalnum()    ## 判断字符串是否由数字或字母任意组成,返回 True 或 False

          s.split()    ## 将字符串分离,返回列表

             View Code

          s.replace()    ## 替换      

             View Code

      3、布尔值:bool

        返回:True、False

        ## ps:非零数字和非空字符串都是True,空格也算一个字符

            s = "" -----> False

            s = "0" -----> True

            s = " " -----> True


    (十一)if

      格式:①if 条件:
            结果

         ②if 条件:

            结果

          else:

            结果

         ③if 条件:

            结果

          elif 条件:

            结果

          ....

          else:

            结果

    (十二)while

      格式:while 条件:
            循环体

      1、无限循环
      2、终止循环:①改变条件,使其不成立
             ②使用break,跳出循环
             ③使用continue,返回上面的循环,不执行下面的循环里的语句

      ## ps:while 1: 比 while True: 效率高,一般用while 1:

    (十三)while else

      格式:while 条件:

           循环体

           break;       ## ps:倘若break没有发挥作用跳出循环,则执行下面的else语句;跳出则不执行else语句

         else:

           结果

    (十四)格式化输出

      ①占位符:%

       View Code

      ## pg:倒数第二个%为转义字符

       ② format

       View Code

    (十五)初始编码

      1、应用:电报,电脑的传输,存储都是01010101

      2、历史:①美国最早创建的“密码本”ascii 涵盖了英文字母大小写,特殊字符,数字,但是 ascii 只能表示256(2 ** 8)种可能,不够;

           ②然后创建了万国码 unicode ,32位表示一个中文,太浪费;

           ③Unicode 升级为 utf-8  utf-16

              8位(bit) = 1字节(byte)

             utf-8:一个字符最少用8位去表示,英文用8位,即:1个字节

                    欧洲文字用16位去表示,即:2个字节

                    中文用24 位去表示,即:3个字节

              utf-16 一个字符最少用16位去表示

        ## ps:gbk 编码:中国人自己发明的,两个字节表示一个中文

    8bit = 1bytes
    1024bytes = 1kb
    1024kb = 1MB
    1024MB = 1GB
    1024GB = 1TB

    (十六)逻辑运算

      重点:and、or、not

      ## ps:①优先级:()> not > and > or

          ② int  ----> bool   非零 转换成 bool 为 True ;零 转换成 bool 为 False

          ③ print(x or y)  如果 x 为 非零数字,则返回 x ,否则返回 y   

           pg:print(1 or 3) ----> 1

             print(0 or 2) ----> 2

          ④ and 与 or 返回结果相反

           pg:print(1 and 3) ----> 3

             print(0 and 2) ----> 0

          ⑤ 面试题:print(3 > 1 or 2 and 3)  ## 第一步:2 and 3 返回 3 

                              第二步:3 > 1 or 3 返回 True

    (十七)for

      for 变量 in 可迭代对象:

        pass

       View Code

       ## ps:li = ['famcoo', 'appleya', 'faustina']

          for index, i in enumerate(li,1):

            print(index, i)

          默认索引从 0 开始,第二个参数可设定起始索引值

  • 相关阅读:
    day14(JavaDoc)
    day15(Java流程控制)
    day12
    day.6
    day10
    day11(运算符)
    day.5
    proc -x cshell fork()
    I/O -x 标准IO fopen-fclose--fgetc-fputc--fgets-fputs--fwrite-fread--fprintf-fscanf
    I/O -x open()-read()-write()-close()-lseek()
  • 原文地址:https://www.cnblogs.com/xinmomoyan/p/10342608.html
Copyright © 2020-2023  润新知