赞
踩
本篇是观看b站黑马视频所做的笔记第一弹,为1-98节。
- # 1.Hello World
- print("Hello World")
-
- # 2.字面量 在代码中,被写下来固定的值
-
- # 3.字符串
- print("python")
-
- # 4.单行注释 # 多行注释""" """
-
- # 5.type()获得类型
- str_type = type("python")
- print(str_type) #<class 'str'>
-
- # 6.类型转换
- tmp1 = 1
- print(int(tmp1))
- print(float(tmp1))
- print(str(tmp1))
- print(int(11.56))#丢失精度
-
- # 7.标识符,英文,中文,下划线,数字,内容限定,大小写敏感,不可使用关键字
-
- # 8.Python大小写敏感
-
- # 9.加减乘除+-*/ 取余% 取整除// 指数**
-
- # 10.'s' "s" """s"""都是可以定义字符串 对于""""""有等号就是字符串
-
- # 11.转义字符 \
- print("\"str")
-
- # 12.字符串拼接 +
-
- # 13.占位符 %s %d %f %5.2f 代表宽度为5小数点后面为2
- var1 = "s1"
- var2 = "s2"
- message = "两个变量为%s和%s" % (var1,var2)
- print(message)
-
- # 14.快速占位
- var3 = 'sss'
- var4 = '333'
- print(f"不会做精度控制快速占位{var3}和{var4}")
-
- # 15.表达式的格式化
- print("1*2的结果是:%d" % (1*2))
- print(f"1*2的结果是:{1*2}")
-
- # 16.输入
- #name = input("请输入信息") 默认都是字符串
-
- # 17.布尔类型bool
- print(f"3大于5吗{3 > 5}")
-
- # 18.比较运算符 == != > < >= <=
-
- # 19.if语句 if(): // if(): else: // if(): elif: else:
-
- # 20.循环语句 while i < 0:
-
- # 21.随机数
- import random
- num = random.randint(1,10)#产生1~10中的一个数
-
- # 22.print不换行 print()空就是一个换行
- print('Hello', end = '')
-
- # 23.字表符 \t 进行对齐
-
- # 24.输出九九乘法表
- print("")
- #第一种方法
- i = 1
- while i <= 9:
- j = 1
- while j <= i:
- print(f"\t{j}*{i}={j*i}", end = '')
- j += 1
- i += 1
- print("")
- print("")
- #第二种方法
- for i in range(9):
- for j in range(i+1):
- print("\t%d*%d=%d" % (j+1,i+1,(i+1)*(j+1)), end ='')
- print("")
-
- # 25.for循环
- name = 'ForwardSummer'
- for i in name:
- print(f"{i},",end = '')
- # 26.range() 左开右闭 可加步进
-
- # 27.continue跳过本次循环 break跳过所有循环
-
- # 28.len()函数
-
- # 29.函数定义,函数参数,返回值, 返回None
- print()
- def DefineF(x):
- return "这是一个函数"
- print(DefineF(1))
-
- # 30.函数注释,在函数体中使用多行注释来进行函数注释
- def DefineY(x):
- """
- :param x:
- :return:
- """
- return "这是一个函数"
-
- # 31 列表基础 长度可变 可修改
- new_list1 = ['1','2']
- new_list2 = []
- new_list3 = [[1,2,3],[4,5,6]]#嵌套
- new_list4 = ['1',1,True]
- print(new_list1[-1])
- print(new_list1.index('1'))
- new_list1.insert(1,'3')
- new_list1.append('4')
- new_list1.extend(new_list4)
- del new_list1[1]#删除
- new_list1.pop(2)#删除可以去除元素,可接收
- new_list1.remove('1')#从后向前删除第一个元素
- new_list3.clear()#清空列表
- new_list4.count('1')#统计元素的数量
- print(len(new_list1))#长度统计
-
- # 32 列表遍历
- #while循环
- #for循环
-
- # 33. 元组 一旦定义不可修改 但内部可变
- t1 = ('1',1,True)
- t2 = ()
- t3 = tuple()
- t4 = ('hello',)#注意定义一个元素的逗号
- t5 = ((1,2),(3,4))
- #取元素 index(),count(),len()和list一样
-
- # 34. 字符串 像列表一样 下标取值 不可修改 count len和list一样
- str1 = "dhi 145"
- print(str1.index("1"))
- str2 = str1.replace("d","1")
- print(str1)
- print(str2)
- str1_list = str1.split(" ")
- str3 = str1.strip()#不传入参数就是前后空格
- str4 = str1.strip("d")#传入参数回去除本身及其子串
-
- # 35. 序列和切片 列表 元组 字符串都是序列 左闭右开 可取步长,步长为负数开始和结束也要反转
- new_list5 = [1,2,3,4]
- new_list6 = new_list5[:4]
-
- # 36.列表有序可重复可添加 集合不可重复无序 列表[]集合{}字符串""元组()
- new_set = {1,2,3}
- new_set1 = set()#集合的定义不能用{}被字典占用 定义重复key,新的把老的覆盖
- new_set.add(3)
- new_set.remove(3)
- print(new_set)
- new_set.pop()#随机取出一个值
- #new_set.clear()
- new_set2 = new_set1.difference(new_set1)#取差集 两个集合都不会变
- new_set1.difference_update(new_set2)#取差集 谁调用 谁修改 集合1去掉和集合2相同的元素
- new_set3 = new_set1.union(new_list2)#两个集合不变 得到一个新的集合
- len(new_set1)#求集合的数量
-
- # 37.集合的遍历
- for el in new_set3:
- print(el)
-
- # 38.字典 用{}定义,元素是一个一个键值对
- new_dict1 = {}
- new_dict2 = dict()
- new_dict3 = {"小明":1,"小华":2}
- score_1 = new_dict3["小明"]
- print(score_1)
- new_dict4 = {"小梦":{"语文":30,"数学":59},"小鸣":{"语文":49,"数学":100}}
- print(new_dict4["小梦"]["语文"])
-
- # 39.字典常用操作
- new_dict3["小明"] = 9 #更新
- new_dict3["小流"] = 5 #新增
- new_dict3.pop("小明") #删除
- new_dict3.clear() #清空
- keys = new_dict4.keys() #获取全部的key
- for key in keys: #不支持while循环
- print(f"字典的key是:{key}")
- print("字典的key是:%s" % new_dict4[key])
- for key in new_dict4:
- print(f"字典的key是:{key}")
- print("字典的key是:%s" % new_dict4[key])
- new_dict4len = len(new_dict4)
-
- # 40.容器的通用操作
- len(new_set1) #长度的通用操作
- print(max(new_set)) #最大最小函数,max min
- #list(容器) #truple(容器) #set(容器) #str(容器)
- #字典转列表 会抛弃所有的value
-
- #排序
- sorted(new_list3) #sorted排序后会变成列表
- sorted(new_list2, reverse = True) #反向排序
-
- # 41.字符串的比较 按照ASCLL码同位依次比较
-
- # 42.函数的返回值 有多个return 只返回第一个 返回多个值用逗号隔开
- # 函数的多返回值
- def test_return_muti():
- return 1, 2
- # 43.函数的多种返回形式
- # 位置参数 关键字参数 缺省参数 不定长参数
- def test_guanjianzi(name, age, gender):
- print(f"您的名字是:{name},年龄是:{age},性别是:{gender}")
- test_guanjianzi(name = "小明",age = 11,gender = "男")
- # 位置参数和关键字参数可以混用
- test_guanjianzi("小明",11,gender = "男")
- def test_qusheng(name, age=1):#带默认值必须放在最后
- print(f"{name},age")
- def test_budingchang(*args):#位置不定长
- print(args)#默认存的是元组
- def test_bdcguanjianzi(**kwargs):#关键字的不定长必须传入key-value形式
- print(kwargs)
- test_bdcguanjianzi(name = "小明", age = 11)
- # 44.函数做作为参数
- def test_hanshu(compute):#计算逻辑的传递而非数据的传递
- result = compute(1,2)
- print(result)
- def compute(a,b):
- return a + b
- # 45.lambda函匿名函数没有名称 只能临时使用一次 写一行
- test_hanshu(lambda x, y: x+y)
-
- # 46.文件的编码 UTF-8
-
- # 47.文件的操作 打开读取和关闭
- # with open 会自动关闭文件 建议用这个
- with open("D:/PyCharm/Test/FileIO/TestFile.txt",'r',encoding='UTF-8') as f:
- for line in f:
- print(line)
- # 统计a的个数
- # open(name,mode,encoding) 文件的名字/只读 写入 追加/UTF-8
- f = open("D:/PyCharm/Test/FileIO/TestFile.txt",'r',encoding='UTF-8')
- print(type(f))
- # f.read(num) num限制读取字节长度 在程序中多次调用read会从上次读取末尾开始
- # lines = f.readlines() #read的方法大类共享一个指针 readlines读取全部的行
- # print(lines)
- # readline一次读取一行
- # 用for循环读取操作
- # for line in f:
- # print(line)
- print(f.read().count('a'))
- # 文件的关闭 不关闭会造成一直占用
- f.close()
- # 去除反斜杠n 可以替换 可以用line.strip() strip()去除开头结尾空格和换行符
- # f.write()写入 f.flush()刷新后写入文件 不存在创建文件
- f1 = open("D:/PyCharm/Test/FileIO/TestFileWrite.txt",'w',encoding='UTF-8')
- f1.write("Hello World")
- f1.flush()
- f1.close()
- f2 = open("D:/PyCharm/Test/FileIO/TestFileAppend.txt",'a',encoding='UTF-8')
- f2.write("Hello World")
- f2.close()
-
- # 48.Python异常
- # 48.1 捕获异常 try: 可能发生的异常 except:出现异常执行的代码
- # 48.2 捕获指定异常 try: except NameError as e: 执行的语句 只捕获名字不存的异常
- # 48.3 捕获多个异常 try: except (NameError,ZeroDivisionError) as e: 执行的语句 捕获名字不存和除0异常
- # 48.4 捕获所有异常 try: except Exception as e: 执行的语句 捕获所有的异常
- # 48.5 捕获所有异常 try: except :出现异常 else:没有出现异常 finally:无论无何都会执行 比如文件的关闭
- # 48.6 异常的传递 在函数的调用时会一层一层向上传 传递几次 出现几次 不用去底层出现异常的地方去捕获 在上层的调用中捕获就可以
-
- # 49.模块 Module是一个python文件 以.py结尾 模块能定义函数 类和变量
- # 语法 [from 模块名] import [模块|类|变量|函数|*] as 别名
- import time as t
- print("开始")
- t.sleep(5)#睡眠5秒钟
- print("结束")
- # 自定义模块 直接import 直接调用里面的函数 同名函数会覆盖
- # 导入模块会直接调用模块中已经调用的函数 可以用 if __name__ == '__main__': 就不会被调用了
- # 在被调用Module中加入__all__=['函数名a']就只能用'函数名a' 其他不能用了
- # python模块相当于一个文件 python包相当于一个文件夹 _init_.py有这个相当于一个文件夹
- # import my_package.my_module1
- # my_package.my_module1.module1_print()
- from my_package.my_module1 import module1_print
- # 可以进行更细粒度的函数的导入 module也可以
- module1_print()
- # 在_init_.py文件中可以控制import*时的要插入的mudule 但是只能控制* 手动一个个插入是可以的
- # __all__ = [my_module1]
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。