第一章 关于python

Python简介

Python是什么?

   python的创始人为吉多·范罗苏姆(Guido van Rossum)。

   “Python is a great object-oriented, interpreted, and interactive programming language“。

  Python官网(https://wiki.python.org/moin/FrontPage)对Python的解释为:“Python是一种面向对象的、解释型的、带有动态语义的高级程序语言“。

  面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

  解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。

  动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。

Python主要应用领域

  (1)网络编程:包括 web 网站 、服务器后台服务等

  (2)科学运算:随着 NumPy、SciPy、matplotlib、ETS 等众多程序库的开发,Python 越来越适合于做科学计算

  (3)自动化运维与测试:可以使用Python开发自动化管理工具、监控程序等;也可以应用于selenium、appium中编写自动化脚本,提高测试效率

  (4)爬虫:爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥

  (5)云计算:目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算

  (6)人工智能:谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题

  总之,Python 能做的事情还是非常多的,不然为什么有那么多大中型互联网企业(如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等)都在用python呢?  

python2 or python3

  "Python 2.x is legacy, Python 3.x is the present and future of the language"

  所以当然是Python3咯!

python安装

  Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,Windows安装步骤如下

  (1) 打开官网下载中心:https://www.python.org/downloads/windows/ 

  (2)选择下载你要安装的版本,下载完成后根据提示完成安装即可

  (3)在安装的过程中需要勾选“Add Python 3.x to PATH”,如果没有勾选,需要在安装完成之后,将Python的安装目录(如C:\Python34)添加到环境变量PATH下面

  (4)测试安装是否成功:windows->运行->cmd(或者使用快捷键windows键+r打开运行),输入python,如果出现版本信息,则安装成功

第一个Python程序

  接下来我们可以写第一个python程序了,接着刚才的cmd运行界面,输入print('hello world')

  恭喜你,你已经迈出漫长python学习生涯的第一步了。

  好马配好鞍,JAVA有Eclipse,C#,C++有VisualStudio,那对于Python有什么好的开发工具呢?当然首推Pycharm啦!所以赶紧去官网

https://www.jetbrains.com/pycharm/download 下载最好的Python开发IDEPycharm吧!

变量和基本数据类型

变量

  name='luoli' 

  变量即变化的量,python中的变量很好理解,就是代表(或者引用)某值的名字

  变量的定义规范:变量名只能是字母、数字和下划线;不能以数字开头;关键字不能声明为变量

  变量的属性包括:id、type和value

  id的作用为标识内存地址

>>> name='luoli'
>>> id(name)
92499072
View Code

   type的作用为查看变量数据类型

>>> name='luoli'
>>> type(name)
<class 'str'>
View Code

  value的作用为查看变量值

>>> name='luoli'
>>> name
'luoli'
View Code 

基本数据类型

  整型

>>> age=18
>>> type(age)
<class 'int'>
View Code

  浮点型

>>> score=98.5
>>> type(score)
<class 'float'>
View Code

  字符串

>>> name='luoli'
>>> type(name)
<class 'str'>
View Code

  列表:在[ ]内用逗号分隔,可以存放多个任意类型的值

>>> list=['luoli','18','98.5']
>>> print(list)
['luoli', '18', '98.5']
View Code

  字典:在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型

>>> dic={'name':'luoli','age':'18','score':'98.5'}
>>> dic['name']
'luoli'
View Code

  布尔值:True 和False,用于逻辑判断

>>> a=3
>>> b=5
>>> a>b
False
>>> a<b
True
View Code

输入和输出

输入

  当计算机与用户交互的时候,需要用户输入一些必要的信息怎么办呢?python提供了input()可以让用户输入字符串,并保存到变量里。

>>> username=input("Please enter your name:")
Please enter your name:luoli
View Code

格式化输出

  如果要求用户输入用户名和年龄,然后打印成如下格式:

  my name is xxx,my age is yyy

  上述的'xxx'和'yyy'是根据用户的输入变化而变化的,那该怎么办呢?这时就需要用占位符进行格式化输出了

name=input('Please enter your name:')
age=input('Please enter your age:')
print('your name is %s,your age is %s'%(name,age))

运行结果:
Please enter your name:luoli
Please enter your age:18
your name is luoli,your age is 18
View Code

  常见的占位符有

%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

  如果你不太确定用什么,'%s'永远起作用,它会把任何数据类型转换为字符串

基本运算符

  计算机可以进行算数运算、比较运算、逻辑运算、赋值运算等

  算数运算

 

运算符 描述
+ 相加
- 相减
* 相乘
/ 相除
% 相除-取余数
** 求幂
// 相除-取商

   比较运算:返回值为True或False

运算符 描述
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<+ 小于等于

   赋值运算

运算符 描述
= 赋值运算
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取模赋值
**= 幂赋值
//= 取整除赋值

   逻辑运算:返回值为True或False

运算符 描述
and 布尔'与',全为True时返回True
or 布尔'或',只要有一个为True则返回True
not 布尔'非',如果x为True,则not x 返回False 

流程控制

if...else

  a.用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

username=input('请输入用户名:')
password=input('请输入密码:')
if username=='seven' and password=='123':
    print('登录成功')
else:
    print('登录失败')
View Code

  b.根据用户输入内容输出其权限,当输入super时为超级管理员,输入为admin时为普通管理员,输入为governor时为业务主管,输入为general时为普通用户

user=input("请输入用户名:")
if user=='super':
    print("超级管理员")
elif user=='admin':
    print("普通管理员")
elif user=='governor':
    print('业务主管')
elif user=='general':
    print('普通用户')
else:
    print('无权限')
View Code

  c.如果:今天是Monday,那么:上班,

    如果:今天是Tuesday,那么:上班,

    如果:今天是Wednesday,那么:上班,

    如果:今天是Thursday,那么:上班,

    如果:今天是Friday,那么:上班,

    如果:今天是Saturday,那么:出去浪,如果:今天是Sunday,那么:出去浪

today=input('today is :')
if today in ['Saturday','Sunday']:
    print('go happy')
elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
    print('go work')
else:
    print('''必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ''')
View Code

while循环

  a.打印0-10

count=0
while count<=10:
    print(count)
    count+=1
View Code

  b.打印0-10之间的偶数

count=0
while count<=10:
    if count%2==0:
        print(count)
    count+=1
View Code

  c.使用while循环输出1 2 3 4 5 6 8 9 10

count=1
while count<=10:
    if count==7:
        count += 1
        continue
    print(count)
    count+=1
View Code

  d.(1)循环验证用户输入的用户名与密码

     (2)认证通过后,运行用户重复执行命令

     (3)当用户输入命令为quit时,则退出整个程序

tag=True
while tag:
    username=input('请输入用户名:')
    password=input('请输入密码:')
    if username=='luoli' and password=='123456':
        while tag:
            text=input("command:")
            if not text:
                continue
            if text=='quit':
                tag=False
                continue
            print('run %s'%text)
    else:
        print("登录失败")
View Code

练习

1.求1-2+3-4+5 ... 99的所有数的和

sum=0
count=0
while count<100:
    if count%2==0:
        sum=sum-count
    if count%2==1:
        sum=sum+count
    count+=1
print(sum)
View Code

2.(1)让用户输入用户名密码

 (2)认证成功后显示欢迎信息 

 (3)输错三次后退出程序

 (4)可以支持多个用户登录 (提示,通过列表存多个账户信息)

 (5)用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)

usr=['user_01','user_02','user_03']
usr_pwd={'user_01':'111','user_02':'222','user_03':'333'}
count=0
count_lock=0
while True:
    #username错误输入三次退出
    if count>2:
        print('Login Failed')
        break
    username=input('Please enter your name:')

    #检查username是否锁定
    with open ('C:\lock_user.txt', 'r')as f:
        lock_user=f.read().split(',')
        if username in lock_user:
            print('Sorry! The user has been locked')
            break

    #检查not exist username
    if username not in usr:
        print('username is not exist! Please try again!')
        count+=1

    #检查exist username并判定密码
    if username in usr:
        password=input('Please enter your password:')
        if password==usr_pwd[username]:
            print('Login success')
            break
        else:
            print('Your password is wrong! ')
            count_lock+=1

        #输入错误密码三次被写入lock_file
        if count_lock>2:
            with open('C:\lock_user.txt', 'w')as f:
                f.write('%s,'%username)
                print('user has been locked')
                break
View Code
posted @ 2017-12-07 16:12  日新其德止于至善  阅读(565)  评论(0编辑  收藏  举报