python 初学基础篇

程序是如何执行的?

程序的执行原理(了解程序执行的原理对后续的学习是有帮助的)

计算机的三大件

计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
  1.cpu(cpu 就是干活的,离开了 cpu 电脑就不能干活)
  中央处理器,是一块超大规模的集成电路,负责处理数据/计算
  2.内存(临时存储数据 以 G 为单位 4G 8G 16G 32G)
  临时存储数据(断电之后,数据会消失),速度快,空间小(单位价格高)
  3.硬盘(永久存储数据 以 T 为单位 1T=1024G)
 永久存储数据,速度慢,空间大(单位价格低)

思考题:

1.计算机中哪一个硬件设备负责执行程序?
   CPU
2.内存的速度快还是硬盘的速度快?
   内存
3.我们的程序是安装在内存中的,还是安装在硬盘中的?
   硬盘
4.我买了一个内存条,有 500G 空间,这句话对麼?
   不对,内存条通常只有 4G/8G/16G/32G
5.计算机关机之后,内存中的数据都会消失麼?
   是的

程序执行的原理

1.程序运行之前,程序是保存在硬盘中的
2.当要运行一个程序的时候
操作系统会首先让 CPU 把程序复制到内存中,CPU 执行内存中方的代码程序,程序要执行,首先要被加载到内存

python 程序执行的语言

1.操作系统首先让 CPU 把 python 解释器的程序复制到内存中
2.python 解释器根据语法规则,从上而下让 CPU 翻译 python 程序中的代码
3.CPU 负责执行翻译完成的的代码

python 的解释器到底有多大?
这里写图片描述
**建立软链接的目的,是为了方便使用者不用记住使用的解释器是哪一个具体版本
**
程序的作用:处理数据
内存的作用:存储数据

python的基本错误

1.手残党拼写错误
vim hello.py 
     print 'hello python'
     pprint 'say hi'
python hello.py 

2.在脚本被里写中文,没有写中文转换语言
vim hello.py
    #print ; 输出''里的内容到屏幕上
    print 'hello python'
    print 'say hi'
python hello.py 

改正:
vim hello.py
    #_*_ coding:utf-8 _*_    #中文转译,这样脚本里写的中文就会被识别
    # print的作用是:输出''里的内容到屏幕上
    print 'hello python'
    print 'say hi'
python hello.py   #执行python脚本
  hello python    #输出的内容
  say hi

3.误用缩进
vim hello.py
    print 'hello python'
        print 'say hi'
python hello.py 

这里写图片描述

ipython(python的交互式模式)

在linux的命令窗口输入ipython,就会进入python的特定窗口,在此窗口上就可以执行python命令,但是缺点是许多命令都没有,也不能用exit退出窗口,所以一般用pycharm

这里写图片描述

第一个python文件
# _*_ coding:utf-8 _*_
"""
file: 第一个python文件.py
date: -07-07  11:48 PM
author: ting
desc:
"""
# 这是一个单行注释
print 'hello python'

"""
这是一个多行注释/块注释
"""
print 'good night'

"""
什么时候需要注释?
1.注释不是越多越好,对于一目了然的代码,不需要添加注释
2.对于复杂的操作,应该在操作开始前写上若干行注释
3.对于一般复杂的代码,应该在其行尾添加注释(为了增加可读性,注释和代码至少离开两个空格)
4.绝对不要描述代码
"""

变量

变量名只有在第一次出现才是定义变量(变量名再次出现,不是定义变量,而是直接使用之前定义的变量)

1.变量的定义

在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
等号(=)  : 用来给变量赋值
等号(=) 的左边是一个变量名
等号(=) 的右边是存储在变量中的值
变量名  =  值
变量定义之后,后续就可以直接使用了
练习1:
# _*_ coding:utf-8 _*_
"""
file: 变量1.py
date: -07-08  12:09 AM
author: ting
desc:


"""
# 定义一个变量记录QQ号码
qq_number = '167837492'
# 定义一个变量记录QQ密码
qq_passwd = '123123'
# 输出变量,在使用解释器执行python程序时的时候,不能直接输入变量名,要输出变量内容,使用print
print qq_number
print qq_passwd
练习2:买东西
<1>水果的价格是 5 元/斤
<2>买了 7 斤橘子
<3>计算付款金额
# _*_ coding:utf-8 _*_
"""
file: 变量2.py
date: -07-08  12:15 AM
author: ting
desc:


"""
# 定义水果的价格
price = 5
# 挑选水果
weight = 7
# 计算付款金额
money = price * weight
print money

