我们在编写代码时需要对代码加些解释、注解,一方面避免自己忘记怎么写的,一方面也方便别人读懂我们的代码,这时候就用到了注释。
注释掉的内容是不会执行的
#
一个井号,用来做单行注释
'''
'''
"""
"""
三个单引号或三个双引号用来注释多行内容。
pycharm里的注释快捷键:CTRL+/ (可选中多行,使用快捷键,实现多行注释/解注释)
使用pycharm编写python代码的好处
pycharm自动保存代码。语法错误pycharm可以自动检查红色波浪线
变量
age=18
上面的代码定义了一个age变量。变量名为age,变量值为18,等号表示赋值。
变量命名规则
1.见名知意
2.变量名的第一个字符不能是数字
3.变量名只能是字母(区分大小写),数字或下划线的组合
形容一个复杂的变量
下划线(下划线连接单词)
age_of_mm = 18
驼峰体(除第一个单词首字符外,其余单词首字母大写)
ageOfMm = 18
变量的ID
id
相当于在内存中的地址
print(id(变量名))
上面代码可以查看变量id
变量类型
type
查看变量的类型
print(type(变量名))
数据类型
字符串(str)
作用:记录描述性质的数据,比如人的名字,性别,家庭地址,公司简介
定义:在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号,双引号,三引号
注意:所有加了引号的数据类型都是字符串类型
数字类型
整形(int)
整形就是整数
作用:记录年龄,等级,QQ号,各种号码
定义:age = 18
浮点型(float)
浮点型就是带小数点的小数
作用:记录身高,体重,薪资...
定义:weight = 102.7
布尔类型(bool)
作用:用来作为判断的条件可用
True 成立/正确
False 不成立/错误
数字0,空字符串,空列表,None...都表示False
非0,非空都表示1
注意:空格不是空。" " 这个不是空 表示True
列表类型(list)
作用:记录多个值,可以方便的取出,改变
定义:在[ ]内用逗号分隔开多个任意数据类型的值
list1 = [4,5,'o','fg']
字典类型(dict)
作用:记录多个key:value值,优势是每一个值value都有与其对应/映射关系key,key对value有描述性的功能
定义:在{ }内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,key通常应该是字符串类型
info = {'name':'jaihray','age':22}
元组(tuple)
用途:记录多个值,多个值没有改(不能增删改)的需求,此时用元组更合适
定义方式:在()内用逗号分隔开多个任意类型的值
tuple1 = (4, 8,9,'er')
集合(set)
1.用途:关系运算
2.定义方式:在{ }内用逗号分开的多个值
1.元素不能重复(定义不能写相同的)
2.集合里面的元素无序
有序与无序
在python中,数据类型可以根据他们是否有序分类。有序指数据结构中元素的排列顺序有特定的意义,通常可以通过索引来访问。
有序数据类型:
1. 列表(List):列表中的元素是有序的,可以通过索引访问每一个元素。
2. 元组(Tuple):元组与列表类似,其元素也是有序的,不能修改。
3. 字符串(String):字符串可以看作是字符的有序集合,每个字符都有一个特定的位置。
4. range对象:range对象代表一个有序的整数序列。
无序数据类型:
1. 集合(Set):集合中的元素是无序的,并且每个元素都是唯一的,不能通过索引来访问。
2. 字典(Dictionary):字典是无序的键值对集合(在Python 3.7及以后的版本中,字典被保证为插入顺序,但这并不改变其作为无序集合的本质,因为键的位置不是通过索引来访问的)。
可变与不可变
在Python中,数据类型可以根据其是否可变分为两大类:
可变数据类型(Mutable):
列表(List):列表是可变的,你可以添加、删除、修改列表中的元素。
字典(Dictionary):字典也是可变的,你可以添加新的键值对、删除已有的键值对或修改键值对。
集合(Set):集合是可变的,你可以添加或删除集合中的元素。
不可变数据类型(Immutable):
整数(Integer):整数类型的值一旦创建就不能更改。
浮点数(Float):浮点数的值一旦创建也是不能更改的。
复数(Complex):复数的值也是不可变的。
字符串(String):字符串是不可变的,这意味着一旦字符串被创建,你不能更改字符串中的某个字符。
元组(Tuple):元组是不可变的,一旦创建,你不能更改元组中的元素。
需要注意的是,对于不可变类型,虽然其值本身不能被修改,但如果变量引用了一个不可变对象,你可以让变量引用另一个对象。例如,你可以给一个字符串变量赋一个新的字符串值,但这是通过让变量指向一个新的字符串对象来实现的,而不是修改原始字符串对象的值。