python(1)

来源:互联网 发布:淘宝ulzzang什么意思 编辑:程序博客网 时间:2024/06/01 12:26

python概念:python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。

python优点:

创始人评价:简单、优雅、明确
简单体现在如果你的母语是英语,写python脚本就像写文章,很简单;
优雅体现在python的格式,比如缩进来确定代码块,可避免编程人员进行复杂的嵌套;
明确体现在解决问题的方法只有一种最优选项,而perl语言是每个问题有很多最优解,但不利于团队协作;
有强大的第三方库模块,需要实现一复杂功能,只需要调用现有的库,可快速实现功能。20多年的发展,各种库都已经完备,比如:邮件库,爬虫库......
可跨平台移植,java有Java的虚拟机,python同样;
是一种面向对象的语言;
是一种可扩展的语言(与C,C++,Java结合)

python缺点:

代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢;
python是开源的编程语言,代码不能加密,当然有相应的工具可以将python代码转换为exe的二进制可执行码,但是反解码也很容易;

python的使用:

交互式使用

脚本使用

/usr/bin/env python     ##会直接读取你当前的python版本,然后执行
/usr/bin/python         ##仅仅只会读取编写的版本
coding:utf-8            ##转译中文
coding=utf-8
encoding:utf-8
encoding=utf-8

字符编码:
ACCII:1字节=8位,2^8=256
Unicode:2字节=16位,2^16=65536  英文-> 2字节 中文-> 2字节
utf-8:英文 ->1 字节 , 中文->3字节
GB2312:2字节

内存读取:Unicode


存在硬盘:utf-8字符的编码(encode): unicode->utf-8   ##都是2字节,提升效率
字符的解码(decode): utf-8->unicode   ##英文1字节,中文3字节,节省空间
例:


Python解释器
cpython
ipython:基于cpython,交互方式有所增强
pypy:对代码进行动态编译,JIT技术(just-in-time compiler,即时编译器),显著提高代码执行速度。
Jpython:java平台上的python解释器,将python代码编译成java字节码执行。
IronPython:直接将python代码编译成.net的字节码


ipython的安装与使用:

下载ipython安装包

切入目录

yum install *

用ipython 进入使用即可


pycharm的安装使用

下载压缩包

执行脚本安装

用pycharm进入使用即可


输入与输出
输出:告诉用户程序执行的结果
# print + 字符串...    //字符串可为多个,逗号隔开
# print + 数字|表达式

输入:告诉计算机程序所需的信息
# raw_input写入的内容赋值给变量name,输入的内容为字符类型
# input写入的内容赋值给变量age,输入的内容为数值类型

例:

编写一程序,录入信息包括 hostname、IP、used_year、CPU、Memory、manager_name,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息如下面的格式如下:
主机信息
主机名: hostname
IP:IP
使用年限:used_year
CPU:CPU
Memory:Memory

代码:

测试:


变量:

变量是内存中的一块区域。
变量的命名: 变量名由字母,数字,下划线组成。

>>> a_1 = 111
>>> _a = 222
>>> print _a
222
>>> 1a = 111
  File "<stdin>", line 1
    1a = 111
     ^
SyntaxError: invalid syntax        //指语法错误,无效的语法

变量的特性:
实际存储在内存上;
变量名最好见名知意;
变量可重新赋值;

>>> number1 = 1
>>> number2 = 2
>>> number1 + number2
3

python中地址变量与c语言刚好相反,一条数据包含包含多个标签;

>>> a = 1
>>> b = 1
>>> id(a)
10812520
>>> id(b)
10812520


运算符与表达式:
赋值运算符:=, +=, -=, /=, *=, %=
算术运算符:+, -, , /, //, %, *
  >>> 1 + 1
  2
  >>> 1 - 1
  0
  >>> 1 * 3
  3
  >>> 1 / 2
  0
  >>> 1.0 / 2
  0.5
  >>> 1.0 // 2
  0.0
  >>> 1 % 2
  1
  >>> 2 ** 3
  8
  >>> a33 = 3 ** 3
  >>> print a33
  27
  >>> print "a33=",a33
  a33= 27
  >>> print "a33 =",a33
  a33 = 27
