基本数据类型
int(整型)
在Python中,定义变量不用指定类型,int型也被叫整数。其在Python中不受长度限制。
float(浮点型)
浮点型就是数学中的小数类型,float(2)可将2转换成浮点型,这属于显式转换,除此之外还可以通过/(除以运算符)得到浮点型的结果,比如1/2的结果就是0.5。
str(字符串)
与前面不同,字符串是不可变的序列类型。创建字符串可以用引号创建。单引号和双引号创建字符串输出在pycharm没有区别。还可以用三引号去创建长字符串,如果该字符串不赋值,那就是多行注释。字符串可以+运算将字符串连起来输出,但不可以通过这种运算合并成一个字符串。下面就是字符串格式化的三种方式。
s1 = 'hello world .'
s2 = "hello world ."
s3 = """hello world .
hello world ."""
"""
三引号字符串不赋值就是注释
"""
print(s3)
print(s2)
print(s1)
print('hello' + "world" + ' ' + s1 + str(11))
blog.csdnimg.cn/37dfe6013ff6449c9c968d81ff915ba6.png)
format函数
利用{}进行占位
s1 = "{} 是一门{}语言,起源于{}年{}"
args1 = ("Python", "动态解释型", 1989, '圣诞节期间')
print(s1.format(args1[0], args1[1], args1[2], args1[3]))
print('{a:.1f}'.format(a=1234.56)) # 保留一位小数且四舍五入
print('{a:>6d}'.format(a=1234)) # 宽度为6右对齐
print('{a:<6d}'.format(a=1234)) # 宽度为6左对齐
%s
%被称为格式化操作符,专门处理字符串中的格式。包含%的字符串,被称为格式化字符串。%与不同字符连用,不同的数据类型需要不同的格式化字符。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sqcm21Ss-1659273205996)(./images/1659270551861.png)]
s1 = "{} 是一门{}语言,起源于{}年{}"
s2 = s1.replace('{}', '%s')# 替换成%s进行占位
args2 = ("Java", "静态编译型", 1991, '')
print(s2 % (args2[0], args2[1], args2[2], args2[3]))
f
f’{}'形式,并不是真正的字符串常量,而是一个运算求值表达式,可以很方便的用于字符串拼接、路径拼接等
args3 = ("C", "静态编译型", '1969年到1973', '期间')
# f"{}" 字符串中嵌入变量,用{}包住
print(f"{args3[0]} 是一门{args3[1]}语言,起源于{args3[2]}年{args3[3]}", end='')
字符串常用方法
查找和替换
text = """
二月二,龙抬头。
<br>
<br> 暮色里,小镇名叫泥瓶巷的僻静地方,有位孤苦伶仃的清瘦少年,此时他正按照习俗,一手持蜡烛,一手持桃枝,照耀房梁、墙壁、木床等处,用桃枝敲敲打打,试图借此驱赶蛇蝎、蜈蚣等,嘴里念念有词,是这座小镇祖祖辈辈传下来的老话:二月二,烛照梁,桃打墙,人间蛇虫无处藏。
<br>
"""
"""请在下方实现代码"""
# 1. 去除 标签
text_1 = text.replace(' ', '')
# print(text_1)
# 2. 去除 <br> 标签
text_2 = text_1.replace('<br>', '')
# print(text_2)
# 3. 将每一行都分割出来(列表)
text_3 = text_2.split()
# print(type(text_3))
# 4. 合并为文章并打印(字符串)
# text_4 = "".join(text_3)
# print(text_4)
text_5 = "\n".join(text_3)
print((text_5))
bool(布尔类型)
True 对 False 错。布尔类型只有两种状态, True or Flase 。数字除了零之外,其余均为 True ,字符串除了空字符串之外都为 True ,对象除了空对象之外,其余均为 True 。默认情况下,所有类型都可以转化为布尔类型。
运算符
for num in range(100, 1000):
a = num % 10 # 对10取余得到个位上的数
b = (num // 10) % 10 # 先整除10得到前两位然后对10取余得到十位
c = num // 100 # 整除100得到百位上的数
num1 = a ** 3 + b ** 3 + c ** 3
if (num1 == num):
print(num, "是水仙花数")
常见报错
SyntaxError: unexpected EOF while parsing
语法错误,多了无法解析的符号,检查一下是否多了或者少了括号
SyntaxError: invalid character in identifier
语法错误有无效标识符,检查一下中文符号
IndexError: list index out of range
索引错误,超出索引范围,检查一下列表是否为空
TypeError: must be str, not int
数据类型错误,该数据不是正确的数据类型,比如字符串和数字直接拼接,检查一下数据类型
IndentationError: expected an indented block
缩进错误,检查一下代码的缩进是否正确
KeyError: 'fond'
键错误,字典中没有该的key对应的值,检查一下键名或者字典数据是否正确
ValueError: substring not found
值错误,输入的数据类型跟要求的不符合
NameError: name 'a' is not defined
未初始化对象,变量没有被定义
AttributeError: 'tuple' object has no attribute 'remove'
属性错误,该对象没有这个属性、方法,检查一下数据类型
SystemExit
解释器请求退出,出现在exit()函数后
IOError
输入/输出操作失败
ImportError
导入模块/对象失败,检查一下模块是否能够正常使用
UnicodeDecodeError/UnicodeEncodeError/UnicodeTranslateError
Unicode 解码/编码/转换/时的错误