• 3-Python基础编程之入门


    Python注释

    注释:一段文字性的描述
    特性:当程序被处理时会自动被忽视,不会作为代码处理
    作用:做解释,增加可读性;进行某段进行调试

    # 井号为单行注释
    '''
    三个单引号为多行注释
    '''
    """
    三个双引号也为多行注释
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    其中特殊注释:# encoding=utf-8
    这样是为了解决对注释里的中文支持的问题。
    补充下解码与编码这些知识:
    在这里插入图片描述
    在这里插入图片描述

    Python变量

    变量:一个存储数据的容器
    特性:引用着某个具体的数值,并且可以改变这个引用
    定义变量三种方法:

    1. 变量名 = 值 (称为赋值语句)
    a = 1
    
    • 1
    1. 变量名1,变量名2 = 值1,值2
    a, b = 2, 3
    
    • 1
    1. 变量名1 = 变量名2 = 值
    a = b = 1
    
    • 1

    目的:方便维护;节省空间(磁盘和内存)
    注意:一个变量只能引用一个数值;命名规范;使用前要进行赋值

    Python数据类型

    数据类型:对程序处理的数据,进行的分类
    区分类型:区分存储空间;进行不同数据处理
    常用的数据类型:

    1. Numbers(数值类型)
      int(二、八、十、十六进制), long, float, complex
    2. Bool(布尔类型)
      True, False
    3. String(字符串)
      ‘abc’, “abc”
    4. List(列表)
    5. Set(集合)
    6. Tuple(元组)
    7. Dictory(字典)
    8. NoneType(空类型)
    # 可以用type()查看数据类型
    num = 1
    print(type(num))
    
    • 1
    • 2
    • 3

    Python类型转换

    举个例子:

    # 转字符串str
    num = '6'
    print(str(4) + num)
    
    • 1
    • 2
    • 3

    总结转换图:
    在这里插入图片描述
    补充知识:

    • 静态类型:编译的时候确定的,后期无法更改
    • 动态类型:运行时进行判定的,后期可以修改
    • 强类型:不轻易随环境变化而变化(如str+int会报错)
    • 弱类型:不同环境下很容易进行改变(在其他语言会自动进行下处理进行相加)

    综上:Python是属于强类型动态类型的语言

    Python运算符

    1. 算术运算符
    +-*/
    **幂运算
    //整除运算
    %取余运算
    =赋值运算
    5.2//2=2.0
    5%2=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 复合运算符
    += -= *= %= **= //=
    num = 10
    num *= 20 等于 num = num * 20 的操作
    
    • 1
    • 2
    • 3
    1. 比较运算符
      返回的类型是True或者是False的布尔类型
    > < != >= <= == 
    is 比对唯一标识(分配的是不是一块内存定义)
    id(a) # 查看a的唯一标识
    
    • 1
    • 2
    • 3
    1. 逻辑运算符
    notandor
    • 1

    注:非布尔类型的值,如果用真假做判断,一般是非0即真,非空即真;并且不一定完全返回True和False

    print(0 and True)
    print(1 and 3)
    print(1 or 3)
    print(0 or 3)
    print(0 or False)
    print(0 or False or 6)
    # 输出分别为:0、3、1、3、False、6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Python输入

    Python2

    # raw_input的使用(称为未加工的输入)
    # _*_ coding:utf-8 _*_
    content = raw_input("请输入内容:")
    print type(content) #可以观察到类型为字符串
    print content
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # input的使用(加工的输入,作为代码进行处理)
    # _*_ coding:utf-8 _*_
    content = raw_input("请输入内容:")
    print type(content) #若为1+1则可以观察到结果为2,类型为int
    print content
    
    • 1
    • 2
    • 3
    • 4
    • 5

    即input等于eval(raw_input())
    Python3
    3中的input相当于2中的raw_input
    若要实现Python2中的input功能,即加上eval:

    content = eval(input())
    
    • 1

    Python输出

    Python2
    称为语句
    print xxx

    # _*_ coding:utf-8 _*_
    name = "lw"
    age = 10
    print "我的名字是%s,年龄是%d"%(name, age)
    # or
    print "我的名字是{0},年龄是{1}".format(name, age)
    # 输出到文件
    f = open("text.txt", "w")
    print >>f, "xxxxxxxx" #后面会详写对于文件的操作
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Python3
    称为函数
    print(xxx)

    # 解释说明
    print(values, sep, end, file, flush)
    values指的是需要输出的值,多个值用‘,’隔开
    sep分隔符,指的是输出值之间添加指定的分隔符
    end指的是输出完毕后,以指定字符结束,默认为换行'\n'
    file指的是输出的目标,默认为控制台
    flush表示立即输出的意思
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    # 输出单变量
    print(123)
    # 输出多变量
    print123, 456)
    # 格式化输出
    name = "lw"
    age = 10
    print("我的名字是%s,年龄是%d"%(name, age))
    print("我的名字是{0},年龄是{1}".format(name, age))
    # 输出到文件
    f = open("text.txt", "w")
    print("xxxxxxxx", file=f) #后面会详写对于文件的操作
    # 输出不自动换行
    print("abc", end="")
    # 输出各个数据,使用分隔符分割
    print('1','2','3', sep="**")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    # flush说明
    from time import time
    print("12345",end"",flush=True)
    sleep(5)# 休眠5s
    # 若没有flush=True,则5s后才会输出,因为有了它所以立即输出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # 格式符说明:%[(name)][flags][width][.precision]typecode
    name = "lw"
    age = 10
    print("我的名字是%s,年龄是%d"%(name, age))
    print("我的名字是%(ms)d,年龄是%(es)d"%({"ms":name, "es":age}))
    # width表示占用宽度默认为右对齐,%-10d左对齐,% d与负数对齐,%02d空位补充0
    print("%10d" % age)
    # %d为整数 %f为浮点数默认为小数点后六位,%.2f就设置为小数点两位了
    print("%o" %10)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    其中typecode为转换:

    • i/d转换为10进制
    • o 8进制
    • x 16进制
    • e/E 科学计数法
    • f 浮点数
    • g 自动将整数浮点数转化成浮点型或科学计数型(超6位用科学计数)
    • s 获取传入对象

    小节练习

    实现目标:根据人身高、体重、年龄和性别,告诉客户体脂率
    功能分析

    1. 输入:
      身高、体重、年龄、性别
    2. 处理数据:
      计算体脂率、判断体脂率
    3. 输出:
      值和是否正常

    其中难点为体脂率计算的实现:
    BMI=体重/身高**2(米)
    体脂率=1.2BMI+0.23年龄-5.4-10.8*性别(男:1 女:0)
    男性:15%-18%;女性:25%-28%

    # 输入设置
    Pheight = eval(input("请输入身高(m):"))
    Pweight = eval(input("请输入体重(kg):"))
    Page = eval(input("请输入年龄:"))
    Psex = eval(input("请输入性别(男:1 女:0):"))
    
    # 数据处理
    BMI = Pweight/(Pheight**2)
    TZL = 1.2 * BMI + 0.23 * Page - 5.4 - 10.8 * Psex
    minNum = 15 + 5 * (1 - Psex)
    maxNum = 18 + 7 * (1 - Psex)
    
    result = minNum < TZL < maxNum
    
    #输出设置
    print("你的体脂率是:%f" % TZL)
    print("你的体脂率是否正常:" ,result)
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    输出结果:
    请输入身高(m):1.7
    请输入体重(kg):60
    请输入年龄:22
    请输入性别(男:1 女:0):0
    你的体脂率是:24.573495
    你的体脂率是否正常: True

  • 相关阅读:
    什么才算是真正的编程能力?
    数据库系统概论(超详解!!!) 第三节 关系数据库标准语言SQL(Ⅳ)
    取得PMP证书需要多长时间?
    08 | Harbor 不可用排查方法
    TouchGFX界面开发 | 添加触摸屏驱动
    王兰去(黑客)自学
    java判断字符串是否为数字或中文或字母
    opengl学习glBindAttribLocation
    iOS 用masonry布局Scrollview的问题,添加在scrollview的子控件约束失效
    Docker中安装Jenkins
  • 原文地址:https://blog.csdn.net/Eric005/article/details/125992736