zoukankan      html  css  js  c++  java
  • python笔记(1)--基础知识

    一、注释

    单行注释

    #打印“hello world”
    
    print("hello.world!")

    另外一种单行注释

    print("hello,world!")  #打印hello,world

    多行注释

    '''
    
    print("l love u")
    
    print("china")
    
    '''

    二、算术运算符

    操作符 描述 例子
    + 加法 - 对操作符的两侧增加值 a + b = 30
    - 减法 - 减去从左侧操作数右侧操作数 a - b = -10
    * 乘法 - 相乘的运算符两侧的值 a * b = 200
    / 除 - 由右侧操作数除以左侧操作数 b / a = 2
    % 模 - 由右侧操作数和余返回除以左侧操作数 b % a = 0
    ** 指数- 执行对操作指数(幂)的计算 a**b = 10 的幂 20
    // 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商 9//2 =  4 而 9.0//2.0 = 4.0

    三、程序运行原理

    3.1计算机组成

    3.1.1cpu

    • 中央处理器,是一块超大规模集成电路
    • 负责 处理数据/计算

    3.1.2内存

    • 临时 存储数据(断电之后,数据会丢失)
    • 速度快
    • 空间小(单位价格高)

    3.1.3硬盘

    • 永久 存储数据
    • 速度慢
    • 空间大(单位价格低)

     3.2程序执行原理

    3.2.1程序执行之前,程序是保存在硬盘中

    3.2.2当要运行一个程序时:

    •  操作系统会让cpu把程序复制到内存中
    •  cpu执行内存中的程序代码

    3.3python程序运行原理

    (1)操作系统会首先让cpu把python解释器的程序复制到内存中

    (2)python解释器根据语法规则,从上向下让cpu翻译python程序中的代码

    (3)cpu负责执行翻译完成的代码

    3.3.1QQ运行原理

    (1)QQ在运行之前,是保存在 硬盘

    (2)运行之后,QQ程序就会被复制到 内存

    (3)用户输入账号密码,将QQ号码跟QQ面发送给腾讯服务器,等待服务器确认用户信息

    (4)QQ程序是怎么记住QQ账号和QQ密码的:

    • 在QQ自己内存中,会给QQ号码跟QQ密码各自分配一个内存空间,其他程序不能使用该内存空间;
    • 在QQ程序结束前,这两块空间只负责保存QQ号码和QQ密码

     在程序内部,为 QQ号码 和 QQ密码 在内存中分配的空间就叫 变量

    程序是用来处理数据的,变量是用于存储数据的

    四、变量

    4.1变量定义

    变量名=变量值

    4.2标准数据类型

    Python3 中有六个标准的数据类型:

    • Number(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Set(集合)
    • Dictionary(字典)

    Python3 的六个标准数据类型中:

    • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

     

    4.2.2使用type函数查看变量类型

    type(变量名)

    4.3不同类型变量之间计算

    如果数值是bool型,那么在计算时:

    • True ---对应的数字是1
    • Flase ---对应的数字是0

     4.4变量格式化输出

    格式化字符 含义
    %s 字符串
    %d 有符号十进制数字,%06d表示输出的整数显示位数,不足的地方使用0补全。
    %f 浮点数,%.02f表示保留小数点后两位
    %% 输出%

    4.4.1字符串%s

    $ name = "jack" 
    
    $ print("我的名字是:%s"  % name)
    我的名字是:jack

    4.4.2十进制数字%d

    $ num = 10
    
    $ print("需要的数字是:%d"  % num)
    需要的数字是:10

    $ print("数字是:%06d" %num)
    数字是:000010

    4.4.3浮点数%f

    $ num = 1.356
    
    $ print("输出的数字是:%f" %num)
    
    输出的数字是:1.356000
    
    
    
    $ num = 1.356
    
    $ print("输出的数字是:%.2f" %num)
    
    输出的数字是:1.36

    4.4.4输出%

    $ num = 12.43
    
    $ print("占有率为:%.2f%%" %num)
    占有率为:12.43%

    4.5标识符与关键字

    4.5.1标识符

    标示符就是程序员定义的 变量名、函数名

    • 名字 需要有 见名知义 的效果,见下图            
    • 标示符可以由 字母下划线 和 数字 组成
    • 不能以数字开头
    • 不能与关键字重名
    • Python中的标识符是      区分大小写的

    4.5.2 关键字

    • 关键字就是在Python内部已经使用的标识符
    • 关键字具有特殊的功能和含义
    • 开发者不允许定义和关键字相同的名字的标示符

    通过以下命令可以查看Python中的关键字

    $ import keyword
    $ print(keyword.kwlist)

    4.6变量的命名

    • 区分大小写
    • 全部小写,每个单词间用“_”区分,first_name、last_name

    五、format函数格式化输出

    5.1、使用位置参数

    $ li = ['hoho',18]
    $ 'my name is {} ,age {}'.format('hoho',18)
    'my name is hoho ,age 18'
    $ 'my name is {1} ,age {0}'.format(10,'hoho') 'my name is hoho ,age 10'
    $ 'my name is {1} ,age {0} {1}'.format(10,'hoho') 'my name is hoho ,age 10 hoho'
    $ 'my name is {} ,age {}'.format(*li) 'my name is hoho ,age 18'

    5.2、使用关键字参数

    $ hash = {'name':'hoho','age':18}
    $ 'my name is {name},age is {age}'.format(name='hoho',age=19)
    'my name is hoho,age is 19'

    $ 'my name is {name},age is {age}'.format(**hash) 'my name is hoho,age is 18'

    5.3、填充与格式化

    :[填充字符][对齐方式 <^>][宽度]

    $ '{0:*>10}'.format(10)  ##右对齐
    '********10'

    $ '{0:*<10}'.format(10) ##左对齐 '10********'

    $ '{0:*^10}'.format(10) ##居中对齐 '****10****'

    5.4、精度与进制

    $ '{0:.2f}'.format(1/3)
    '0.33'

    $ '{0:b}'.format(10) #二进制 '1010'

    $ '{0:o}'.format(10) #八进制 '12'

    $ '{0:x}'.format(10) #16进制 'a'

    $ '{:,}'.format(12369132698) #千分位格式化 '12,369,132,698'

    5.5、使用list索引

    $ li=['hoho', 18]

    $ 'name is {0[0]} age is {0[1]}'.format(li)
    'name is hoho age is 18

    六、if...else条件判断语句

    6.1 if...else

    if 判断条件:
    
    else:
        执行语句

    6.2 if...elif...else

    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
    elif 判断条件3:
        执行语句3……
    else:
        执行语句4……

     6.3 if嵌套

    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
        if 判断条件3:
            执行语句3……
        else:
            执行语句4……
    else:
      执行语句5
    ……


    七、while循环

    7.1一般形式

    i=0
    
    while i < 100:
    
      循环体
    
      i+=1

    7.2无限循环

    while True:
      print(
    "hello, world!")

    7.3 while...else

    count=0
    
    while i < 5:
    
      print(count,"小于5")
    
    else:
    
      print(count,"大于等于5")

    八、for循环

    8.1一般形式

    for i in list:
      循环体1
    else:
      执行语句

    8.2range语句

    for i in range(5):
    
      print(i)
    
    0
    1
    2
    3
    4

    区间:

    for i in range(5,9):
    
      print(i)
    
    5
    6
    7
    8

    步长:

    for i in range(0,10,2):
    
      print(i)
    
    0
    2
    4
    6
    8

    负数:

    for i in range(-10, -100, -30) : 
        
        print(i) 
    
    -10 
    -40 
    -70

    快速生成列表:

    list(range(5))
    
    [0,1,2,3,4]

    8.2break语句

    break当某一个条件成立,跳出循环,不再执行后续的循环

    name = ['jack', 'bob', 'wiki']

    for i in name:
    if i == "jack":
    print("找到了%s" % i)
    break

    print("-------over-----")

     8.3continue语句

    continue当某一个条件成立,跳过下一步,继续执行后续循环

    for i in range(5):
    
        if i == 3:
            continue
        print(i)
    print("----------")

    python相关资料:

    python风格中文指南:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/contents/

  • 相关阅读:
    Tkinter之布局管理pack
    Python smtplib,email
    PyAutoGUI (2) 屏幕处理和弹框,输入中文
    键鼠操作自动化库--PyAutoGUI模块(1)
    python----->>删除超过固定天数的日志
    Transformer再下一城!Swin-Unet:首个纯Transformer的医学图像分割网络
    西门子S7-1200 PLC 水箱水位控制程序案例
    【开源】Transformer 在CV领域全面开花:新出跟踪、分割、配准等总结
    Google发布语义分割新数据集!顺带开发个模型屠榜,已被CVPR2021接收
    YOLOv5算什么,这个才是最强!---PP-YOLOv2
  • 原文地址:https://www.cnblogs.com/lizhewei/p/11713499.html
Copyright © 2011-2022 走看看