变量命名规范:
1.字母,数字,下划线且不能数字开头
2.区分大小写
3.不能取关键字
变量命名格式: 变量名=值
变量命名规范:
1.字母,数字,下划线且不能数字开头
2.区分大小写
3.不能取关键字
变量命名格式: 变量名=值
print("hello")
ame = 'dc'
#
# age = 12
#
# print("名字=", name)
# # 数据类型: int,float,string,boolean等
# # 单引号,双引号和三引号都可以表示字符串,当三引号在等式之后也表示字符串,三引号保留字符串格式
#
# type(12)
# # 查看数据类型函数
# print("name的数据类型是", type(name))
# print("age的数据类型是", type(age))
# poem = ''' 静夜思
# 李白
# 床前明月光,
# 疑是地上霜。
# 举头望明月,
# 疑是地上霜。
# '''
# print(poem)
# # print()之间数据用,表示大哥values,sep分隔符默认sep=" ",end默认end="\n",可指定;例如sep="#"
# # input函数得到的数是字符串数据类型,字符串相加是字符串的拼接,当数字运算时要进行类型转换
# # 字符转换时注意bool和int ,只有int值为0时,bool=false
# print("-" * 25)
# a = 0
# print(bool(a), bool(-1), sep="#")
# # False
# print('-' * 25)
# message = " One of python's strengths is its diverse community. "
# print(message)
# print("message.title()=", message.title())
# # 格式:变量名.title()
# # 作用:将字符串每个字母首字母大写
# # 函数title() 不需要额外的信息
# print("message.upper()=", message.upper())
# # upper作用所有字母大写
# print("message.lower()=", message.lower())
# # lower作用所有字母小写
# print("message.lstrip() =", message.lstrip())
# # strip()作用去除开头空格
# print("message.rstrip()=", message.rstrip())
# # strip()作用去除最后空格
# print("message.strip()=", message.strip())
# # strip()去掉两头空格
# print('-' * 25)
# # 运算符
# print("5+3=", 5 + 3)
# # 加法运算
# print("5-3=", 5 - 3)
# # 减法运算
# print("5*3=", 5 * 3)
# # 乘法运算
# print("5**3=", 5 ** 3)
# # 幂运算 5的3次方
# print("5%3=", 5 % 3)
# # 取余
# print("5/3=", 5 / 3)
# # 除法 不同于c语言 自动转换float型
# print("5//3=", 5 // 3)
# # 取商
# print('#' * 25)
# '''
# 赋值运算符 //=,+=,-=,%=,/=
# '''
# a = 5
# b = 3
# a //= b # a=a//b
# print("a=", a)
# '''关系运算符 python 可以连续关系,例如:10 < score < 100
# ==,<,>,<=,>=,!=,is
# 当比较对象是字符串时,字母依次以ascll码对比
# '''
# print(a == b) # false
# print(a > b) # false
# print(a < b) # true
# print('-' * 25)
# '''
# 逻辑运算符
# and 两个都为true 才为true
# print(a and b) # b的值
# print (b and a) # a的值
# ,or 一真就为真
# not 对判断值取反
# '''
# print(a and b) # 3 b=3
# print(b and a) # 1 a=1
# # 当and两边是关系运算发是输出为 true ,flase
# print(a or b)
# print(0 or 0) # or的输出只有0,1
# print(a > b or a < b) # or两边是关系运算发是输出为 true ,flase
# print(a < b) # true
# print(not a < b) # flase
# print('-' * 50)
# # 进制转换
# print("进制转换")
# num = 16 # 转2进制
# result = bin(num)
# print(num, result, sep="->")
# num = 16
# result = oct(num) # 转8进制
# print(num, result, sep="->")
# num = 16
# result = hex(num) # 转16进制
# print(num, result, sep="->")
# # bin(),int(),oct(),hex()会先通过括号里数的前缀判断进制,不管什么括号里进制都可转换成需要的进制
# # 例如:num= 0x123 bin(num)可以把16进制——》2进制
#
#
# print("位运算")
# # & ,|,~,^,<<,>>
# # 针对2进制
# num1 = 0b0010 # 2
# num2 = 0b0110 # 6
# print("num1 & num2=", num1 & num2)
# '''
# 0010
# 0110
# ----
# 0010 -> 2
# & :全为1时为1
# '''
# print("num1 | num2=", num1 | num2)
# '''
# 0010
# 0110
# ----
# 0110 -> 6
# | :有1时为1
# '''
# print("num1 ^ num2=", num1 ^ num2)
# '''
# 0010
# 0110
# ----
# 0100 -> 4
# ^ :不同时为1
# '''
# print(" ~num1=", ~num1)
# '''
# 0000 0010
# ---------
# 1111 1101 ->1000 0010 +1 -> -3
# ~ :取反
# '''
#
# print(num1 << 2) # 0000 0010 向左移动2位 0000 1000=8
# print(num1 >> 2) # 0000 0010 向右移动2位 0000 0000=0
# '''
# if 语句
# '''
# # 人员管理系统
# # order = input("请输入命令:\n1.添加人员\n2.修改人员\n3.删除人员\n4.退出\n")
# # if order == "1":
# # print("添加")
# # elif order == "2":
# # print("添加")
# # elif order == "3":
# # print("删除")
# # elif order == "4":
# # print("退出")
# # else:
# # print("输入错误")
# # '''
# # while语句
# # '''
# # n = 1
# # print("打印五十以内能被三整除的数")
# # while n <= 50:
# # if n % 3 == 0:
# # print("%d\t" % n)
# # n += 1
# #
# '''
# for语句
#
# 格式:for 变量名 in range(n)
# range(n) 表示从0 到 n-1
# range(start,end) 表示从start取值 到end(不包括end)
# range(1,11) 表示 1,2,3,4,5,6,7,8,9,10
# range(start,end,step)step 表示步长,即增加多少
# range(1,11,2)表示1,3,5,7,9
# '''
# # print("打印五十以内不能被三整除的数")
# # for n in range(50):
# # if n % 3 != 0:
# # print("%d\t" % n)
# # 10.打印左三角形
# # n = 0
# # while n <= 5:
# # m = 0
# # while m <= n:
# # print("*", end='')
# # m += 1
# # print()
# # n += 1
# # 打印右三角
# # n = 0
# # while n <= 5:
# # m = 5
# # j = 0
# # while m > n:
# # print(" ", end='')
# # m -= 1
# # while j < n:
# # print("*", end='')
# # j += 1
# # print()
# # n += 1
# # 打印左倒三角
# # n = 0
# # while n <= 5:
# # m = 5
# # while m >= n:
# # print("*", end='')
# # m -= 1
# # n += 1
# # print()
#
# # 打印右倒三角
# # n = 0
# # while n <= 5:
# # m = 0
# # while m < n:
# # print(" ", end='')
# # m += 1
# # j = 5
# # while j >= n:
# # print("*", end='')
# # j -= 1
# # n += 1
# # print()
# # 切片:字符串,列表
# # 模式: 变量名[start:end:step] 例如:add[0:3] 打印从0到2的字符 包前不包后
# # step:表示步长,正数表示从前往后去默认为+1,若反方向取则取负数
# # 变量名[:] 若要全部打印可字符串名字或者省略start:end
# # print('*' * 50)
# # a = 'https://www.douyin.com/'
# # print("打印全部")
# # print("方式1:%s" % a)
# # print("方式2:%s" % a[::])
# # print('*' * 50)
# # print("倒叙打印全部")
# # print("方式1:%s" % a[::-1])
# # print("方式2:%s" % a[23::-1])
# # print('*' * 50)
# # print("打印https://")
# # print(a[0:8])
# # print('*' * 50)
# # print("打印www.douyin,com")
# # print(a[8:22])
# # print('*' * 50)
# # print("倒叙打印douyin")
# # print(a[-6:-12:-1])
# # print(a[17:11:-1])
# # # 反方向打印时注意方向一直
# # print('*' * 50)
# # print("打印hts/wwdui,o/")
# # print(a[::2])
# # 字符串查找:find,rfind,index,rindex
# # find 正向查找字符或者字符串的位置,
# # 如果查找字符串则值为字符串的第一个字符,rfind反向查找,查找不到返回-1,并表示错误
# # index 和find一样 但是index查找不到不会表示错误
# # print("打印www.douyin.com")
# # r1 = a.find('w')
# # r2 = a.rfind('/')
# # print(a[r1:r2])
# # # index 用法同上
# # print('*' * 50)
# # # 计算出现次数count()
# # print("w出现的次数=", end='')
# # print(a.count('w'))
# # 字符串判断startswith,endswith,isalpha,isalnum,isdigit,isspace
# # 字符串判断返回布尔类型
# '''
# startswith():判断是否以()内容为开头
# endswith():判断是否以()内容为结尾
# isalpha():如果所有字符都是字母则返回 True,否则返回 False
# isalnum():如果所有字符都是字母或数字则返回 True,否则返回 False
# isspace():全是空白
# isdigit():判断全数字
# isspace():如果 string 中只包含空格
# '''
# # 字符串替换和分割
# '''
# 字符串替换和分割:split,rsplit,replace,splitlines
# replace:replace(old,new,count)count表示最多换几次
# split:split(分隔符,max) 按分隔符来划分几段,max最多被分割极端;rsplit同理,返回列表
# splitlines:按行划分
# partition() 方法用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
# '''
# # 添加和删除空格
# '''
# name.lstrip() # 去掉开头空格
# name.rstrip() # 去末尾空格
# name.strip() # 去开头末尾空格
# name.ljust(30) # 给30 个位置,把name左对齐剩余全是空格
# name.rjust(30) # 给30 个位置,把name右对齐剩余全是空格
# '''
#
# # 列表
# # 列表模式: 变量名[],[]里面可以是各种数据类型,包括列表
# # append() 方法用于在列表末尾添加新的对象
# # extend:用于在列表末尾一次性追加另一个序列中的多个值
# list1 = []
# list2 = [11, 2, 33, 4, 51, 6, 7, 9]
# list1.append(8)
# list1.append(9)
# list1.append(10)
# print(list1)
# list2.extend(list1)
# print(list2)
# # # 创建0~3列表
# # list3 = list(range(0, 4))
# # print(list3)
# # 列表删除 list.remove(element) , del list[] or del list , pop ,clear 清空
#
# # 列表查找 index list.index(字符)
# # 列表插入 insert(位置,字符)
# list2.insert(list2.index(9), 8)
# print(list2)
# # 排序 sort是列表永久排序,sorted是内置临时排序,reverse=True 是倒叙
# list2.sort(reverse=True)
# print(list2)
# '''
# Python 的元组与列表类似,不同之处在于元组的元素不能修改。
# 元组使用小括号 ( ),列表使用方括号 [ ]。
# 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
# 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用
# '''
# # tup1 = (50)
# # type(tup1)
# # 不加逗号,类型为整型
#
#
# tup1 = (50,)
# type(tup1)
# # 加上逗号,类型为元组
#
# # 创建字典 名字 = {key1: values,key2:values}
# dic = dict()
# # 访问字典
# tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# print("tinydict['Name']=: ", tinydict['Name'])
# print("tinydict['Age']= ", tinydict['Age'])
# tinydict1 = {'abc': 456}
# tinydict2 = {'abc': 123, 98.6: 37}
# print(tinydict1)
# print(tinydict2['abc']) # 打印的时候用[]
#
# # 改值
# tinydict1['abc'] = 123456
# print(tinydict1)
# # 删除键值
# dict1 = {'价格': 99, '物品名': "dada", '出版社': 'adadadadadad'}
# r = dict1.pop('物品名')
# print(r)
# # 返回值为 物品名的值
# # get()函数
# r1 = dict1.get('物品名', '你好,没有这东西奥')
# print(r1)
# '''
# popitem()返回并删除字典中的最后一对键和值
# '''
# dict2 = {'价格': 99, '物品名': "dada", '出版社': 'adadadadadad'}
# r2 = dict2.popitem()
# print(r2)
# # 输出:('出版社', 'adadadadadad')
# tinydict = {'Name': 'Runoob', 'Age': 7, '价格': 99, '物品名': "dada", '出版社': 'adadadadadad'}
# tinydict2 = {'Sex': 'female'}
# dict3 = tinydict.update(tinydict2)
# print("更新字典 tinydict : ", tinydict)
# # 遍历字典
# '''
# 1.items()
# 2.key()
# 3values()
# '''
# # 1
# print('*'*20)
# for key, value in tinydict.items():
# print(key, end='')
# print(value)
# # 2
# print('*'*20)
# for key in tinydict.keys():
# print(key)
# for key in tinydict:
# print(key)
# # 3
# print('*'*20)
# for value in tinydict.values():
# print(value)