目录
注释:
注释分为两种:
注释的作用:
注释的使用原则:
编写一段代码,对比一下有无注释的区别,以冒泡排序为例
1. 无注释版: 感官上是不是有点不清晰?
2. 有注释版: 感官上是不是清晰了很多?
变量以及类型:
变量:
1. 变量的作用
2. 变量的命名规则
3. 变量的赋值
4. 变量的类型
5. 变量的类型转换
示例代码:
变量的命名规则:
变量的赋值:
变量的类型:
变量的类型转换:
类型转换:
数据类型:
分类:
数据类型转换:
作用:
常用的数据类型转换:
代码实现:
注释:
在程序代码中对程序代码进行解释说明的文字。
注释分为两种:
1. 单行注释 快捷键 ctrl + / 表示方式:# 2. 多行注释 选中想要注释的文本 按住shift键不放 连按三次引号键即可 表示方式: 英语形态的三对引号。
注释的作用:
注释不是程序,不能被执行,只是对代码进行解释说明,让别人可以看懂代码的作用,能够大大增强程序的可读性。
注释的使用原则:
1. 注释要简洁明了,不能啰嗦 2. 注释要与代码对应,不能乱写 3. 注释要及时,不能过时 4. 注释要规范,不能随意
编写一段代码,对比一下有无注释的区别,以冒泡排序为例
1. 无注释版: 感官上是不是有点不清晰?
array = [23, 12, 5, 8, 32, 14, 1, 10, 9, 11] # 待排序数组
# 打印array
print("原数组:", array)
# 1. 无注释版: 感官上是不是有点不清晰?
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr) - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
2. 有注释版: 感官上是不是清晰了很多?
# 2. 有注释版: 感官上是不是清晰了很多?
def bubble_sort_with_comment(arr):
"""
1. 冒泡排序
2. 时间复杂度:O(n^2)
3. 空间复杂度:O(1)
"""
# 1. 遍历数组
for i in range(len(arr)):
# 2. 遍历数组中的每一对元素
for j in range(len(arr) - 1 - i):
# 3. 如果前一个元素大于后一个元素,则交换
if arr[j] > arr[j + 1]:
# 4. 交换
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 5. 返回排序后的数组
return arr
打印语句:
# 打印排序后的array
print("无注释版排序后:", bubble_sort(array))
print("有注释版排序后:", bubble_sort_with_comment(array))
打印结果:
变量以及类型:
变量:
1. 变量的作用
- 变量是一个容器,用来存储数据的容器 - 变量的作用是为了方便我们对数据进行存储和管理
2. 变量的命名规则
- 变量名只能由字母、数字、下划线组成 - 变量名不能以数字开头 - 变量名不能使用Python中的关键字 - 变量名是区分大小写的 - 变量名是不能重复的
3. 变量的赋值
- 变量的赋值是通过等号=来实现的 - 变量的赋值是不能省略的
4. 变量的类型
- 变量的类型是指变量存储的数据类型 - 变量的类型是不可变的,一旦变量被赋值,就不能改变变量的类型
5. 变量的类型转换
- 变量的类型转换是通过内置函数int()、float()、str()来实现的
示例代码:
变量的命名规则:
# 1.变量的命名规则
# 变量名只能由字母、数字、下划线组成
# *num = 10 # 错误
# 变量名不能以数字开头
# 1num = 10 # 错误
# 变量名不能使用Python中的关键字
# if = 10 # 错误 if是python中的关键字
# 变量名是不能重复的
# num1 = 10
# num1 = 20 # 错误 已重新声明上文定义的无用法的 'num1'
# 变量名是区分大小写的
# num2 = 10
# NUM2 = 20 # 不同的变量
变量的赋值:
# 2.变量的赋值
# 变量的赋值是通过等号=来实现的
# 等号左边是变量名 等号右边是变量的值
num3 = 10
# 解释
# num3 是变量名
# 10 是变量的值
# 变量的赋值是不能省略的
num4 = 10
# num5 = # 错误 变量的赋值是不能省略的
变量的类型:
# 3. 变量的类型
# 简单举例
# 1. 整数类型
num_1 = 10
# num_1 = 10.0 # 错误 不能将浮点数赋值给整数类型的变量
# 由此可见, 变量的类型是不可变的,一旦变量被赋值,就不能改变变量的类型
# 2. 浮点数类型
num_2 = 10.0
# 3. 字符串类型
num_3 = "10"
# 4. 布尔类型
flag = True
# 5. 列表类型
list_1 = [1, 2, 3]
# 6. 元组类型
tuple_1 = (1, 2, 3)
# 7. 字典类型
dict_1 = {"name": "张三", "age": 18}
# 8. 集合类型
set_1 = {1, 2, 3}
# 打印变量的类型
# 由此可知,在python中不需要写类型,系统会根据值自动推导出类型
print("num_1的类型是:", type(num_1)) # <class 'int'>
print("num_2的类型是:", type(num_2)) # <class 'float'>
print("num_3的类型是: ", type(num_3)) # <class 'str'>
print("flag的类型是: ", type(flag)) # <class 'bool'>
print("list_1的类型是: ", type(list_1)) # <class 'list'>
print("tuple_1的类型是: ", type(tuple_1)) # <class 'tuple'>
print("dict_1的类型是: ", type(dict_1)) # <class 'dict'>
print("set_1的类型是: ", type(set_1)) # <class 'set'>
变量的类型转换:
# 4. 变量的类型转换 简单举例
# 变量的类型转换是通过内置函数int()、float()、str()来实现的
# 输入两个数相加
num_4 = int(input("请输入第一个数:"))
num_5 = int(input("请输入第二个数:"))
# 打印类型
print("num_4的类型是: ", type(num_4))
print("num_5的类型是: ", type(num_5))
# 打印两个数相加的结果
print("结果: ", num_4 + num_5)
类型转换:
在上面简单的提了一下类型转换,在这详细介绍一下。
说类型转换之前先说一说数据类型(同变量类型)。
数据类型:
分类:
数据类型: 1. 数字类型 - 整数类型:int - 长整型: long - 浮点数类型:float - 复数类型:complex - 布尔类型:bool 2. 非数字类型 - 字符串类型:str - 列表类型:list - 元组类型:tuple - 字典类型:dict - 集合类型:set 3. 特殊类型:None(空类型:NoneType)查看数据类型(变量类型):
可以通过
type()
函数获取变量类型
数据类型转换:
作用:
数据类型转换是将一个数据类型的值转换为另一个数据类型的值的过程。在编程中,由于不同的数据类型具有不同的存储方式、取值范围和操作规则,因此经常需要将一个数据类型的值转换为另一个数据类型,以满足不同的计算或处理需求。
常用的数据类型转换:
数据类型转换: 函数 说明 int(x [,base ]) 将x转换为一个整数 float(x ) 将x转换为一个浮点数 complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s ) 将序列 s 转换为一个元组 list(s ) 将序列 s 转换为一个列表 chr(x ) 将一个整数转换为一个Unicode字符 ord(x ) 将一个字符转换为它的ASCII整数值 hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串 bin(x ) 将一个整数转换为一个二进制字符串
代码实现:
# 1. 数字类型
# 1.1 整数类型
print(type(10)) # class 'int'
# 1.2 长整型
# print(type(10L)) # 在Python 2中,这会输出 <type 'long'>
print(type(10000000000000000000000000000000000000000000000000)) # 在Python 3中,这会输出 <class 'int'>
# 1.3 浮点数类型
print(type(10.0)) # class 'float'
# 1.4 复数类型
print(type(10j)) # class 'complex'
# 1.5 布尔类型
print(type(True)) # class 'bool'
# 2. 非数字类型
# 2.1 字符串类型
print(type('abc')) # class 'str'
# 2.2 列表类型
print(type([1, 2, 3])) # class 'list'
# 2.3 元组类型
print(type((1, 2, 3))) # class 'tuple'
# 2.4 字典类型
print(type({'name': '张三', 'age': 18})) # class 'dict'
# 2.5 集合类型
print(type({1, 2, 3})) # class 'set'
# 3. 特殊类型
# 3.1 None类型
print(type(None)) # class 'NoneType'
# 4. 数据类型转换
# 4.1 整数类型转换
print(int(10.0)) # 10
# 4.2 浮点数类型转换
print(float(10)) # 10.0
# 4.3 复数类型转换
print(complex(10)) # (10+0j) # 实部为10,虚部为0
print(complex(10, 20)) # (10+20j) # 实部为10,虚部为20
# 4.4 字符串类型转换
print(str(10)) # '10'
print(str(10.0)) # '10.0'
print(str(10j)) # '10j'
print(str(True)) # 'True'
print(str([1, 2, 3])) # '[1, 2, 3]'
print(str((1, 2, 3))) # '(1, 2, 3)'
print(str({'name': '张三', 'age': 18})) # "{'name': '张三', 'age': 18}"
print(str({1, 2, 3})) # '{1, 2, 3}'
# 4.5 列表类型转换
print(list('abc')) # ['a', 'b', 'c']
print(list((1, 2, 3))) # [1, 2, 3]
print(list({1, 2, 3})) # [1, 2, 3]
# 4.6 元组类型转换
print(tuple('abc')) # ('a', 'b', 'c')
print(tuple([1, 2, 3])) # (1, 2, 3)
print(tuple({1, 2, 3})) # (1, 2, 3)
# 4.7 字典类型转换
print(dict([('name', '张三'), ('age', 18)])) # {'name': '张三', 'age': 18}
print(dict({'name': '张三', 'age': 18})) # {'name': '张三', 'age': 18}
# 4.8 集合类型转换
print(set([1, 2, 3])) # {1, 2, 3}
print(set((1, 2, 3))) # {1, 2, 3}
print(set({1, 2, 3})) # {1, 2, 3}
print(set('abc')) # {'c', 'b', 'a'}