• 第一篇 python基础


    第一篇 python基础

    一 变量

    定义:

    世间万物变化的量

    变量三大组成:

    ①变量名

    ②赋值符号

    ③变量值

    注意 变量命名规范:

    ①能反应变量值所描述的状态,不能用中文.

    ②必须用字母数字下划线组合,并且变量名第一个字符不能是数字和下划线

    ③不能用python关键字命名,可以采用缩写形式

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

    变量命名风格:

    下划线:

    age_of nick = 19

    注意:推荐使用下划线

    驼峰体:

    AgeofNick = 19

    注意:面向对象编程,必须使用驼峰体

    二 常量

    定义:

    变量是变化的量,常量则是不变的量.python中没有使用语法强制定义常量,常量本质上就是变量.如果非要定义常量,变量名必须全部大写.(AGE_OF_NICK = 19).

    注意:常量是可以修改的,但是不建议修改

    三 python变量内存管理

    python垃圾回收机制:

    变量引用计数为0,就会触发垃圾回收机制

    小整数池:

    python解释器在启动时创建出小整数池,范围[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用的,永远不会被垃圾回收机制回收.(因为-5,256之间的整数比较常用,如果python解释器不停的回收和存入,比较耗费时间和内存占用,所以启动自带小整数池)

    四 变量的三个特征

    打印:

    x = 10

    print(x)#获取变量的变量值

    10

    判断变量值是否相等:

    name1 = 'egon'

    name2 = 'nick'

    print(name1 == name2)

    false(假)

    判断变量id是否相等:
    x = 11
    
    y = x 
    
    z = 11
    
    print(x == y) #true
    
    print(x is y) #true
    
    print(x is z) #true(整数池的原因)
    
    x = 257
    
    y = 257
    
    print(x is y) #(false)
    总结:

    id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等.

    五 花式赋值

    链式赋值:

    a = b = c = d = 10; 或 a:10,b:10,c:10,d:10.

    交叉赋值:

    x, y = y, x; 或 temp = x,x = y, y = temp.

    六 注释

    代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/三对双引号,使用三引号注释可以换行.

    # 单行注释
    '''
    三单注释
    三单注释
    '''
    
    """
    三双注释
    三双注释
    """
    使用原则:

    只需在重要或者不好理解的地方添加注释即可,可以用英文或者中文,不要用拼音.

    七 数据类型

    数据类型的定义:

    数据类型指的就是变量值的不同类型

    数据类型:

    数字类型

    字符串类型

    列表类型

    字典类型

    布尔类型

    八 数字类型

    整型(int):

    作用:

    表示人的年龄,各种号码,级别

    定义:

    age = 18; age = int(18)

    如何用:

    加减乘除,逻辑判断(大于,小于)

    浮点型(float):

    作用:

    表示身高,体重,薪资

    定义:

    salary = 2.1; salary = float(2.1)

    如何用:

    加减乘除,逻辑判断(大于,小于)

    九 字符串

    作用:

    表示名字,爱好

    定义:

    字符串就是一串被串起来的字符,在单引号,双引号或者三引号内包裹的一串字符.需要注意的是:三引号内可以换行,而单引号内的字符不行.

    如何用:

    字符串只能+,*和逻辑比较;

    如果字符串内有引号,则包裹字符串的引号和字符串内部引号不能相同;

    字符串比较大小,按照ascll码比较,以后会细讲;

    字符串的比较是字母的顺序

    十 列表

    作用:

    存放多个值,如多个女朋友,多个爱好;

    定义:

    在[]内用逗号分隔开任意类型的值;

    如何让用:

    存不是目的,取才是目的;(索引取值,索引序号从0开始)

    十一 字典

    作用:

    用来存多个值,按照key:value的方式存值,取得时候可以通过key而非索引去取值,key对xalue具有描述性的作用,存放数据的种类各种各样并且数据较多的时候可以使用字典

    定义:

    在{}内用逗号分开每一个元素,每一个都是key:value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型;

    如何用:

    字典取值不再依赖于索引,而是依赖key,可以通过[key]即可获取key对应的value值.

    十二 布尔值

    作用:

    用于判断条件结果

    定义:

    true,false通常情况不会直接引用,需要使用逻辑运算得到结果.

    如何用:

    print(bool('nick'))

    注意:python中所有数据类型的值自带布尔值.如此多的数据类型中只需要记住只有0,none,空,false的布尔值为false,其余的为true.

    十三 解压缩

    解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来.

    有时候解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线._

    python与用户交互:

    input()方法的作用只是暂停程序然后接收值.无论我们输入的值是数字类型,字符串类型,列表类型,input的接收值都是字符串类型.

    注意点:输入年龄时需要强制转换数据类型.

    十四 格式化输出的三种方式

    占位符:

    %S(针对所有数据类型);%D(仅仅针对数字类型)

    使用方法:

    age = 19
    print('my age is %d' % age)
    format格式化:

    很鸡肋的用法:

    name = 'nick'
    age = 19
    print("hello,{}.you are {}.".fromat(name,age))
    # 打印结果hello, nick. you are 19.
    f-String格式化:

    相比较占位符的方式,python3.6版本新增了f-string格式化的方式,比较简单易懂,这是目前用的最多,最方便的方式,推荐使用.

    name = 'nick'
    age = 19
    print(f"hello, {name}.you are {age}.")
    # 打印结果:hello ,nick.you are 19.
    
    # 再来个以后可能会用到的:
    salsry = 6.6666
    print(f'{sa;ary:.2f}')
    # 打印结果6.67

    十五 基本运算符

    算术运算符:

    a=10 b=20

    + 加  两个对象相加     a+b输出30
    - 减  得到负数或是一个数减去另一个数    a-b输出-10
    * 乘  两个数相乘或是返回一个被重复若干次的字符串  a*b输出200
    / 除  X除以Y   b/a输出2
    % 取模  返回除法的余数   b%a输出结果为0
    ** 幂  返回X的Y次幂   a**b为10的20次方,输出结果为10000000000000000000
    // 取整除  返回商的整数部分    >>>9//2,输出4;    >>>-9//2输出-5
    比较运算符:

    a=10; b=20

    ==  等于-比较对象是否相等 (a == b)返回false
    !=  不等于-比较两个对象是否不相等 (a!=b)返回true
    <>  不等于-比较两个对象是否不相等  (a<>b)返回true.这个运算符类似!=
    >  大于-返回X是否大于Y  (a>b)返回false
    <  小于-返回X是否小于Y.所有比较运算符返回1表示真,返回0表示假.这分别与特殊的变量true和false等价  (a<b)返回true
    >=  返回X是否大于等于Y  (a>=b)返回false
    <=  返回X是否小于等于Y  (a<=b)返回true
    赋值运算符:

    a=10; b=20

    =   简单的赋值运算符    c=a+b将a+b的运算结果赋值为c
    +=  加法运算符   c +=a等效于c=c+a
    -=  减法运算符   c -=a等效于c=c-a
    *=  乘法运算符   c *=a等效于c=c*a
    /=  除法运算符   c /=a等效于c=c/a
    %=  取模运算符   c %=a等效于c=c%a
    **= 幂赋值运算符  c **=a等效于c=c**a
    //==    取整除运算符  c //=a等效于c=c//a
    逻辑运算符:

    a=10; b=20

    and     x and y 布尔"与"-如果X为false,x and y 返回false,否则它返回y的计算值. (a and b)返回20
    or      布尔"或"-如果x是非0,它返回x的值,否则它返回y的计算值.(a or b)返回10
    not     布尔"非"-如果x为true,返回false.如果x为false,它返回true.   not(a and b)返回false
    身份运算符:
    is      is是判断两个标识符是不是引用自一个对象    x is y,类似id(x)==id(y),如果引用的是同一个对象则返回true,否则返回false
    is not      is not 是判断两个标识符是不是引用自不同对象   x is not y,类似id(a)!=id(b).如果引用的不是同一个对象则返回结果true,否则返回false.
    位运算符:
    &   按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0    (a&b)输出结果为12,二进制解释: 0000 1100
    |   按位或运算符:只要对应的二哥二进制位有一个为1时,结果为就为1.    (a|b)输出结果为61,二进制解释:0011 1101.
    ^   按位异或运算符:当两对应的二进位相异时,结果为1;   (a^b)输出结果49,二进制解释:0011 0001.
    ~   按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1.~X类似于-X-1.    (~a)输出结果-61,二进制解释:1100 0011,在一个有符号二进制的补码形式.
    <<  左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字制定了移动的位数,高位丢弃,低位补0.  a<<2输出结果240,二进制解释:1111 0000
    >>  右移运算符:把">>"左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数   a>>2输出结果15,二进制解释:0000 1111
    成员运算符:
    in  如果在指定的序列中找到值返回true,否则返回false.   x在y序列中,如果x在y序列中返回true.
    not in  如果在指定的序列中没有找到返回值true,否则返回false. x不在y序列中,如果x不在Y序列中返回true
    python运算符优先级:

    python运算符的优先级相当于数字中的先算乘除再算加减,但是这很愚蠢,优先级别高的你括号括起来就行了...

    十六 流程控制之if判断

    if:

    if表示if成立代码会干嘛

    if ....else:

    if...else表示if成立代码会干什么,else不成立会干什么.

    if...elif...else:

    if ...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,else...否则干什么

    十七 流程控制之while循环

    语法:

    循环就是一个重复的过程,while循环又称为条件循环.

    while+break:

    break的意思是终止掉当前层的循环,执行其他代码.

    while+continue:

    continue的意思是终止本次循环,直接进入下一次循环;

    continue不能加载循环体的最后一步执行的代码,因为代码加上去毫无意义.ps:注意是最后一步执行的代码,而不是最后一行

    while循环的嵌套:

    就是while循环层里面再加一个while循环

    while + else:

    else会在while没有被break时才会执行else的代码

    十八 流程控制之for循环:

    语法:

    为什么有了while循环,还需要for循环?for循环的循环次数受限于容器类型的长度,而while循环的次数需要自己控制.for循环也可以按照索引取值.(字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环.)

    for + break:

    for循环跳出本层循环.

    for + continue:

    for循环跳出本次循环,进入下一次循环.

    for循环嵌套:

    外层循环 循环一次,内层循环循环所有的

    for + else:

    for循环没有break的时候触发else内部代码块.

    我把月亮戳到天上 天就是我的 我把脚踩入地里 地就是我的 我亲吻你 你就是我的
  • 相关阅读:
    从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
    永远不要祈求生活来怜悯你,你只能让自己变的更强
    69 个经典 Spring 面试题和答案
    Jackson 框架,轻易转换JSON
    Apache Commons Codec 编码解码
    演讲
    Shiro源码分析-初始化-Realm
    各个JSON技术的比较
    常见数据库设计(2)——历史数据问题之单记录变更
    fiddler
  • 原文地址:https://www.cnblogs.com/zhulipeng-1998/p/12863941.html
Copyright © 2020-2023  润新知