注释:一段文字性的描述
特性:当程序被处理时会自动被忽视,不会作为代码处理
作用:做解释,增加可读性;进行某段进行调试
# 井号为单行注释
'''
三个单引号为多行注释
'''
"""
三个双引号也为多行注释
"""
其中特殊注释:# encoding=utf-8
这样是为了解决对注释里的中文支持的问题。
补充下解码与编码这些知识:


变量:一个存储数据的容器
特性:引用着某个具体的数值,并且可以改变这个引用
定义变量三种方法:
a = 1
a, b = 2, 3
a = b = 1
目的:方便维护;节省空间(磁盘和内存)
注意:一个变量只能引用一个数值;命名规范;使用前要进行赋值
数据类型:对程序处理的数据,进行的分类
区分类型:区分存储空间;进行不同数据处理
常用的数据类型:
# 可以用type()查看数据类型
num = 1
print(type(num))
举个例子:
# 转字符串str
num = '6'
print(str(4) + num)
总结转换图:

补充知识:
综上:Python是属于强类型动态类型的语言
+-*/
**幂运算
//整除运算
%取余运算
=赋值运算
5.2//2=2.0
5%2=1
+= -= *= %= **= //=
num = 10
num *= 20 等于 num = num * 20 的操作
> < != >= <= ==
is 比对唯一标识(分配的是不是一块内存定义)
id(a) # 查看a的唯一标识
not非 and和 or或
注:非布尔类型的值,如果用真假做判断,一般是非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
Python2
# raw_input的使用(称为未加工的输入)
# _*_ coding:utf-8 _*_
content = raw_input("请输入内容:")
print type(content) #可以观察到类型为字符串
print content
# input的使用(加工的输入,作为代码进行处理)
# _*_ coding:utf-8 _*_
content = raw_input("请输入内容:")
print type(content) #若为1+1则可以观察到结果为2,类型为int
print content
即input等于eval(raw_input())
Python3
3中的input相当于2中的raw_input
若要实现Python2中的input功能,即加上eval:
content = eval(input())
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" #后面会详写对于文件的操作
Python3
称为函数
print(xxx)
# 解释说明
print(values, sep, end, file, flush)
values指的是需要输出的值,多个值用‘,’隔开
sep分隔符,指的是输出值之间添加指定的分隔符
end指的是输出完毕后,以指定字符结束,默认为换行'\n'
file指的是输出的目标,默认为控制台
flush表示立即输出的意思
# 输出单变量
print(123)
# 输出多变量
print(123, 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="**")
# flush说明
from time import time
print("12345",end"",flush=True)
sleep(5)# 休眠5s
# 若没有flush=True,则5s后才会输出,因为有了它所以立即输出
# 格式符说明:%[(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)
其中typecode为转换:
实现目标:根据人身高、体重、年龄和性别,告诉客户体脂率
功能分析
其中难点为体脂率计算的实现:
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)
输出结果:
请输入身高(m):1.7
请输入体重(kg):60
请输入年龄:22
请输入性别(男:1 女:0):0
你的体脂率是:24.573495
你的体脂率是否正常: True