# 创建时间:2023/6/9
# 创建目的:python基础总结
# coding: utf-8
print("hello\tworld") # \t一个制表位:四个字符位
print("helloo\tooworld")
print("hello\rworld") # 结果:world 原因:\r位回车符:表示回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖(光标在该行的头部)
# \r\n:表示换行,换到当前位置的下一行(光标在下一行的头部)
print("hello\bworld") # hellworld \b是退一格,将o退没了
print("http:\\\\www.baidu.com")
print("老师说:\"大家好\"")
"""
在Python中/表示浮点整除法,返回浮点结果,也就是结果为浮点数;
而//在Python中表示整数除法,返回大于结果的一个最大的整数,意思就是除法结果向下取整。
eg:3/2=1.5
3//2=1
也就是说/的时候是取浮点数,是可以有小数点的,而//的时候,是取整数,并且这个正数不能大于原结果。
/和\的区别:
/叫斜杠,\叫反斜杠
为了兼容Windows和Linux操作系统,就是跨平台,python中支持使用\和/进行路径的表示,甚至是混合使用两种斜杠都是没有问题。
但是有一个问题就是,在python或者其它语言中,反斜杠\具有转义的作用。如果在路径中出现了转义符,python会默认这就是一个转义字符。
总结:
python中/可以表示除号,也可以用来表示路径
//表示整除,并向下取整
\用来表示路径,或者在python中表示转义
\\表示路径
"""
# 原字符 ,不希望字符串中的转义字符起作用,即在字符串之前加上r,或R
print(r"hello\rworld")
# 注意事项:最后一个字符不能是反斜杠
# print(r"hello\rworld\")
print(chr(20056)) # 乘
print(chr(0b100111001011000)) # 乘
# python保留字
import keyword
print(keyword.kwlist)
"""
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',
'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
"""
# python中标识符命名规则
"""
变量、函数、类、模块、和其他对象的起的名字就叫标识符
规则:
.字母、数字、下划线组成
.不能以数字开头
.不能是保留字
.严格区分大小写
"""
# 变量:内存中一个带标签的盒子
"""
变量由三部分组成:
.标识:表示对象所存储的内存地址,使用内置函数id()来获取
.类型:表示的是对象的数据类型,使用内置函数type()来获取
.值(value):表示对象所存储的具体数据,使用print()可以将值打印输出
"""
name = "亦向枫" # 多次赋值之后前者成为内存垃圾,被python的内存回收机制回收
print("标识:", id(name))
print(("类型:", type(name)))
# print(name)
# 当多次赋值之后,变量名会指向新的空间
name = "亦宸"
print(name)
# 数据类型
"""
整数类型:int 100
浮点数类型:float 3.1415926(浮点数存储不精确性:使用浮点数进行计算时,可能会出现小数位数不确定的情况)
布尔类型:bool Ture/Flase
字符串类型(不可变的数据类型) str “亦向枫” “人生苦短,我用python”
单引号和双引号定义的字符串必须在一行 三引号的字符串可以分布在连续的多行
"""
# 解决浮点数计算出现小数位数不确定的情况的解决方案:导入模块decimal
a = 1.1
b = 2.2
print(a + b) # 3.3000000000000003
from decimal import Decimal
print(Decimal("1.1") + Decimal("2.2")) # 3.3
"""
类型转换:
int()将其他类型的变量转换为整型
float()将其他类型的变量转换为浮点型
str()将其他类型的变量转换为字符串类型
"""
"""
input()
作用:接收来自用户的输入
返回值类型:输出的值类型为str
值的存储:使用=对输入的值进行存储
"""
# name = input("请输入名字:")
# print(name)
# print(type(name))
# 从键盘输入两个整数,计算两整数之和
# a = int(input("请输入第一个数:"))
# b = int(input("请输入第二个数:"))
# print(a + b)
"""
算术运算符 :
.标准运算符:加(+) 减(-) 乘(*) 除(/) 整除(//):一正一负向下取整
.取余运算符:% 一正一负遵循公式:余数 = 被除数 - 除数*整除商
.幂运算符:**
"""
print(-9 / 4) # 一正一负向下取整
print(9 // -4) # 一正一负向下取整
print(9 % -4) # 一正一负遵循公式:余数 = 被除数 - 除数*整除商: 9-(-4)*-3
print(-9 % 4) # 一正一负遵循公式:余数 = 被除数 - 除数*整除商:-9-4*(-3)
# 赋值运算符:执行顺序:从右往左
a += 10 # 相当于: a = a + 10
"""
比较运算符:
.比较运算符的结果为布尔类型
.> < = <= >= !=
.== 对象值(value)的比较
.is is not 对象的标识(id)的比较
"""
list1 = [11, 22, 33, 44]
list2 = [11, 22, 33, 44]
print(list1 == list2) # TUre
print(list1 is list2) # Flase
'''
布尔运算符:
.and:当两个运算数都为True时,运算结果才为True
.or:只要有一个运算数为True,运算结果就为True
.not:运算数为True,运算结果为False;运算数为False,运算结果为True
.in; not in:判断在与不在
'''
"""
位运算符:(了解一下)
.位与&:对应数位都是1,结果数位才是1,否则为0
.位或|:对应数位都是0,结果才为0,否则为1
.左移位运算符<<:高位溢出舍弃,低位补0(相当于除2)
.右移位运算符>>:低位溢出舍弃,高位补0(相当于乘2)
"""
"""
运算符的比较:
先幂运算再标准运算符中的乘,除,整除和取余运算然后再加减
接下来就是左/右位运算符再与(&)再或(|)接着是比较运算符
然后是布尔运算符的and后面是or接着是 =
"""