标签:final for 自己 执行 功能 ascii码 with turn 16px
一、为什么学习python语言
C和python、Java、C#等
C语言:代码编译得到机器码,机器码在处理器上直接执行,每一条指令控制CUP工作
其他语言:代码编辑得到字节码,虚拟机执行字节码并转换成机器码后再在处理器上执行
Python语言由C开发而来
对于使用:Python的类库齐全而且使用简洁,若实现同样的功能,Python10行代码可以解决,C则需要100行甚至更多
对于速度:Python的运行速度比C慢很多
Python和Java、C#等
对于使用:Linux有原装Python,其他语言没有;以上几门语言都有非常丰富的类库
对于速度:Python在速度上可能稍逊
所以Python和其他语言没有本质的区别,其区别在于:擅长某领域,人才丰富、先入为主。
二、Python的种类
1、Cpython
官方版本,使用C语言实现,使用最为广泛,Cpython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
2、Jpyhon
Python的Java实现,Jpython会将Python代码动态编译成Java字节码,然后在JVM上运行。
3、PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
4、其他等等,,,,
三、Python入门
1、第一句Python
cmd管理器,输入python,运行含有print(‘hello world‘)的hello.py脚本
python内部执行过程
2、解释器
上一句执行语句时明确指定hello.py脚本是由Python解释器来执行,
如果想要类似于执行shell脚本一样执行python脚本,则需要在hello.py文件的头部指定解释器
#!/usr/bin/env python
3、内容编码
python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill)
ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即2**8 = 256,所以,ASCII码最多只能表示256个符号。显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码,万国码,单一码)是一种在计算机上使用的字符编码,Unicode是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定了同一并且唯一的二进制编码,规定虽有的字符和符号最少由16位来表示(2个字节),即2**16=65536
注:此处说的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少2个字节,而是将所有的字符和符号进行分类。
所以,Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话会报错
报错:ascill码无法表示中文
#!/usr/bin/env python
print(‘你好,世界‘)
改正:应该显示告诉python解释器,用什么编码来执行代码,即:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
print(‘你好,世界‘)
四、注释
当行注释:# 被注释内容
多行注释:"""被注释内容"""
五、执行脚本传入参数
Pyhon有大量的模块,从而使得开发Python程序非常简洁。类库包括三种:
(1)Python内部提供的模块
(2)业内开源模块
(3)程序员自己开发的模块
Python内部提供一个sys的模块,其中sys.argv用来捕获执行Python脚本时的传入参数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
print(sys.argv)
六、变量
1、变量声明
#!/usr/bin/env python
# -*-coding:utf-8 -*-
name = ‘css‘
变量名为:name 变量值为:‘css’
变量的作用:昵称,其代指内存里某个地址中保存的内容
变量定义的规则:
变量名只能是字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
变量名不能声明为以下关键字
[‘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‘]
2、变量的赋值
#!/usr/bin/env python
# -*- coding:utf-8 -*-
name1 = ‘css‘
name2 = ‘tjy‘
name1 = name2
七:输入
#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = raw_input(‘请输入用户名:‘)
print(name)
输入密码时,如果想要不可见,则可调用getpass模块的getpass方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import getpass
pwd = getpass.getpass(‘请输出密码:‘)
print(pwd)
八、控制流程和缩进
需求一、用户登录验证
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import getpass
name = raw_input(‘请输出用户名:‘)
pwd = getpass.getpass(‘请输入密码:‘)
if name == ‘alex‘ and pwd == ‘cmd‘:
print(‘欢迎alex‘)
else:
print(用户名和密码错误)
需求二:根据输入内容输出其权限
#根据用户输入内容打印其权限
#alex ---- 超级管理员
#eric ---- 普通管理员
#tony,rain ---- 业务主管
# 其他 ---- 普通用户
name = raw_input(‘请输入用户名:‘)
if name == ‘alex‘:
print(‘超级管理员‘)
elif name == ‘eric‘:
print(‘普通管理员‘)
elif name == ‘tony‘ or name == rain:
print(业务主管)
else:
print(普通用户)
九、while循环
1、基本循环
while 条件:
#循环体
#如果条件为真,那么循环体则执行
#如果条件为假,那么循环体不执行
2、break
break用于退出所有循环
while True:
print(‘123‘)
break
print(‘456‘)
3、continue
continue用于退出当前循环,继续下次循环
while True:
print(‘123‘)
continue
print(‘456‘)
十、练习题
#!/usr/bin/env python
# -*-coding = utf-8 -*-
# 1、输入1 2 3 4 5 6 8 9 10
while True:
numb = int(input(‘请输入一个小于11的数字:‘))
if numb == 7:
continue
elif numb > 10:
exit()
print(numb)
# 2、求1-100的所有数的总和
a = 0
b = 1
while True:
b = b + a
if a == 100:
break
a = a + 1
print(b)
# 3、求1-100以内的所有奇数
a = 1
while True:
if a % 2 == 1:
print(a)
if a == 100:
break
a = a + 1
# 4、求1-100以内的所有偶数
a = 1
while True:
if a % 2 == 0:
print(a)
if a == 100:
break
a = a + 1
# 5、求1-2+3-4+5...+99的和
a = 1
b = 0
c = 0
while True:
if b % 2 == 0:
b = b + a
if c % 2 == 1:
c = c + a
if a == 99:
print(c-b)
break
a = a + 1
# 6、用户三次登录机会
name = ‘css‘
pwd = ‘123‘
n = 1
while True:
username = input(‘请输入用户名:‘)
userpwd = input(‘请输入密码:‘)
if username == name and userpwd == pwd:
print(‘hello,%s‘%(username))
exit()
else:
n = n + 1
if n > 3:
break
标签:final for 自己 执行 功能 ascii码 with turn 16px
原文地址:https://www.cnblogs.com/css038981/p/10019585.html