zoukankan      html  css  js  c++  java
  • Python入门

     

    Python

    执行Python程序

    1先启动Python解释器

    2Python解释器像文本编辑器一样将文件内容从硬盘读入内存

    3Python解释器解释执行文件代码

    强调:只有第三个阶段才识别Python的语法

    变量

    什么是变量

    变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。

    为什么要有变量

    程序执行本质是一系列状态的变化,变是程序执行的直接的体现,所以我们需要一种机制能反应或保存程序执行时状态及状态变化

    如何定义变量

    变量名(相当于门牌,指向内存地址),引用变量值

    等号,赋值

    变量值:存放的数据

    name='han'

    sex='male'

    变量的定义规范

    #1. 变量名只能是 字母、数字或下划线的任意组合
    #2. 变量名的第一个字符不能是数字
    #3. 关键字不能声明为变量名['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']

    定义方式:

    #驼峰体
    AgeOfOldboy = 56 
    NumberOfStudents = 80
    #下划线(推荐使用)
    age_of_oldboy = 56 
    number_of_students = 80

    定义变量名不好的方式

    #1. 变量名为中文、拼音
    #2. 变量名过长
    #3. 变量名词不达意
    #1 等号比较的是value,
    #2 is比较的是id
    
    #强调:
    #1. id相同,意味着type和value必定相同
    #2. value相同type肯定相同,但id可能不同,如下
    >>> x='Info Egon:18'
    >>> y='Info Egon:18'
    >>> id(x)
    >>> id(y)
    >>> 
    >>> x == y
    True
    >>> x is y
    False

     定义变量的三个特征:id type value

    ID相等,值一定相等

    值相等,id不一定相等

    常量

    常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量
    在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
    #ps:在c语言中有专门的常量定义语法,const int count = 60;一旦定义为常量,更改即会报错

    Python内存管理

    引用计数

    引用计数为0,会被Python回收

    用户交互

    Python3 

    input()用户输入任何值都是字符串

    注释

    单行注释 #

    多行注释 """ """   ,    ''' '''

    文件头

    #!/usr/bin/env python

    #-*- coding: utf-8 -*-

    基本数据类型

     什么是数据?为何要有多种类型的数据?

    #数据即变量的值,如age=18,18则是我们保存的数据。
    #变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识

    数字

    int整形

    float浮点型

    字符串

    在Python中,加了引号的字符就是字符串型,Python没有字符型

    name="han"

    #数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。
    >>> name='egon'
    >>> age='18'
    >>> name+age #相加其实就是简单拼接
    'egon18'
    >>> name*5 
    'egonegonegonegonegon'
    #注意1:字符串相加的效率不高
    字符串1+字符串3,并不会在字符串1的基础上加字符串2,而是申请一个全新的内存空间存入字符串1和字符串3,相当字符串1与字符串3的空间被复制了一次,
    
    #注意2:只能字符串加字符串,不能字符串加其他类型
    
    

    列表

    在[]内用逗号隔开,可以存放任意类型的值

    student=['li','wu','yan']

    字典

    {}内用逗号隔开,可以存放多个key:value的值,value可以事任意类型

    info={'name'':'han','age':20,'gender':'male'}

    布尔值

    True False

    布尔类型的重点知识!!!:

    #所有数据类型都自带布尔值
    1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
    2、其余均为真

    重点

    #1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
    
    #2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

    格式化输出

    #%s字符串占位:可以接受字符串,也可接受数字
    
    print('My name is %s,my age is %s'%('han',18)) 
    
     
    
    #%d数字占位符:只能接受数字
    
    print('My name is %s,my age is %d'%("han",18))

     基本运算符

      算数运算

      以下假设变量:a=10,b=20

     比较运算

     以下假设变量:a=10,b=20

     赋值运算

     以下假设变量:a=10,b=20

     逻辑运算

     

    >>> True or Flase and False
    True
    >>> (True or Flase) and False
    False

    流程控制之if...else

    if 条件1:
    
      pass
    
    elif 条件2:
    
      pass
    
    else:
    
      pass

    流程控制之while循环

    条件循环:while,语法如下

    while 条件:    
        # 循环体
     
        # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
        # 如果条件为假,那么循环体不执行,循环终止
    #练习,要求如下:
        1 循环验证用户输入的用户名与密码
        2 认证通过后,运行用户重复执行命令
        3 当用户输入命令为quit时,则退出整个程序 
    #实现一:
    name='egon'
    password='123'
    
    while True:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while True:
                cmd=input('>>: ')
                if not cmd:continue  
                if cmd == 'quit':
                    break
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')
            continue
        break 
    
    #实现二:使用tag
    name='egon'
    password='123'
    
    tag=True
    while tag:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while tag:
                cmd=input('>>: ')
                if not cmd:continue     
                if cmd == 'quit':
                    tag=False
                    continue
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')

    break与continue

    #break用于退出本层循环
    while True:
        print "123"
        break
        print "456"
    
    #continue用于退出本次循环,继续下一次循环
    while True:
        print "123"
        continue
        print "456"

    while+else

    #与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------
    
    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    
    Loop 1
    Loop 2
    -----out of while loop ------
    #8:猜年龄游戏升级版 
    要求:
        允许用户最多尝试3次
        每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
        如何猜对了,就直接退出 
    #题目八
    age_of_oldboy=73
    
    count=0
    while True:
        if count == 3:
            choice=input('继续(Y/N?)>>: ')
            if choice == 'Y' or choice == 'y':
                count=0
            else:
                break
    
        guess=int(input('>>: '))
        if guess == age_of_oldboy:
            print('you got it')
            break
        count+=1

    流程控制之for循环

    迭代式循环:for,语法如下

     

    for i in range(10):
    
        pass

    循环嵌套

    九九乘法表
    金字塔

    for+else 

    for i in range(10):
        pass
    else:
        pass

    Tips:

    while循环(又称条件循环)
            语法:
                while 条件:
                    code1
                    code2
                    code3
    
                day=1
                while day < 11:
                    默写
                    听课
                    写作业
                    晚自习
                    day+=1
    
    
            while+break:终止本层循环
            while+continue:终止本次循环,直接进入下一次循环
            while+else:else会在循环结束后进行一次判定,如果循环期间没有被break打断,就应该执行else的代码
    
            while循环的嵌套:
                while 条件1:
                    while 条件2:
                        break
                    break
    
                tag=True
                while tag:
                    while tag:
                        if 条件:
                            tag=False
  • 相关阅读:
    Three.js 类的粗略总结和实现
    JavaScript方法
    JavaScript 继承和数组
    JavaScript 函数
    操作系统之堆和栈的区别
    第十二章 动态内存
    第十三章-第六小节-对象移动
    第十五章 面形对象程序设计
    动态建树和静态建树
    高斯消元整数版和浮点数版实现
  • 原文地址:https://www.cnblogs.com/hanbowen/p/9111760.html
Copyright © 2011-2022 走看看