python基础


python 基础知识总结

    # 变量
    # 数据类型
    int,float,str,bool,tuple,list,dict
    # 类型转换
    int()
    float()
    str()
    # 打印
    print(11)
    print(123, 'hello', sep="&", end='\n\n')
    print(11213)
    # 输入
    result = int(input('请输入'))
    print(type(result),result)

    # 条件语句
    if result<10 :
    print('小于10')
    elif result >=10 and result<20:
    print('正确')
    else:
    print('其他')
    #在python中非0即真
    # 逻辑运算符and ,or,not
    # 字符串的常见用法
    # 查找对应的下标
    str = 'hello'
    result = str.index('h')
    #找不到时会报错
    print(result)

    result = str.find('h')
    #找不到返回-1
    print(result)
    # 字符串的长度
    result = len(str)
    print(result)
    # 统计某个字符出现的次数
    result = str.count('l')
    print(result)
    # 替换字符串的指定数据
    result = str.replace('l','x')
    print(result)
    # 字符串的分割
    str = '你,我,他'
    result = str.split(',')
    print(result)
    # 判断一个字符串是否是指定数据开头/结尾
    url = 'http://123.com'
    result = url.startswith('http')
    print(result)
    result = url.endswith('http')
    print(result)
    # 把字符串用指定数据分割
    str = 'aaabcccc'
    result = str.partition('b')
    print(result)
    sub_str = '_'
    #也可以分割列表
    result = sub_str.join(str)
    print(result)
    # 去除左右空格
    str = ' hello '
    print(str)
    result = str.strip()
    print(result)
    #去除左边的空格
    str.lstrip()
    #去除右边的空格
    str.rstrip()
    #去除指定的数据
    str= 'asdhello'
    result = str.strip('asd')
    print(result)
    list.append(1)
    # 列表
    list = [123, '12', 12, 'hello', 123, 123, '你好']
    print(list, type(list))
    #增删改查
    list.append(1)
    list.insert(3, '插入到hello前面')
    #删除了第一个123
    list.remove(123)
    #删除第一个元素
    del list[0]
    #判断指定数据是否在列表中
    result = 12 in list
    print(result)
    #获取数据在列表中的索引
    result = list.index(123)
    print(list, result)
    #获取数据在列表中的个数
    result = list.count(123)
    print(list, result)
    #元组
    #数据不能修改
    myTuple = (12, 21'hello')
    print(myTuple, type(myTuple))
    #如果元组只有一个元素,那么元组的类型就变成了元素的类型,除非加了逗号
    # 判断数据是否在元组中
    myTuple = (12, 21, 'hello')
    result = 12 not in myTuple
    print(result)
    # 元素在元组中的个数
    result = myTuple.count(12)
    print(result)

    # 字典
    #字典是无序的
    my_dict = {'name':'沐雪','123':123}
    value = my_dict['name']
    value = my_dict.get('name','默认值')
    print(value)
    #增加
    my_dict["age"] = 18
    print(my_dict)
    #删除
    del my_dict['age']
    print(my_dict)
    value = my_dict.pop('123')
    print(value)
    #随机删除
    my_dict.popitem()
    print(my_dict)
    # 获取所有value/key
    result = my_dict.values()
    print(result)
    result = my_dict.keys()
    print(result)
    # 判断key是否在字典里面
    result = 'age' in my_dict
    print(result)
    # 格式化输出符
    # %s %d %f %x
    name = '沐雪'
    print('我叫%s' % name)

    # 循环
    #for和while都可以搭配else语句使用
    # while
    num = 0
    while num < 5:
        print(num)
        num += 1
    else:
    print('over')
    #for
    for i in range(0, 6, 2):
        print(i)
    else:
    print('over')
    #break
    #不会执行else的代码
    num = 0
    while num < 5:
        num += 1
        if num == 3:
            break
        print(num)
    else:
    print('over')
    #continue
    会执行else的代码
    num = 0
    while num < 5:
        num += 1
        if num == 3:
            continue
        print(num)
    else:
    print('over')
    # 集合
    #集合里面的数据不能够重复
    #集合列表元组之间可以相互转换

    my_set = set()
    my_set = {'123','hello','world'}
    #删除
    my_set.remove('123')
    #可以删除没有的数据
    my_set.discard('hello')
    print(my_set)
    #增加
    my_set.add('2333')
    #集合是无序的

    #遍历取出数据
    for val in my_set:
    print(val)

    #遍历:获取所有容器类型(字符串,列表,元组,集合,字典)里面的元素
    #遍历列表元素和下标
    my_list= enumerate([12,3112])
    for val in my_list:
    print(val)
    # 获取元素和下标
    #列表
    for index,value in my_list:
    print(index,value)

    print(my_dict.values())
    #字典
    for key in my_dict:
        print(key)

    for value in my_dict.values():
        print(value)

    for key, value in my_dict.items():
        print(key, value)

    #集合
    my_set = {12, 3123, 123}
    for value in my_set:
        print(value)

    #拆包(和js的解构赋值差不多的)
    #把容器类型每一个数据都用变量保存
    my_dict = {'name': '123', 'age': '1'}
    a1, a2 = my_dict
    print(a1, a2)
    my_set = {1, 2}
    b1, b2 = my_set
    print(b1, b2)
    my_list = [1, 2]
    num1, num2 = my_list
    print(num1, num2)

    #函数
    a = 10


    def fn(name='muxue', age=18):
        #使用global 可以在函数里修改全局变量
        global a
        a = 20
        print(name, age, a)

    fn()
    fn('joke', 122)
    fn(age=12, name='qwe')
    # 关键字传参必须放在后边
    fn('qweq', age=123)
    print(a)
    # 不定长位置参数
    def sum(*args):
        #把参数封装到元组里
        print(args, type(args))
        result = 0
        for val in args:
        result += val
        return result
    result = sum(1, 2, 3, 4)
    print(result)
    #不定长关键字参数
    def sum(**kwargs):
        # 把参数封装到字典里
        print(kwargs, type(kwargs))
        for key, value in kwargs.items():
            print(key, value)
    sum(a=1, b=2)

    #装饰器
    def decorator(func):
        print('装饰器')

        def inner(sum1, sum2):
            func(sum1, sum2)
        return inner
    @decorator
    def my_func(sum1, sum2):
        result = sum1 + sum2
        print(result)
    my_func(1, 2)

    #文件操作
    #r只读,w写,a追加,rb以二进制读取,wb以二进制写,ab以二进制追加,
    #r+ w+ a+支持读写 rb+ wb+ rb+支持二进制读写

    file = open('test.py', 'r+',encoding='utf-8')
    d='hello'
    data= d.encode('utf-8')
    file.write(data)
    content = file.read()
    print(content)
    file.close()

    #类
    class Person():
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def __str__(self):
            return self.name

        def __del__(self):
            print('销毁了')


    p = Person('沐雪', 12)
    print(p)

    #继承封装和多态
    class Person():
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def __str__(self):
            return self.name

        def __del__(self):
            print('销毁了')

    ```





文章作者: 沐雪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 沐雪 !
评论
 上一篇
Vue-Composition-API Vue-Composition-API
Vue Composition API 2020.5.1 vue3 已经进入 beta 阶段了,有些 api 发生了改变,建议直接看之后的文档 vueconf 尤雨溪的演讲视频及资料 setupsetup是一个显得 options,它是在
2019-10-01 沐雪
下一篇 
排序算法 排序算法
排序算法 2019更新 function swap(A,i,j){ [A[i],A[j]] = [A[j],A[i]] } 冒泡排序(O(n^2))从第一个开始俩俩比较,大的放到后边,一轮之后,最大的数字就冒泡到了最后边。然后开始第二
2019-07-12
  目录