建设旅游网站的市场分析,ppt免费下载,网站邮箱登陆代码,阿里云域名空间网站建设本篇是观看b站黑马视频所做的笔记第一弹#xff0c;为1-98节。
b站-黑马Python
# 1.Hello World
print(Hello World)# 2.字面量 在代码中#xff0c;被写下来固定的值# 3.字符串
print(python)# 4.单行注释 # 多行注释 为1-98节。
b站-黑马Python
# 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(f1*2的结果是:{1*2})# 16.输入
#name input(请输入信息) 默认都是字符串# 17.布尔类型bool
print(f3大于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 1while j i:print(f\t{j}*{i}{j*i}, end )j 1i 1print()
print()
#第二种方法
for i in range(9):for j in range(i1):print(\t%d*%d%d % (j1,i1,(i1)*(j1)), 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, age1):#带默认值必须放在最后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: xy)# 46.文件的编码 UTF-8# 47.文件的操作 打开读取和关闭
# with open 会自动关闭文件 建议用这个
with open(D:/PyCharm/Test/FileIO/TestFile.txt,r,encodingUTF-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,encodingUTF-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,encodingUTF-8)
f1.write(Hello World)
f1.flush()
f1.close()
f2 open(D:/PyCharm/Test/FileIO/TestFileAppend.txt,a,encodingUTF-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]