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

day01语法python入门

时间:2017-07-14 13:32:39      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:代码   image   argv   import   简洁   验证   chmod   mod   流程控制   

一:第一句Python代码

在/home/dev/目录下创建hello.py文件,内容如下:

print ("hello world ")

 

  技术分享

       技术分享

 

二,解释器:

上一步中执行了python /home/dev/hello.py时,明确的之处hello.py脚本由python解释器来执行。

如果想要类似与执行shell脚本语言的执行python脚本,例如:./hello.py,那么就需要在hello.py的文件同步指定解释器,如下:

#!/usr/bin/env python
#-*-    utf-8    -*-
print "hello,world"

  这样一来的话,可以直接执行:./hello.py就可以了

注意的问题是:当执行不了hello.py文件的时候,我们要注意要执行权限,给chmod 755 hello.py

 

三,内容编码

python 解释器在加载的.py的脚本文件的时候,会对内容执行编码。(默认的asciII)

ascill是基于拉丁字母的一套电脑编程系统,主要用于显示线代英语和其他西欧语言的,他只能用8位来表示一个字节。2**8=256个字符。所以ascill最最多只能表示256个符号。

在ascill不能够表示我们所需要的字符的情况下。

这时候就出现了unicode的(统一码、万国码,单一码)是一种在计算机上使用的字符编码。unicode是为了解决传统的字符编码的局限性而产生的。但是它对规定全部的字符都必须用俩个字节来表示。这样对拉丁文来说,浪费了很多的内存。

这个时间出现了unicode的缩减版(浓缩版)

utf-8:是对unicode编码的压缩和优化,不在使用最少2个字节。而是将所有的字符和符合进行分类。ascill码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存··

所以:ascill码无法表示中文。

#/usr/bin/env python

print "你好。世界"

  这个肯定报错。

要想显示中文的话,必须得这样写:

#/usr/bin/env python
# -*- coding:utf-8 -*-

print ("你好,世界!");

 

四:注释

单行注释:#

多行注释:"""   """

五:执行脚本传入参数

python 有大量的模块,从而使得开发python的程序非常简洁 。类库中包括三种。

>python 内部提供的模块

>业内开源的模块

>程序员自己的开发的模块

python 内部提供一个sys模块,中sys.argv用来捕获执行python脚本时传入的参数。(sys好像内容很多,我后面慢慢学习吧(⊙o⊙)…)

#/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
print sys.argv

六:pyc文件。

执行python代码时,如果导入了其他的.py文件,那么执行的过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

七:变量

1.变量声明

#/usr/bin/env python
# -*-    coding:utf-8     -*-

name="leoday"

  上诉代码声明了一个变量,变量名为:name 变量name的值为:"leoday"

变量的作用:指代内存中某个地址保存的内容。

变量的定义规则:

~变量名只能是字母,数字或下划线的任意组合。

~变量名的第一个字符不能是数字

~以下关键词不不能为变量名(水到渠成,不要去记)

2.变量赋值。

#!/usr/bin/env python 
# -*-    coding:utf-8    -*-

name1="leoday"
name2="leoday2"

  

#!/usr/bin/env python 
#    -*-     coding:utf-8    -*-

name1="leoday"
name2=name1

  第二个,name1和name2其实指代的内存中的同一个地址。

八、输入

#!/usr/bin/env python 
#-*-     coding:utf-8       -*-

#讲用户输入的内存赋值给name变量。
name=raw_input("请输入用户名:")
#打印输入的内容
print name

  输入密码时,如果想要不可见,需要利用getpass模块中的getpass方法,即:

#!/usr/bin/env python 
# -*-    coding:utf-8    -*-

import getpass

#将用户输入的内容赋值给name变量。
pwd=getpass.getpass("请输入密码:")

#打印输出的内容
print pwd

九、流程控制和缩进

需求一:用户登录验证:

#!/usr/bin/env python
#-*-     coding:utf-8    -*-

#提示输入用户名和密码

#验证用户名和密码
#如果错误 ,则输出用户名或者密码错误
#如果正确,则输出 欢迎:xx!

import getpass

name=raw_input("请输入用户名:")
pwd=getpass.getpass("请输入密码:")

if name=="alex" and pwd=="cmd";
    print "欢迎,leoday"
else:
    print "用户名或密码错误!"

需求二:根据用户输入内容输出其权限

#!/usr/bin/env python
# -*-     coding:utf-8    -*-

#根据用户输入内容打印其权限
#admin -->超级管理员
#leoday--->普通管理员
#leodayup -->业务主管
#其他 -->普通用户

name =raw_input("请输入用户名:")

if name=="admin":
         print "超级管理员"
elif name=="leoday":
        print "普通管理员"
elif name =="leodayup":
        print  "业务管理员"
else 
    print "业务主管"
else
    print "普通用户"

day01语法python入门

标签:代码   image   argv   import   简洁   验证   chmod   mod   流程控制   

原文地址:http://www.cnblogs.com/leoday/p/7169486.html

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