北京建设信息港网站,wordpress添加网址为导航,广告制作公司员工提成,分销系统源代码# 这是一个代码的注释
注释可以使用# 一般而言#号后面要加空格表示规范#xff0c;多行注释使用“”“ ”“”符合包裹
# type()这个是判断变量类型# 变量的形式 meny 50
# 自己定义叫标识符 不可以使用关键字 不可以用字母开头 规范性 下划线命名法 英文字母全部小写 …# 这是一个代码的注释
注释可以使用# 一般而言#号后面要加空格表示规范多行注释使用“”“ ”“”符合包裹
# type()这个是判断变量类型# 变量的形式 meny 50
# 自己定义叫标识符 不可以使用关键字 不可以用字母开头 规范性 下划线命名法 英文字母全部小写 运算符 - *乘 / 除 //取整除 % 取余数 ** 幂
字符串的定义: name 这是一个字符串
字符串的定义: name2 这是一个字符串
字符串的定义: name 这是一个字符串# 在字符串内 包含双引号
name3 这是一个字符串
# 在字符串内 包含单引号
name4 这是一个字符串
# 在字符串内 解除引号效果
# 在字符串内 解除引号效果
name5 \这是一个字符串
# 字符串的拼接可以在两个字符串的中间用 号但只能用于字符串之间的连接
name6 你好
name7 世界
print(name6 name7)
# 字符串格式化 %s %表示我要占位了 s 表示将变量变成字符串放入占位的地方
class_num 57
arr2 100000
message %s % arr2
message2 %d % class_num
print(这个一个实验%s%s % (class_num, message))
# %d 将内容转换成整形放入占位位置
# %f 将内容转换成浮点放入占位位置
# %s 将内容转换字符串放入占位位置
# 数字精度控制 m.n m是控制宽度要求是数字很少使用设置的宽度小于数字自身不生效 .n是控制小数点精度要求是数字会进行小数的四舍五入%5d 表示将整数的宽度控制在5位如数字11被设置为5d就会变成【空格】【空格】【空格】11用
三个空格补充宽度如果是11,253被设置为%5.1f,则输出为【空格】【空格】11.3,四舍五入进一保留一位小数
.4f则是不限制宽度 # 可以使用f内容{变量}这种形式快速来实现格式化(不限数据类型不做精度度控制)
# 对于上述表达方式可以使用表达式进行使用2
print(%d,{1 1})
print(f{1 1})
print(%d% (1 1))
# input() 数据输入 使用案例 name input() input 一般值是字符串 有需求可以进行数据转换 比如 intinput
# ture 是 真 数字记作1 false 是 假 数字记作0
# 比较运算符 !
# if 要判断的条件
# 条件成立时要做的事情(y有四个空格缩进)age int(input(你成年了吗))
if age 18:print(可以进入了)
print(程序结束)# if else: 如果···· 否则····age int(input(你成年了吗))
if age 18:print(可以进入了)
else:print(程序结束)# if elif else 多条件判断 判断是互斥有序的上一个满足后下一个就不会判断了if int(input(print(请输入你猜的数字1~10))) 10:print(对了)
elif int(input(print(请输入你猜的数字1~10))) 10:print(对了)
else:print(游戏结束了)# if 进行判断嵌套缩进满足要求即可
#生成一个随机的数字import random
num random.randint(1,10)
# 不换行 end 举例 print( ,end)
# \t 效果相当于tab建i 1while i 9:j 1while j i:print(f{i} * {j} {i * j}\t, end)j 1print( )i 1# for 循环 for 临时变量 in 带处理数据集num 0
name01 这个是一个字符串
for x in name01:if x g:num 1
print(num)# range 获得一个数字序列 range(5) [0,1,2,3,4]
# range(num1,num2,step) 获得一个从怒骂 到num2 的数字序列 step是子长也就是一次加几默认是1 不包含num2本身num 0
for x in range(1,100):if x % 2 0:num 1
print(num)
for i in range(1,10):for j in range(1,i1):print(f{j}*{i}{i*j}\t,end)print( )# continue 中断本次循环直接进入下一次循环
# break 直接结束所在循环money1 10000
for x in range(1,21):import randomnum random.randint(1, 10)if num 5:money1 - 1000print(f你是{x}号你的绩效是{num},达到标准可以进行领工资剩余{money1})if money1 0:print(公司没有钱了)break else:print(f你是{x}号你的绩效是{num},没有达到标准不可以进行领工资)# def my_len(data):(自定义函数)
# 调用 函数名def 函数名(传入参数)函数体return 返回值
def add(x,y):return x y# 函数传参 函数体 遇到return直接判定结束
# 函数返回none 则是说明返回空值 没有实际意义 none 等同于 false
# if not 条件
# 局部变量 作用在函数体的内部
# global将局部变量修改成全局变量
# 数据容器 列表 元祖 字符串 字典 集合
# 裂变列表 变量名 【‘这是一个字符串’,666,true】
# index 方法 用来查看列表的下标值
# insert(下标元素)在指定位置插入元素
# 列表【下标】值 根据下标进行修改值
# 列表.append(元素)在列表最后追加元素
# 列表.extend(其他数据容器)在列表后面追加一批
# del 列表【下标】 列表.pop(下标)相当于取出来可以用变量接收 两种删除元素方法
# 列表.remove元素 按顺序数删除对应的第一个元素
# .clear() 列表清空
# 。len() 列表的元素数量
# len(列表名) 计算列表下标长度 ageOfTheStudent [21,25,21,23,22,20]
ageOfTheStudent.append(31)
ageOfTheStudent.extend([29,33,20])
arr ageOfTheStudent.remove(21)
arr2 ageOfTheStudent.pop(30)
arr3 ageOfTheStudent.index(31)my_list [1,2,3,4,5,6,7,8,9,10]
arr3 []
def my_hans():i 0aarr 0while aarr len(my_list):#print(f{ })if aarr % 2 0:arr3.insert(i,my_list.pop(aarr))i 1aarr 1print(f{arr3})my_hans()# 元组 不可以修改 元祖名 空元祖定义 变量名 tuple()
# .index 查找摸莫个元素
# .count 统计莫个元素的出现次数
# len() 计算长度
# 字符串的替换 replace(字符串1字符串2)
# 字符串.split分隔字符串按照()中内容进行切分形成一个新的 列表
# 字符串.strip()不在括号中写值则是字符串的规整操作去前后空格
# 字符串.strip(字符串)则是去除前后指定的字符串与字符串的顺序没有关系按照单个字符
# .count 计算字符串中莫个字符出现的个数s itheima itcast boxuegu
q s.count(it)
w s.replace( ,I)
e w.split(I)
print(f{q})
print(f{w})
print(f{e})# 序列是指内容有序可以使用下标索引的一类数据容器
# 序列切片 从一个序列中取出一个子序列 序列名 序列【开始 : 结束 : 步长为1可以省略】
# 步长 取元素的间隔 步长为负反向取str1 万过薪月员序程马黑来nohyp学
str2 str1[::-1]
str3 str2[8:13:]
print(f{str3})# 集合 不支持重复元素 顺序无法保证 不支持下标索引 集合名 { , , ,}空集合 变量名 set()
# 集合.add(元素) 添加元素集合本身被修改
# 集合.remove(元素)移除元素
# 变量名 集合.pop() 随机取出元素
# 集合.clear 清空集合
# 集合1.difference(集合2) 取出集合1和2的差集即1有2没有 结果是得到一个新集合
# 集合1.difference_update(集合2) 在集合1内删除和集合2相同的元素。 集合1被修改
# 集合1.union(集合2) 将集合1和集合2合成新集合 得到一个新的集合
# 集合不能使用while 循环 可以使用for循环my_lest {黑马程序员,传智教育,黑马程序员,传智教育,it,it,car,car,best}
my_lest1 set()
for x in my_lest:my_lest1.add(x)
print(f{my_lest1})# 字典的定义 同样使用{} 不过存储的元素是一个个的键值对 比如 变量名 {key: value,key2: calve2....}
# 空字典 变量名 dict()
# 字典的key 不可以重复 不支持下标索引 但是可以通过key索引 key不能是字典
# 字典【key】 value 结果字典被修改元素被更新 字典key不可以重复所以对已存在的可以执行上述操作就是更新value的值
# 字典key不存在即是新增
# 字典.pop(key) 字典中的key被取出
# 字典.clear() 字典内容被清空
# 字典.keys() 取到字典中全部keymyDictionary {王力宏:{部门:科技部,工资:3000,级别:1},周杰伦:{部门:a部,工资:5000,级别:2},林俊杰:{部门:b部,工资:2000,级别:1},张学友:{部门:a部,工资:7000,级别:3},刘德华:{部门:科技部,工资:6000,级别:1},}
for x in myDictionary.keys():if myDictionary[x][级别] 1:myDictionary[x][级别] 1myDictionary[x][工资] 1000
print(f{myDictionary})# list(容器) 将容器转化成列表 str(容器) 将容器转化成字符串
# tuple(容器) 将给定容器转换成元组
# set(容器) 将给定的容器转换成集合
# sorted() 内容进行排序放入列表中 sorted(容器reverseTrue) 反向排序for 遍历容器
max 容器最大的元素
min() 容器内最小元素
len() 容器元素个数
list() 转换为列表
tuple() 转换为元组
str() 转换为字符串
set() 转换为集合
65 A 97 a
重头到尾一位位进行比较其中一位大后面无需比较# return 1,2 return 返回多值 x,y 函数名 多个变量接收
# 位置传参 传递的参数和定义的参数的顺序及个数必须依照
# 关键字参数 函数调用时通过“键值”形式传递参数 函数调用时如果有位置参数时位置参数必须在关键字参数的面前但是关键字参数之间不存在先后顺序’
# 缺省传参 缺省传参也叫默认参数用于定义函数为函数提供默认值函数调用时可以不传该默认参数的值 所至位置参数必须出现在默认参数前包括函数定义和调用
# 作用当调用函数时没有传递参数就会使用默认参数是用缺省参数对应的值
# 不定长参数 也叫可变参数用于不确定调用的时候会传递多少个参数也可以不传的场景
# 位置传递 的不定长 def 函数名*args: 传进的所有参数都会被args变量收集它会根据传进参数的位置合并为一个元组args是元组的类型这就是位置传递
# 关键字传递 的不定长 def 函数名**kwargs 参数是“键值”形式的形式的情况下所有的“键值”都会被kwargs接受同样会根据“键值”组成字典
# 函数作为参数传参 函数的参数可以是一个函数
# lambda 关键字 可以定义匿名的函数无名称 在程序中一个场景只能临时使用一次 lambda 传入函数 函数体只能写一行代码
# open(name,mode,encoding) name:是要打开的文件目标的字符串可以包含文件所在的具体路径
# mode设计打开文件的模式访问模式只读写入追加等
# encoding 编码格式推荐使用utf-8
# f open(l路径加文件名‘r’,encodingutf-8) f是函数的文件对象
# r 只读 w 原有内容会删除 文件不存在 创建新文件 a 在原有的内容后写入 文件不存在 则创建新文件
# 文件对象.read(num) num表示从文件中读取的数据的长度
# readLines() 可以按照行的方式把整个文件的内容进行一次性读取并返回一个列表
# readLine() 一次读取一行f open(C:/Users/jojo/Desktop/杂件/oo7.txt,r,encodingutf-8)
print(type(f))# f.close 关闭文件
# with open 可以通过在with open的语句中对文件进行操作 可以在操作完成后自动关闭close文件 避免忘记close的方法with open (C:/Users/jojo/Desktop/杂件/oo7.txt,r,encodingutf-8) as f:sum2 0a 0while a 1000:a 1if f.read(1) a:sum2 1print(f{sum2})# f.rite(内容) 直接调用它 内容没有真正写入文件而是进入了缓冲器中
# f.flush() 内容刷新 这个时候才是真正写入文件
# bill.txt.bak
# 移除 bugbug捕获 tey:可能会发生错误的代码except:如果出现异常执行的代码捕获指定异常tey:可能会发生错误的代码except NameError as e:如果出现异常执行的代码 指定 变量名没定义捕获多个异常tey:可能会发生错误的代码except (NameError ZeroDivisionError.....) as e:如果出现异常执行的代码 多个异常 可以组成一个元组异常elsetey:可能会发生错误的代码except (NameError ZeroDivisionError.....) as e:如果出现异常执行的代码 多个异常 可以组成一个元组else:如果没有异常需要执行的代码异常的finally tey:可能会发生错误的代码except (NameError ZeroDivisionError.....) as e:如果出现异常执行的代码 多个异常 可以组成一个元组else:如果没有异常需要执行的代码finally(表示无论是否异常都要执行)f.close()# python模块的调用 .py结尾
# 【from 模块名】 inport【模块 | 类 | 变量 | 函数 | *】【as 别名】
# 【】 可以不选improt 模块名1模块名2。。。。
导入模块# import time 按住Ctrl 然后鼠标左键点击跳转到源文件
time.函数名# from 模块名 import 功能名
# 导入时间模块中sleep的方法 from time import sleep
# from 模块名 import * 指把模块内的所有方法都导入
# import 模块名 as 别名 指得是将模块名自定义成一个新的名字
# form 模块名 import 功能 as 别名 指的是 将 模块中方法的名称自定义为一个新的名字
# 当导入多个模块的时候且模块内有同名功能当调用这个同名的时候调用到的是后面导入的模块的功能
# if __name__ __main__: 这个是只有当程序是直接执行的才会进入if内部 如果是被导入的则if无法进入
# _all_ 如果一个模块中有_all_变量当使用form xxx import* 导入时只能导入这个列表中的元素
# Python包
# 必须在_init_.py中添加_all_ [] ,控制充需导入的模块列表
# _all_ 只针对form xxx import*
# json 中转数据格式 不同语言的中转站导入json
import json
通过 json.dumps() 转换成json 包含中文 json.dumps(容器ensure_asciiFalse)
json.loads() 将json转换为pythonfrom pyecharts.charts import Line
line Line()
line.add_xaxis([中国,美国,法国])
line.add_yaxis(Gtp,[12,3,4])
line.render()# 全局设置 line.set.global_opts()
# 列表.sort(key选择排序依据的函数reverseTrue|False)
# 参数key 是要求传入一个函数表示将列表的每一个元素都传入函数中返回排序的已依据
# 参数reverse 是负反转排序结果true表示降序False是表示升序
# 设计一个类
class Student:name Nonegender None__ago None # __开头可以定义一个私有的类对象这个方法也可以定义一个私有的类方法函数__is_5G_enable Trueis_5G_enable Nonedef say_hi(self):print(nihao)
# 使用__init__方法 构建方法def __init__(self,name,gander):self.name nameself.gender ganderdef __str__(self):# __str__ 字符串方法 控制类转换为字符串的行为return f{self.name},{self.gender}def __lt__(self, other): # 大于小于比较方法return self.gender other.genderdef __eq__(self, other): # 相等比较return self.name other.namedef __le__(self, other): # 大于等于 小于等于 比较return self.name other.namedef __check_5g(self):if self.__is_5G_enable :print(5Gkaiqi)#return Trueelse:print(NO5g)#return Falsedef Call_by_5G(self):self.__check_5g()print(nihao)
# 单继承
class Student2022(Student):# 在Student的基础上加gg Nonedef __eq__(self, other):print()
# 多继承 一个类。可以继承多个父类
# class 类名(父类1父类2。。。。)
# pass 补全语法 可以用于空内容时不报错
# 如果父类的成员有同名的话按照继承的先后顺序判定优先级
# 创建一个对象
# super() 子类中调用父类的成员
# 类型注解 变量类型 列my_int: int 10 my_list: list [1,2,3]
# 对形参进行注解 def add(x:int,y:int)
# 对返回值进行注解 def add(x:int,y:int) - int:
# return X y
# Union型from typing import union
my_list : list[union(int,str)] [2,hi]# 多肽指的是多种状态即完成摸个行为时使用不同的对象会得到不同的结果stu_1 Student()
stu_1.name wp
stu_1.gender 男# 传参创建一个对象
stu_2 Student(cgl,nv)
stu_2.Call_by_5G()