• 第一章 关于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几乎是霸主地位,ScrapyRequestBeautifuSoapurllib等,想爬啥就爬啥

      (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
  • 相关阅读:
    去掉Win10中的“此电脑”中的6个默认文件夹的方法
    Fastboot驱动及安装
    Fastboot驱动及安装
    JNI+NDK编程总结
    JNI+NDK编程总结
    20194742自动生成四则运算题第一版报告
    读构建之法现代软件工程随笔
    想法或创意
    ubuntu控制台乱码
    Java 为什么不支持多继承?
  • 原文地址:https://www.cnblogs.com/iamluoli/p/7995055.html
Copyright © 2020-2023  润新知