美文网首页
Python 基础

Python 基础

作者: 定格r | 来源:发表于2019-10-14 10:32 被阅读0次

    1.有中文的时候要定义编码,不然会报错

    #coding=utf-8
    

    2.单行注释用 #
    多行注释用 " " "

    new="这是一个全局变量"  #注释
    
    " " "
    这是多行注释
    " " " 
    

    3.不用定义变量数据类型,它会根据你赋值的数据类型自动给变量定义数据类型

    a="aassscbu"  # a就是字符串类型
    

    4.引入文件
    例如引入 :stand.py 文件

    import stand
    

    一、变量与赋值

    1.变量命名规范。
       1.1 记住不能做什么:不能用关键字,开头不能用数字,不能用操作符。
       1.2 怎么搭配最合理:没事别乱用大写。清晰。尽量不要用拼音。用拼音的话用全称。

    2.赋值
       2.1 记住动态特性。

       2.2 多重赋值。

    a,b,c = "str1","str2",4
    

       2.3 删除变量

    del  a   #或者
    del  a,b,c
    

    3.如何确定变量的数据类型

    a = 1
    type(a) #int类型
    

    二、常用的数据类型

    int 整型
    boolean 布尔
    string 字符串
    list 列表
    tuple 元组
    dict 字典

    数据类型的可变和不可变

    不可变类型:int , string , tuple
    可变类型:list , dict

    1> 变量之赋值一切皆为引用,动态性与动态类型之为何不再动态

    a="1234"
    a+1    # 报错,不会动态转换 a 的数据类型,除非 强制类型转换
    int(a)+1   #  正确   1235
    a="1234ccc"
    int(a)   #  报错  不能进行类型转换,因为 c 不是纯的数字
    

    2> 互相转换之 int , bool

    bool(1==1)  # 结果   true
    a=bool(1==1)    # a 可以引用 bool 值的结果
    

    注意:

    1.len 需注意

    问题:


    image.png

    问题描述:一个中文 ascii 默认三个字节

    解决方法:

      1.把 ascii 变为 unicode 码

    a = u "哈"
    print  len(a)   # 1
    

      2.用 decode 方法

    a = "哈哈哈"
    g=a.decode(utf-8)
    print len(g)    # 3
    

    1.修改字符串 replace

    修改字符串中的某个值

    image.png

    2.查找字符串 find

    格式:变量.find("查找的值",从第几位开始)


    image.png

    如果返回的是 -1 :表示没找到,返回的是 0 以上的值,指的是找到了
    返回的值是索引值

    单引号,双引号的使用注意:

    单引号里面有单引号需要转义字符
    单引号里面有双引号不需要转义字符

    image.png

    二、列表

    1.特征

    • 1 有序的集合

    • 2 通过偏移来索引,从而读取数据 (通过正向索引值的负值可反向索引数值)

    • 3 支持嵌套


      image.png
    • 4 可变的类型


      image.png

    2.添加操作:

    +:生成一个新的列表

    Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表


    image.png

    Append :添加任意对象到列表的末端


    image.png

    Insert: 插入任意对象到列表中,可以控制插入位置。


    image.png

    4. 修改:

    修改列表本身只需要直接赋值操作就行。

    A = [1,2,3]

    A[0]=’haha

    5.删除操作:

    Del :我们通过索引删除指定位置的元素。

    Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。

    Pop:返回最后一个元素,并从list中删除它。

    6 列表推导式:

    [expr for iter_var in iterable]

    1首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

    比如我们要生成一个包含1到10的列表

    [x for x in range(1,11)]
    
    Range(1,11)
    
    
    image.png image.png

    [expr for iter_var in iterable if cond_expr]

    2加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

    要生成包含1到10的所有奇数列表。

    range(1,11,2)
    
    image.png
    [x for x in range(1,11) if x % 2 == 1]
    

    7 排序翻转:sort,reverse

    a = [33,11,22,44]
    
    

    这个方式直接修改原列表。他的返回值为none,所以

    b = a.sort()
    

    print b 输出的内容是None

    我们直接输出a列表变量


    image.png

    小技巧之再议删除

    1.del 删除列表对象的引用

    2.del [ : ] 清空列表对象里的元素

    image.png

    切片取值: a[ x : x ]

    image.png

    三、元组

    1.特点:

    1 有序的集合

    2 通过偏移来取数据

    3 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。

    tuple 类型转换

    那为什么有列表还要有元组呢?

    元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,
    确保方法或者接口不会改变我们的数据从而导致程序问题。

    def info(a):
        '''一个我们不熟悉的方法'''
        a[0] = 'haha'
       
    a = [1,2,3]
    
    info(a)
    
    print a   # ['haha',2,3]
    

    2. 集合:

    集合是没有顺序的概念。所以不能用切片和索引操作。

    1 创建集合。set():可变的 不可变的frozenset():


    image.png

    2 添加操作: add,update (区别:add 整体加入,update 是分开加入)


    image.png

    3 删除 remove

    image.png

    4 成员关系 in,not in


    image.png

    6 交集,并集,差集 & | -


    image.png

    7 set去重 列表内容元素重复

    image.png

    四、字典

    字典是无序的,它不能通过偏移来存取,只能通过键来存取。

    字典 = {'key':value} key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁

    特点:

    1.内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,属于可变类型。

    2.组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键.

    创建字典。{},dict()

    info = {'name':'lilei', 'age': 20}
    
    info  = dict(name='lilei',age=20)
    

    添加内容 a['xx'] = 'xx'

    比如

     info['phone'] = 'iphone5'
    

    修改内容

    1. a['xx'] = 'xx' ,
    info['phone'] = 'htc'
    

    2.update 参数是一个字典的类型,他会覆盖相同键的值

    info.update({'city':'beijing','phone':'nokia'})
    
    image.png

    删除 del,clear,pop

    del info['phone'] 删除指定的某个元素

    info.clear() 删除字典的全部元素

    info.pop('name') 通过键去删除,返回值,并删除这个键值
    列表的 pop()方法 通过下标索引值去删除

    in 和 has_key() 成员关系操作

    判断是否在键值是否在这个字典里

    比如:

    1 phone in info
    
    2  info.has_key('phone')
    

    方法

    • keys(): 返回的是列表,里面包含了字典的所有键

    • values():返回的是列表,里面包含了字典的所有值

    • items:生成一个字典的容器:[()]


      image.png

    get:从字典中获得一个值

    info.get('name')
    
    info.get('age2','22')  #还可以设置它的返回值是 22
    
    image.png

    相关文章

      网友评论

          本文标题:Python 基础

          本文链接:https://www.haomeiwen.com/subject/chmlmctx.html