python(1)

python概念:python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。

python优点:

创始人评价:简单、优雅、明确
简单体现在如果你的母语是英语,写python脚本就像写文章,很简单;
优雅体现在python的格式,比如缩进来确定代码块,可避免编程人员进行复杂的嵌套;
明确体现在解决问题的方法只有一种最优选项,而perl语言是每个问题有很多最优解,但不利于团队协作;
有强大的第三方库模块,需要实现一复杂功能,只需要调用现有的库,可快速实现功能。20多年的发展,各种库都已经完备,比如:邮件库,爬虫库......
可跨平台移植,java有Java的虚拟机,python同样;
是一种面向对象的语言;
是一种可扩展的语言(与C,C++,Java结合)

python缺点:

代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢;
python是开源的编程语言,代码不能加密,当然有相应的工具可以将python代码转换为exe的二进制可执行码,但是反解码也很容易;

python的使用:

交互式使用

脚本使用

/usr/bin/env python     ##会直接读取你当前的python版本,然后执行
/usr/bin/python         ##仅仅只会读取编写的版本
coding:utf-8            ##转译中文
coding=utf-8
encoding:utf-8
encoding=utf-8

字符编码:
ACCII:1字节=8位,2^8=256
Unicode:2字节=16位,2^16=65536  英文-> 2字节 中文-> 2字节
utf-8:英文 ->1 字节 , 中文->3字节
GB2312:2字节

内存读取:Unicode


存在硬盘:utf-8字符的编码(encode): unicode->utf-8   ##都是2字节,提升效率
字符的解码(decode): utf-8->unicode   ##英文1字节,中文3字节,节省空间
例:


Python解释器
cpython
ipython:基于cpython,交互方式有所增强
pypy:对代码进行动态编译,JIT技术(just-in-time compiler,即时编译器),显著提高代码执行速度。
Jpython:java平台上的python解释器,将python代码编译成java字节码执行。
IronPython:直接将python代码编译成.net的字节码


ipython的安装与使用:

下载ipython安装包

切入目录

yum install *

用ipython 进入使用即可


pycharm的安装使用

下载压缩包

执行脚本安装

用pycharm进入使用即可


输入与输出
输出:告诉用户程序执行的结果
# print + 字符串...    //字符串可为多个,逗号隔开
# print + 数字|表达式

输入:告诉计算机程序所需的信息
# raw_input写入的内容赋值给变量name,输入的内容为字符类型
# input写入的内容赋值给变量age,输入的内容为数值类型

例:

编写一程序,录入信息包括 hostname、IP、used_year、CPU、Memory、manager_name,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息如下面的格式如下:
主机信息
主机名: hostname
IP:IP
使用年限:used_year
CPU:CPU
Memory:Memory

代码:

测试:


变量:

变量是内存中的一块区域。
变量的命名: 变量名由字母,数字,下划线组成。

>>> a_1 = 111
>>> _a = 222
>>> print _a
222
>>> 1a = 111
  File "<stdin>", line 1
    1a = 111
     ^
SyntaxError: invalid syntax        //指语法错误,无效的语法

变量的特性:
实际存储在内存上;
变量名最好见名知意;
变量可重新赋值;

>>> number1 = 1
>>> number2 = 2
>>> number1 + number2
3

python中地址变量与c语言刚好相反,一条数据包含包含多个标签;

>>> a = 1
>>> b = 1
>>> id(a)
10812520
>>> id(b)
10812520


运算符与表达式:
赋值运算符:=, +=, -=, /=, *=, %=
算术运算符:+, -, , /, //, %, *
  >>> 1 + 1
  2
  >>> 1 - 1
  0
  >>> 1 * 3
  3
  >>> 1 / 2
  0
  >>> 1.0 / 2
  0.5
  >>> 1.0 // 2
  0.0
  >>> 1 % 2
  1
  >>> 2 ** 3
  8
  >>> a33 = 3 ** 3
  >>> print a33
  27
  >>> print "a33=",a33
  a33= 27
  >>> print "a33 =",a33
  a33 = 27
关系运算符: >, >=, <, <=, !=, ==
布尔值:1 < 2,返回一个布尔类型的结果
>>> 1 < 2
True
>>> 1 > 2

False
逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not


例:编写一四则表达式,(if语句实现)

from __future__ import  division ##导入模块 作用是使用除法的时候 可以精确到小数点;

整型

>>> num1 = 123
>>> type(num1)
<type 'int'>
>>> type(123)
<type 'int'>
长整形
>>> num2 = 999999999999999
>>> type(num2)
<type 'int'>
强制定义为长整型: num3 = 123L
>>> num3 = 123L
>>> type(num3)
<type 'long'>
浮点型:表示小数
>>> f1 = 12
>>> type(f1)
<type 'int'>
>>> f2 = 12.0
>>> type(f2)
<type 'float'>
复数类型:python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j
>>> c = 3.14
>>> type(c)
<type 'float'>
>>> c = 3.14j
>>> type(c)
<type 'complex'>


字符串
字符串的定义
# 字符串定义的第一种方式:
>>> str1 = 'our company is westos'
 
# 字符串定义的第二种方式:
>>> str2 = "our company is westos"
 
# 字符串定义的第三种方式:
>>> str3 = """our company is westos"""
 
>>> type(str1)
<type 'str'>
>>> type(str2)
<type 'str'>
>>> type(str3)
<type 'str'>
 
 
>>> say = 'let\'s go'>>> say
"let's go"
>>> say = "let's go "
>>> say
"let's go "
转义符号
>>> mail = "tom: hello i am westos "
>>> print mail
tom: hello i am westos
>>> mail = "tom:\n hello\n i am westos "
>>> print mail
tom:
hello
i am westos
三重引号
块注释
函数的doc文档
字符串格式化
>>> mail = """tom:
...     i am jack
...     good luck
... """
>>> print mail
tom:
    i am jack
    good luck
>>> mail


'tom:\n\ti am jack\n\tgood luck\n'字符串索引
>>> a = 'abcde'
>>> type(a)
<type 'str'>
>>> a[0]
'a'
>>> a[1]
'b'
>>> a[3]
'd'
>>> a[0]+a[1]
'ab'
>>> a[0]+a[2]
'ac'
字符串切片
>>> a
'abcde'
>>> a[1:5:2]
'bd'
>>> a[1:5]        //代表切片取出第2个到第5个
'bcde'
>>> a[:5]
'abcde'
>>> a[4:]
'e'
>>> a[4:1]            //python中默认是从左向右取值
''
>>> a[4:1:-1]        //当步长为-1时,从右向左取值
'edc'
>>> a[:]'abcde'
 
 
>>> a[-1]
'e'
>>> a[-4:-1]        //代表倒数第2个到倒数第4个切片
'bcd'
>>> a[-2:-4]
''
>>> a[-2:-4:1]
''
>>> a[-2:-4:-1]
'dc'


编写python脚本

1)要求用户输入用户名和密码

2)如果用户名和密码都正确时,显示 "wlecome to  user manage system"

3)如果用户名或密码错误,重新输入最多有三次机会。

4)用户输入错误超过三次,报错"你已经登录过三次,请10min后登录"

代码如下:

count = 1
while(count<4):
    rightusername =  "user1"
    rightpasswd = "passwd1"
    username = raw_input("请输入用户名:")
    passwd = raw_input("请输入密码:")

    if username == rightusername  and passwd == rightpasswd:
        print "welcome to user manage system"
        exit()
    else:
        print "用户名或密码错误,请重新输入,最多有三次机会"
        count = count + 1
print("你已经登录过三次,请10min后登录")


1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值