码迷,mamicode.com
首页 > 编程语言 > 详细

初识python

时间:2018-11-26 13:42:58      阅读:186      评论:0      收藏:0      [点我收藏+]

标签: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


初识python

标签:final   for   自己   执行   功能   ascii码   with   turn   16px   

原文地址:https://www.cnblogs.com/css038981/p/10019585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!