zoukankan      html  css  js  c++  java
  • Python 基础扫盲

    1.下划线(_)在解释器中有特殊的意义,表示最后一个表达式的值:

    >>> a = "Hello world"
    >>> a
    'Hello world'
    >>> _
    'Hello world'
    >>> b = "你好"
    >>> _
    'Hello world' #因为b还没被引用呢!
    >>> b
    '你好'
    >>> _
    '你好'

    2.Python 是动态类型语言, 也就是说不需要预先声明变量的类型。 变量的类型和值在赋值 那一刻被初始化。变量赋值通过等号来执行。

    >>> count = 2
    >>> price = 2.5
    >>> name = 'xiao'
    >>> type(count)
    <class 'int'>
    >>> type(price)
    <class 'float'>
    >>> type(name)
    <class 'str'>
    >>> 

    3.Python支持五种基本数字类型

    int (有符号整数)、long (长整数)、 bool (布尔值)、float (浮点值)、complex (复数) 

    4.错误与异常处理:

    要给你的代码添加错误检测及异常处理,只要将它们封装在try-except语句当中。try之后的代码组,就是你打算管理的代码。except之后的代码组,则是你处理错误的代码.

    5.模块:

    可以自己创建头文件(类似于c中的“.h”文件)

    import module_name
    module_name.function() #function() 为module_name内的函数

    每一个Python脚本文件都可以被当成是一个模块。模块以磁盘文件的形式存在。当一个模块变得过大,并且驱动了太多功能的话,就应该考虑拆一些代码出来另外建一个模块。模块里的代码可以是一段直接执行的脚本,也可以是一堆类似库函数的代码,从而可以被别的模块导 入(import)调用。

    6.专用下划线标识符:

    _xxx不用'from module import *'导入
    __xxx__系统定义名字
    __xxx 类中的私有变量名

    7.python编程风格:

    # (1) 起始行(通常只有在类Unix环境下才使用起始行,有起始行就能够仅输入脚本名字来执行脚本,无需直接调用解释器)

    # (2) 模块文档

    # (3) 模块导入

    # (4) 变量定义(这里的变量是全局变量,除非必须,否则就要尽量使用局部变量代替全局变量)

    # (5) 类定义

    # (6) 函数定义

    # (7) 主程序

    8.垃圾收集 

      不再使用的内存会被一种称之为垃圾收集的机制释放。虽然解释器跟踪对象的引用计数,但垃圾收集器负责释放内存。它是一块独立的代码,用来寻找引用计数为0 的对象。同时也负责检查那些虽然引用计数大于0但也应该被销毁的对象。特定情形会导致循环引用。

    9.对象(一切皆对象):

    9.1 三特征:身份、类型、值;

    >>> a = 123
    >>> type(a)
    <class 'int'>#类型
    >>> id(a)
    1442046032#身份
    >>> a
    123#值
    

    9.2 is和is not运算符来测试两个变量是否指向同一个对象:

    >>> a=1+1
    >>> b = a # b指向a所指向的对象(即值为2,类型为int,的a变量的值,就是相当于给对象再粘个标签)
    >>> id(a)
    1442044096
    >>> id(b)
    1442044096 #地址一样的
    >>> del a  #一个标签没了,另一个还有的
    >>> b
    2
    
    #通过标签能不能改变量呢?
    >>> a = 1+1
    >>> b = a
    >>> b = 5
    >>> a
    2
    >>> b   #不能啊哈哈!
    5
    >>> id(a)
    1442044096
    >>> id(b)
    1442044144
    >>> c= 5
    >>> id(c)
    1442044144
    #应该是不同的值对应的id不一样 (数字为后面说的不可变类型)
    >>> 

    >>> a is b
    False #a与b值不同了,id不一样了,值不一样了,就是false

    9.3 可变类型与不可变类型(内容是否可变):

    9.3.1 可变类型(列表,字典):

    #列表
    >>> a = [1,2,3,4] >>> id(a) 62452400 >>> a[0] = 10 >>> id(a) 62452400 #列表a的值变了,但是id没变 >>> b = [1,2,3,4] >>> id(b) 62452680  #创建了个和原来的a一样的列表,但是明显id已变,是不是原来的a被回收了呢? >>> c = [10,2,3,4] #创建了个和现在a相同的列表 >>> id(c) 62181248  #但是呢,结果还是改变了! >>> a [10, 2, 3, 4] >>>
    #结论就是:
    #1.列表即使值相同,也不是存储在同一个地方
    #2.同一个列表,改变其某个元素的值,列表地址不变
    #字典
    >>> a = {1:"a",2:"b",3:"c"} >>> id(a) 57524272 >>> a[1] = "c" >>> id(a) 57524272
    #结论:字典内容改变,但是id不变

    9.3.1 不可变类型(元组,字符串,数字):

    #元组
    >>> a = (1,2,3,4) >>> id(a) 61994736 >>> b = (12,) >>> id(b) 62170160 >>> a +b (1, 2, 3, 4, 12) >>> id(a+b) 62069328
    #结论:元组的地址改变了

    #字符串

    >>> a = "123456"

    >>> id(a)
    62170208

    >>> a = "456"
    >>> id(a)
    62380416
    >>>

    #结论:字符串id改变了

    变量后面跟一个小数点,小数点后面就是它的属性或方法,带括号的是方法,不带的就是属性

     9.3.2 易混系列:

    >>> a = (1,2,3,4)
    >>> b = (1,2,3,4)
    >>> a is b
    False
    
    >>> a = 1
    >>> b = 1
    >>> a is b
    True
    
    >>> a = "123"
    >>> b = "123"
    >>> a is b
    True
    
    >>> a = {1:"a",2:"b",3:"c"}
    >>> b = {1:"a",2:"b",3:"c"}
    >>> a is b
    False
    >>> a == b
    True
    
    >>> a = [1,2]
    >>> b = [1,2]
    >>> a is b
    False

    # 结论:

    #1.只有数字和字符串在元素相同时候,指向的是同一个对象

    #2.== 与 is 区别就是。==是判断的值是否相同,而is是判断整个对象

    10.input与raw_input:

    input():python3.x 有的(我安装的也是,推荐使用)

    raw_input():python2.x 

    >>> name = input("输入姓名:")
    输入姓名:123
    >>> name
    '123'
    >>> type(name)
    <class 'str'>
    >>> name = int(input("输入姓名:"))
    输入姓名:123
    >>> type(name)
    <class 'int'>

    #结论:input默认接收的都是字符串

     11.数学函数:

    函数返回值 ( 描述 )
    abs(x) 返回数字的绝对值,如abs(-10) 返回 10
    ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

    cmp(x, y)

    如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换
    exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
    floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
    log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
    max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y) x**y 运算后的值。
    round(x [,n])

    返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。

    其实准确的说是保留值将保留到离上一位更近的一端。

    sqrt(x) 返回数字x的平方根。

    参考地址:

    https://www.cnblogs.com/jianjianyang/p/5733017.html  

    https://blog.csdn.net/zcx1203/article/details/89187495?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

    https://www.cnblogs.com/jianjianyang/p/5736160.html

    https://www.cnblogs.com/jianjianyang/p/5755610.html

    https://blog.csdn.net/weixin_38145317/article/details/94741218

    https://www.runoob.com/python3/python3-number.html

    https://www.cnblogs.com/wangkun122/p/9082088.html

  • 相关阅读:
    已知用经纬度表示的两点,求两点之间的直线距离
    linux 管道--转
    Five ways to maximize Java NIO and NIO.2--reference
    java获取当前方法
    事务策略: 了解事务陷阱--转
    实例详解 EJB 中的六大事务传播属性--转
    全面分析 Spring 的编程式事务管理及声明式事务管理--转
    Spring 事务管理高级应用难点剖析--转
    Java NIO——Selector机制源码分析---转
    Java NIO类库Selector机制解析--转
  • 原文地址:https://www.cnblogs.com/xiao-yu-/p/12625953.html
Copyright © 2011-2022 走看看