#变量名只有在第一次出现的时候才是定义变量
#变量名再次出现的时候,是直接使用之前定义的变量
练习3:买东西
<1>水果的价格是 5 元/斤
<2>买了 7斤橘子
<3>计算付款金额
<4>只要买橘子,就返 5 块钱
# _*_ coding:utf-8 _*_
"""
file: 变量2.py
date: -07-08  12:15 AM
author: ting
desc:


"""
# 定义水果的价格
price = 5
# 挑选水果
weight = 7
# 计算付款金额
money = price * weight
money = money - 5
print money

#变量名只有在第一次出现的时候才是定义变量
#变量名再次出现的时候,是直接使用之前定义的变量

2.变量的类型

在内存中创建一个变量:
1.变量的名称
2.变量保存的数据
3.变量存储数据的类型
4.变量的地址
示例:
定义变量保存小明的个人信息
姓名:小花
年龄:18 岁
性别:是女生
身高:1.65 米
体重:45公斤
# _*_ coding:utf-8 _*_
"""
file: 变量2.py
date: -07-08  12:15 AM
author: ting
desc:


"""
# 定义姓名
name = '小花'
# 定义性别
sex = '女'
# 定义年龄
 age = 18
# 定义身高
height = 1.65
# 定义体重
weight = 45 kg
print 'name'
print 'sex'

3.变量的类型

1.在 python 中定义变量是不需要指定类型(但在其他很多高级语言中都需要)
2.数据类型可以分为数字型和非数字型
(1)数字型
   <1>整型(int)
   <2>浮点型(float)
   <3>布尔型(bool)
   <4>真 True 非 0 数 --- 非 0 即真
(2)非数字型
   <1>字符串
   <2>列表
   <3>元组
   <4>字典
使用 type 函数可以查看一个变量的类型,在使用交互式终端时,也可以知道每个变量的准确类型

这里写图片描述

4.不同类型变量之间的计算

数字变量之间可以直接计算,在 python 中,两个数字型变量是可以直接进行算术运算的,如果变量是 bool 型,在计算时,True 对应的数字是 1,False 对应的数字是 0
字符串变量之间使用 + 拼接字符串
在 python 中字符串之间可以使用 + 拼接生成新的字符串字符串变量可以和整数使用 * 重复拼接相同的字符串,字符串变量和字符串之间不能进行其他计算

5.变量的输入

所谓输入,就是用代码获取用户通过键盘输入的信息
例如:去银行取钱,在 ATM 上输入密码
在 python 中,如果要获取用户在键盘上的输入信息,需要使用raw_input 函数

6.关于函数:

一个提前准备好的功能(别人或者自己写的代码),可以直接使用,而不用关心细节,raw_input 函数实现键盘输入,在 python 中可以使用raw_input 函数从键盘等待用户的输入,用户输入的任何内容 python 都认为是一个字符串
练习:超市买水果增强版
<1>收银员输入水果的价格,单位:元/斤(橘子价格不再固定)
<2>收银员输入用户购买水果的重量,单位:斤
<3>计算并且输出付款金额
# _*_ coding:utf-8 _*_
"""
file:变量3-.py
date: 2018-07-7:59 AM
author:ting
desc:

"""
price_str = raw_input('请输入水果的单价:')
weight_str = raw_input('请输入水果重量:')
# money = price_str * weight_str  #字符型的变量不能用乘号来连接



##  如果需要转换的变量太多,一个一个重新转换变量就会很麻烦,不建议这样使用
price = float(price_str)
weight = float(weight_str)
money = price * weight
print money
改进
# _*_ coding:utf-8 _*_
"""
file:变量3.py
date: 2018-07-7:38 AM
author:ting
desc:
    1.输入水果单价
    2.输入水果重量
    3.计算支付的总金额
"""
# 这样的优点是节约空间,此时只需要为变量分配空间;起名字方便,不需要为中间变量起名字
price_str = float(raw_input('请输入水果的单价:'))
weight_str = float(raw_input('请输入水果重量:'))
# money = price_str * weight_str  (字符型的变量不能用符号来连接)

