一)基础介绍
1、前提
各种各样的底层丑陋无比的硬件接口(比如显示器、声卡、显卡、网卡等),那么我们该如何协调这些硬件进行工作呢?那么“操作系统”就派上用途了,其实操作系统也是一个软件,操作系统可以协调各硬件工作。那么此时我们需要听音乐,在网站下载了一个“QQ音乐”,其实这个“QQ音乐”也就是一个软件,这个软件是安装在操作系统上的。当我们要播放音乐的时候,该“QQ音乐”通过操作系统提供的接口,调用底层的硬件资源,然后我们就能听到声音咯。
所以说 我们目前的开发,就是相当于开发一个应用程序,类似于"QQy音乐”和 web网站等,那么开发这些东西,可以采用的开发语言咯。
2、开发语言分类
高级语言: Java C# PHP Ruby Go Python C++
低级语言: C语言 汇编语言
注意:每种语言之间的规则是不一样的
机器码和字节码:
机器码:是计算机可以识别的东西
字节码: 字节码的实现方式是通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。字节码的典型应用为Java语言。
3、python的种类
Cpython
CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上
Jrhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
Python的种类还有很多很多,如下图:
![](https://box.kancloud.cn/bfabf0b82d54b14ba71195d4ef14e14c_1500x745.png)
![](https://box.kancloud.cn/35073d6ce2fa9f1dcfb52fbfacffb54b_409x373.png)
一般情况,我们会选择Cpython来学习
4、python内部执行过程如下
(yuki353) [www@python syntax]$ vim stu01.py
(yuki353) [www@python syntax]$ chmod u+x stu01.py
(yuki353) [www@python syntax]$ ./stu01.py
hello world
![](https://box.kancloud.cn/882c4b8e7f7645597121eb8ce0d4b843_1500x843.png)
5、pyc文件是什么
执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。
6、注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
7、 解释器和编码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
二)变量
1) 声明变量
(yuki353) [www@python syntax]$ vim stu02.py
#!/usr/bin/env python
# -*- coding:utf8 -*
name = "louis" ----声明
print(name)----打印
变量: name 变量的值为louis
变量的作用: 代指内存里某个地址中保存的内容
规则:
变量只能是字母、数字、下划线的任意组合
变量不能以数字开头
关键字不能声明为变量
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
三)条件语句
语法:
if 条件:
print()
else:
print( )
(注意:代码块缩进要统一,建议最好最四个空格表示)
2)if语句嵌套
if 条件1:
if 条件2:
print()
esle:
print( )
else:
print( )
3) 多条件判断
#!/usr/bin/env python
# -*- coding:utf8 -*-
level = input('请输入会员级别:')
if level == "高级会员":
print('meinv')
elif level == '白金会员':
print('dana')
elif level == '铂金会员':
print('xiaomingx')
else:
print('chengguan')
注意:
if 1 == 1:
pass
添加pass: 表示什么都不执行,不能为空
案例:
getpass: 提示用户输入密码,密码不显示
import getpass
name = input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
if name == 'louis' and pwd == 'A1234':
print('wecomot louis')
else:
print('用户名和密码错误')
测试:
(yuki353) [www@python syntax]$ ./stu02.py
请输入用户名:louis
请输入密码:
wecomot louis
(yuki353) [www@python syntax]$ vim stu02.py
(yuki353) [www@python syntax]$ ./stu02.py
请输入用户名:louis
请输入密码:
用户名和密码错误
四) 循环语句
语法:
while 条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
案例:用户登录(3次机会)
import getpass
i = 1
while i <= 3:
name = input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
if name == 'louis' and pwd == 'A1234':
print('suc')
break
else:
print('fail')
i = i + 1
(yuki353) [www@python syntax]$ ./yonghu.py
请输入用户名:sdf
请输入密码:
fail
请输入用户名:sdfsd
请输入密码:
fail
请输入用户名:sdfsdf
请输入密码:
fail
案例:1-100已内所有奇数
#!/usr/bin/env python
# -*- coding:utf8 -*-
i = 0
while i <= 100:
if i % 2 == 0:
pass
else:
print(i)
i = i + 1
案例:输入1-100以内所有数之和
sum = 0
i = 1
while i <= 100:
sum = sum + i
i = i + 1
print(sum)
案例:求1-2+3-4+5 ... 99的所有数的和
#-*- coding:utf8 -*
sum = 0
i = 1
while i < 99:
temp = i % 2
if temp == 0:
sum = sum -i
else:
sum = sum +i
i = i + 1
print(sum)
2) continue: (终止当前循环)
在循环里,遇到conitune,就跳过这次,执行进行下一次循环
count = 0
while count < 11:
if count == 7:
count = count + 1
continue
print(count)
count = count + 1
(当遇到count == 7的时候,就跳过print(count),直接进入下一个循环)
count = 0
while count < 10:
if count == 7:
count = count + 1
continue
print(count)
count = count + 1
3) break:(终止所有循环,break用于退出所有循环)
在循环里,遇到break,跳出循环
count = 0
while count < 10:
if count == 7:
count = count + 1
break
print(count)
count = count + 1
~
(yuki353) [www@python syntax]$ python stu01.py
0
1
2
3
4
5
6