关系运算符: >, >=, <, <=, !=, ==
布尔值:1 < 2,返回一个布尔类型的结果
>>> 1 < 2
True
>>> 1 > 2

False
逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not


例:编写一四则表达式,(if语句实现)

from __future__ import  division ##导入模块 作用是使用除法的时候 可以精确到小数点;

整型

>>> num1 = 123
>>> type(num1)
<type 'int'>
>>> type(123)
<type 'int'>
长整形
>>> num2 = 999999999999999
>>> type(num2)
<type 'int'>
强制定义为长整型: num3 = 123L
>>> num3 = 123L
>>> type(num3)
<type 'long'>
浮点型:表示小数
>>> f1 = 12
>>> type(f1)
<type 'int'>
>>> f2 = 12.0
>>> type(f2)
<type 'float'>
复数类型:python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j
>>> c = 3.14
>>> type(c)
<type 'float'>
>>> c = 3.14j
>>> type(c)
<type 'complex'>


字符串
字符串的定义
# 字符串定义的第一种方式:
>>> str1 = 'our company is westos'
 
# 字符串定义的第二种方式:
>>> str2 = "our company is westos"
 
# 字符串定义的第三种方式:
>>> str3 = """our company is westos"""
 
>>> type(str1)
<type 'str'>
>>> type(str2)
<type 'str'>
>>> type(str3)
<type 'str'>
 
 
>>> say = 'let\'s go'>>> say
"let's go"
>>> say = "let's go "
>>> say
"let's go "
转义符号
>>> mail = "tom: hello i am westos "
>>> print mail
tom: hello i am westos
>>> mail = "tom:\n hello\n i am westos "
>>> print mail
tom:
hello
i am westos
三重引号
块注释
函数的doc文档
字符串格式化
>>> mail = """tom:
...     i am jack
...     good luck
... """
>>> print mail
tom:
    i am jack
    good luck
>>> mail


'tom:\n\ti am jack\n\tgood luck\n'字符串索引
>>> a = 'abcde'
>>> type(a)
<type 'str'>
>>> a[0]
'a'
>>> a[1]
'b'
>>> a[3]
'd'
>>> a[0]+a[1]
'ab'
>>> a[0]+a[2]
'ac'
字符串切片
>>> a
'abcde'
>>> a[1:5:2]
'bd'
>>> a[1:5]        //代表切片取出第2个到第5个
'bcde'
>>> a[:5]
'abcde'
>>> a[4:]
'e'
>>> a[4:1]            //python中默认是从左向右取值
''
>>> a[4:1:-1]        //当步长为-1时,从右向左取值
'edc'
>>> a[:]'abcde'
 
 
>>> a[-1]
'e'
>>> a[-4:-1]        //代表倒数第2个到倒数第4个切片
'bcd'
>>> a[-2:-4]
''
>>> a[-2:-4:1]
''
>>> a[-2:-4:-1]
'dc'


编写python脚本

1)要求用户输入用户名和密码

2)如果用户名和密码都正确时,显示 "wlecome to  user manage system"

3)如果用户名或密码错误,重新输入最多有三次机会。

4)用户输入错误超过三次,报错"你已经登录过三次,请10min后登录"

代码如下:

count = 1
while(count<4):
    rightusername =  "user1"
    rightpasswd = "passwd1"
    username = raw_input("请输入用户名:")
    passwd = raw_input("请输入密码:")

    if username == rightusername  and passwd == rightpasswd:
        print "welcome to user manage system"
        exit()
    else:
        print "用户名或密码错误,请重新输入,最多有三次机会"
        count = count + 1
print("你已经登录过三次,请10min后登录")


原创粉丝点击