zoukankan      html  css  js  c++  java
  • Python学习笔记(一)

     一、Python3.5.X安装

      1.Windows 

       Windows上找度娘搜索“Python for windows下载”就OK了,安装的时候可以勾选设置环境变量,也可以安装完手动设置,这样在cmd中可以直接输入命令使用。

      2.Linux

       Linux上默认是有Python的,也看你是怎么安装的哈。centos7上面默认是python2.7.x,可以在命令行输入python -V显示版本。所以不用再担心Python的依赖包问题,如果有这个问题,度娘可以解决,在这就不说了,直接进入下载Python3.5.x安装。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz  #可以先打前面的网页上去看看,选好了要安装的包再下载。
    tar -zxf Python-3.5.2.tgz
    cd Python-3.5.2
    ./configure --prefix=/usr/local --enable-shared
    make
    make install
    ln –s /usr/local/bin/python3 /usr/bin/python3
    /usr/local/lib >> /etc/ld.so.conf.d/local.conf  #运行前配置库,安装完发现不能用,打了这两条命令才好,下面那条是刷新动态库。
    ldconfig
    python -V(python3 --version)

     二、学习仪式--Hello world!!!

    1 print(“Hello world!!!”)#这是一个学习语言的仪式O(∩_∩)O哈哈~ 
    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3 print(“你好,世界!!!”)

      第一行是指定解释器,不指出解释器的话./hello.py是会出现错误的,需要以python hello.py执行。#!/usr/bin/python 和 #!/usr/bin/env python 的区别是:前者相当于写死了python解释器的位置,后者会去环境变量下找python解释器,也就是说#!/usr/bin/python只会找/use/bin下的python解释器,而后一个会找所有环境变量中的python。如果说/usr/bin/下没有python,env有/usr/bin/ 和 /usr/local/bin/ ,那么#!/usr/bin/env python就会使用/usr/local/bin/python解释器,而#!/usr/bin/python找不到解释器。

      如果是Python2不打第二行会出现ASCII码的错误,要声明使用utf-8编码。

    三、变量及变量赋值 

      1.变量的命名规范 

    • 驼峰式

        驼峰式:ConsumerUserName 就是每个单词的首字母大写

    • 下标式

        下标式: consumer_user_name  就是每个单词之间都用下划线隔开

    •  不能使用的变量(python预留的关键字)

      ['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']

    • 设定一个不想被更改的变量,我们可以是用全大写,比如:PIE = 3.141592653

      2.变量的赋值

        当创建一个变量的时候并赋予这个变量一个值,计算机做了如下的操作:开辟一块内存空间cheng,并把Name变量指向这个内存空间,当把这个Name变量赋值给另一个变量Name2时候,是告诉这个Name2变量指向cheng的内存空间,而不是指向Name,所以当Name发生改变,Name2的值不发生变化。

    复制代码
    >>> Name = 'cheng'  #先在内存中开辟一块空间并把变量指向Name
    >>> id(Name)  #查看一下这块空间的内存地址是多少
    51403272
    >>> Name2 = Name  #我们把变量Name2也指向Name这个变量
    >>> id(Name2)
    51403272
    >>> Name = 'er'  #开辟第二块空间,并把Name变量指向新的内存空间
    >>> id(Name)  #查看Name指向的内存地址
    51335216
    >>> id(Name2)  #在查看Name2指向的内存地址
    51403272
    复制代码

     四、输入输出

    复制代码
    name = input("name:")        #输入
    #2.x里面的raw_input在3.x已经不用了,3.x默认输入时字符格式
    print(type(name))     #输出name的类型
    age = int(input("age:") )     #强制转换为int类型
    print(type(age))
    job = input("job:")
    salary  = input("salary:")
    #占位符方式格式化输出
    info = '''
    -------- info of  %s  -----
    Name:%s
    Age:%d
    Job:%s
    Salary:%s
    ''' % (name,name,age,job,salary)
    #指定变量名称与值的格式化输出
    info2 = '''
    -------- info2 of {_name}  -----
    Name:{_name}
    Age:{_age}
    Job:{_job}
    Salary:{_salary}
    '''.format(_name=name,
               _age=age,
               _job=job,
               _salary=salary)
    #指定变量位置的格式化输出
    info3 =  '''
    -------- info3 of {0} -----
    Name:{0}
    Age:{1}
    Job:{2}
    Salary:{3}
    '''.format(name,age,job,salary)
    print(info,info2,info3)
    
    '''这里是注释的输出结果,多行注释就是这样,单行是“#”号
    name:root
    <class 'str'>
    age:23
    <class 'int'>
    job:IT
    salary:6666666
    
    -------- info of  root  -----
    Name:root
    Age:23
    Job:IT
    Salary:6666666
     
    -------- info2 of root  -----
    Name:root
    Age:23
    Job:IT
    Salary:6666666
     
    -------- info3 of root -----
    Name:root
    Age:23
    Job:IT
    Salary:6666666
    '''
    复制代码
    复制代码
    import getpass
    passwd = getpass.getpass('please input your passwd:')
    print (passwd)
    '''这种输入的密码是隐藏的,运行结果如下:
    C:\Users\CHENG\PycharmProjects\untitled>python b.py
    please input your passwd:
    123
    '''
    复制代码

     五、流程控制

     python中使用强制缩进来区分流程控制,如果本身是父级的语句一定要顶格写。

         1、if、if ... else、if ... elif ... else判断

        2、while循环

        3、for循环

        用下述代码来记录上述三种流程控制结构:

    复制代码
    user = 'tiger'
    passwd = '123'
    user_input = input("Your username:")
    passwd_input = input("Your password:")
    if user_input == user and passwd_input == passwd:
        print ("Welcome %s login to our system!" %user_input)
    elif user_input == 'guest':
        print ("Welcome %s login to our system!,but you only have read_only access,enjoy!" %user_input)
    else:
        print ("Incalid username!Byebye!")
    复制代码
    复制代码
    age_of_oldboy = 23
    count = 0
    while count <3:
        guess_age = int(input("guess age:") )
        if guess_age == age_of_oldboy :
            print("yes, you got it. ")
            break
        elif guess_age > age_of_oldboy:
            print("think smaller...")
        else:
            print("think bigger!")
        count +=1
    else:
        print("you have tried too many times..fuck off")
    复制代码
    复制代码
    age_of_oldboy = 23
    for i in range(3):
        guess_age = int(input("guess age:") )
        if guess_age == age_of_oldboy :
            print("yes, you got it. ")
            break
        elif guess_age > age_of_oldboy:
            print("think smaller...")
        else:
            print("think bigger!")
    else:
        print("you have tried too many times..fuck off")
    复制代码
    登录接口代码,下面是流程图复制代码
     1 import random
     2 user=['root','administrator','others']
     3 passwd=['1','2','o']
     4 user_input=input("请输入您的用户名:")
     5 #判断用户是否存在或者是否已经锁定
     6 f=open('deny.txt','a')
     7 d=open('deny.txt').read()
     8 if user_input in user:
     9     print("欢迎%s使用登录接口"  %user_input)
    10     if user_input in d:
    11         print("然而%s用户已锁定,正在退出。。。" %user_input)
    12         exit()
    13 else:
    14     print("%s用户不存在,正在退出。。。" %user_input)
    15     exit()
    16 #判断用户密码是否正确,循环三次错误锁定
    17 i=0
    18 while i<3:
    19     passwd_input=input("请输入您的密码:")
    20     if passwd_input == passwd[user.index(user_input)]:
    21         print("登录成功,欢迎")
    22         break
    23     else:
    24         print("输入错误")
    25         i+=1
    26 else:
    27     print("输错次数过多,用户名已锁定")
    28 #    f=open('deny.txt','a')
    29     f.write(user_input)
    30     f.write(',')
    31     f.close()
    复制代码

     流程图1-1

     

     

     
  • 相关阅读:
    0723作业
    Kafka概述与设计原理
    Spring 装配Bean入门级
    logback节点配置详解
    Kafka问题排查(消费者自动关闭)
    .NET委托解析
    .NET可变性解析(协变和逆变)
    .NET泛型解析(下)
    .NET泛型解析(上)
    .NET动态调用WebService
  • 原文地址:https://www.cnblogs.com/gzliuc/p/5861964.html
Copyright © 2011-2022 走看看