## 如果需要转换的变量太多,一个一个重新转换变量就会很麻烦,可以直接在定义变量的时候就转换
money = price_str * weight_str
print money

这里写图片描述

7.变量的格式化输出

(1)在 python 中可以使用 print 函数将信息输出到控制台,如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符
(2)%   被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串,被称为格式化字符串
(3)%   和不同的字符连用,不同类型的数据需要使用不同的格式化字符
(4)格式化字符串的类型:
  %s 字符串
  %d 有符号十进制整数,%06d 表示输出的整数显示位数字,不足的地方使用
  %f 浮点数,%.02f 表示小数点后只显示两位
  0 补全
  %% 输出%
(5)语法格式:
  print '格式化字符串' % 变量 1
  print '格式化字符串' % (变量 1,变量 2...)
练习:
1.定义字符串变量 name,输出:我的名字叫'name',很高兴认识你
# _*_ coding:utf-8 _*_
"""
file:格式化输出.py
date: 2018-07-8:27 AM
author:ting
desc:
%:格式化操作符
使用格式:
print '格式化操作符' % 变量
print '格式化操作符' % (变量1,变量2,...)
%s:字符串类型
%d: 整型
%f:浮点类型
"""
# 1.定义一个字符串变量 name
# 输出格式为:我的名字叫'name',很高兴认识你
name = '阿婷'
print '我的名字叫%s,很高兴认识你' % name


# 定义一个整数变量 student_num
# 输出格式为: 我的学号为:student_num
student_num = 5
print '我的学号为:%06d' % student_num
# %06d :不到6位就用0补齐
2.定义整数变量 student_nu,输出: 我的学号是 0000013.定义小数price,weight,money 输出:橘子单价 3.60元/斤,购买了 2.50 斤,需要支付9.00元,并定义一个小数 scale,输出:数据比例是 10.00
# _*_ coding:utf-8 _*_
"""
file: 变量4.py
date: -07-08  9:00 PM
author: ting
desc:


"""
# 定义小数price weight money,输出格式为:水果的单价为‘price’,水果的重量为‘weight’,支付的总金额为‘money’
price = 3.6
weight = 2.5
money = price * weight
print '水果的单价为%.2f元/斤,水果的重量为%.2f千克,支付的总金额为%.2f' %(price,weight,money)
# %.2f : 保留小数点后两位

# 定义一个小数,输出格式为:数据比例为:num%
scale = 0.7
print '数据比例为%.2f%%' % (scale * 100)
# num%的输出设置必须为 num%%,才会输出自己想要的格式

这里写图片描述

8.变量的命名

1.标识符和关键字
  标识符:标识符就是程序员定义的变量名,函数名字需要有见名知义的效果,标识符可以由字母,下划线和数字组成,不能以数字开头,不能与关键字重名

注意:python中的标识符是区分大小写的

2.下面的标识符哪些是正确的,哪些不正确为什么?(自己测测吧,看自己到底有没有掌握)
int32       40XL(x)   $aving$(x)  printf      print(x)
_print(x)   this         self           __name__    0x40L
bool    (x) true        big-westos(x)       2hot2ls(x)      type(x) 
thisIs      thisisInt   R_U_Ready       Int         True    (x)
if(x)           do          counter-1(x)        access  

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

*通过以下命令可以查看python中的关键字*
 import关键字可以导入一个工具包,在python中不同的工具包,提供有不同的工具

这里写图片描述

2.变量的命名规则
  命名规则可以被视为一种惯例,别无绝对与强制,目的是为了增加代码的识别和可读性
 (1)在定义变量时,为了保证代码格式, = 的左右两边该各保留一个空格
 (2)在python中,如果变量名需要由两个或多个单词组成,可以按照以下方式命名(python中常用)
   <1>每个单词都使用小写字母
   <2>单词与单词之间使用_下划线连接
   <3>例如:first_name,last_name....

这里写图片描述

驼峰命名法:(其他语言常用的命名法)
  当变量名是由两个或多个单词组成,还可以利用驼峰命令法来命名
(1)小驼峰命名法
    第一个单词以小写字母开始,后续单词的首字母大写
    firstName lastName
(2)大驼峰命名法
    每一个单词的首字母都采用大写字母
    FirstName LastName

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/80964383
今日推荐