初识python

Posted css_一米阳光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识python相关的知识,希望对你有一定的参考价值。

一、为什么学习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的主要内容,如果未能解决你的问题,请参考以下文章

初识python-条件判断

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL (-)纹理(Texture)

初识OpenGL (-)纹理(Texture)