Python变量,注释,基本数据类型

什么是变量?

变量,是用于在内存中存放程序数据的容器,怎么理解呢?

计算机的最核心功能就是“计算”, 计算需要数据源,数据源要存在内存里,比如我要把小明的姓名、身高、年龄信息存下来,后面程序会调用,怎么存呢,直接设置一个“变量名=值”, 就可以

  1. name = "小明"
  2. age = 22
  3. height = 160

后面程序想调用的时候,直接调 变量名 就可以

  1. name = "小明"
  2. age = 22
  3. height = 160
  4. print(name)
  5. print(age)

 

变量的使用规则

程序是从上到下执行的,所以变量必须先定义,后调用, 否则会报错

变量名定义规则

 

    1. 变量名只能是 字母、数字或下划线的任意组合

 

    1. 变量名的第一个字符不能是数字

 

    1. 以下关键字不能声明为变量名[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

 

常用定义方式

驼峰体

  1. AgeOfOldboy = 56
  2. NumberOfStudents = 80

下划线

  1. age_of_oldboy = 56
  2. number_of_students = 80

你觉得哪种更清晰,哪种就是官方推荐的,我想你肯定会先第2种

定义变量不好的方式举例

 

    • 变量名为中文、拼音

 

    • 变量名过长

 

    • 变量名词不达意

 

变量的修改

自行看图不解释

常量

常量即指不变的量,如pai 3.141592653…, 或在程序运行过程中不会改变的量

举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

  1. AGE_OF_OLDBOY = 56

 

注释阅读量: 10640
 

随着学习的深入,用不了多久,你就可以写复杂的上千甚至上万行的代码啦,有些代码你花了很久写出来,过了些天再回去看,发现竟然看不懂了,哈哈,这太正常了。 另外,你以后在工作中会发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这样写会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。

代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号“”” “””

下面给大家看一段标准代码的注释,忽略代码意思

  1. def subclass_exception(name, parents, module, attached_to=None):
  2. """
  3. Create exception subclass. Used by ModelBase below.
  4. If 'attached_to' is supplied, the exception will be created in a way that
  5. allows it to be pickled, assuming the returned exception class will be added
  6. as an attribute to the 'attached_to' class.
  7. """
  8. class_dict = {'__module__': module}
  9. if attached_to is not None:
  10. def __reduce__(self):
  11. # Exceptions are special - they've got state that isn't
  12. # in self.__dict__. We assume it is all in self.args.
  13. return (unpickle_inner_exception, (attached_to, name), self.args)
  14. def __setstate__(self, args):
  15. self.args = args
  16. class_dict['__reduce__'] = __reduce__
  17. class_dict['__setstate__'] = __setstate__
  18. return type(name, parents, class_dict)

代码注释原则:


    1. 不用给全部代码加注释,只需要在自己觉得重要或不好理解的部分加注释即可

    1. 注释可以用中文或英文,但绝对不要拼音噢

  1. 注释不光要给自己看,还要给别人看,所以请认真写
基本数据类型阅读量: 16695
 

什么是数据类型?

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型包括多种,今天我们暂只讲4种, 数字、字符串、布尔类型、列表。

 

数字

int(整型)

在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。


注意:在Python3里不再有long类型了,全都是int

  1. >>> a= 2**64
  2. >>> type(a) #type()是查看数据类型的方法
  3. <type 'long'="">
  4. <type 'long'="">>>> b = 2**60
  5. <type 'long'="">>>> type(b)
  6. <type 'long'=""><type 'int'="">

float (浮点型)

即小数

  1. >>> type(2.32)
  2. <class 'float'="">

 

字符串

在Python中,加了引号的字符都被认为是字符串!

  1. >>> name = "Alex Li" #双引号
  2. >>> age = "22" #只要加引号就是字符串
  3. >>> age2 = 22 #int
  4. >>>
  5. >>> msg = '''My name is Alex, I am 22 years old!''' #我擦,3个引号也可以
  6. >>>
  7. >>> hometown = 'ShanDong' #单引号也可以

那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合

  1. msg = "My name is Alex , I'm 22 years old!"

多引号什么作用呢?作用就是多行字符串必须用多引号

  1. msg = '''
  2. 今天我想写首小诗,
  3. 歌颂我的同桌,
  4. 你看他那乌黑的短发,
  5. 好像一只炸毛鸡。
  6. '''
  7. print(msg)

字符串拼接

数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行”相加”和”相乘”运算。

  1. >>> name
  2. 'Alex Li'
  3. >>> age
  4. '22'
  5. >>>
  6. >>> name + age #相加其实就是简单拼接
  7. 'Alex Li22'
  8. >>>
  9. >>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
  10. 'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

  1. >>> type(name),type(age2)
  2. (<type 'str'="">, <type 'int'="">)
  3. <type 'str'=""><type 'int'="">>>>
  4. <type 'str'=""><type 'int'="">>>> name
  5. <type 'str'=""><type 'int'="">'Alex Li'
  6. <type 'str'=""><type 'int'="">>>> age2
  7. <type 'str'=""><type 'int'="">22
  8. <type 'str'=""><type 'int'="">>>> name + age2
  9. <type 'str'=""><type 'int'="">Traceback (most recent call last):
  10. <type 'str'=""><type 'int'=""> File "", line 1, in
  11. <type 'str'=""><type 'int'="">TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接

 

布尔型(bool)

布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

没错,答案就是,用布尔类型

  1. >>> a=3
  2. >>> b=5
  3. >>>
  4. >>> a > b #不成立就是False,即假
  5. False
  6. >>>
  7. >>> a < b #成立就是True, 即真
  8. True

计算机为什么要描述这种条件呢?因为接下来就可以根据条件结果来干不同的事情啦呀!比如

  1. if a > b
  2. print(a is bigger than b )
  3. else
  4. print(a is smaller than b )

上面是伪代码,但是不是意味着, 计算机就可以根据判断结果不同,来执行不同的动作啦?

 

列表(List)

如果要把全班的人名在内存里存下来,用上面的字符串类型可以做到,但取的时候不方便。

  1. names = "Alex,Jack,Rain,Rachel,Mack..."

你print(names)它打印的是所有人的信息,如果想取出Rain,没办法(可以用字符串切割方式,但是很麻烦)。此时,用列表就比较合适。

  1. >>> names = ["Alex","Jack","Rain","Rachel","Mack"]
  2. >>> names[2] #为何names[2]就能取出Rain?
  3. 'Rain'

因为列表的是通过下标来标记元素位置的。 下标从0开始,每添加一个元素,就自动+1




















元素名 Alex Jack Rain Rachel Mack
下标(索引) 0 1 2 3 4

元素添加

元素的添加有2种方式,插入、追加,插入指可以插入到列表的任意位置

插入

  1. >>> names
  2. ['Alex', 'Jack', 'Rain', 'Rachel', 'Mack']
  3. >>> names.insert(3,"小明") #3代表你想插入的位置
  4. >>> names
  5. ['Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack']
  6. >>>

追加

添加到列表的尾部

  1. >>> names
  2. ['Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack']
  3. >>> names.append("小强")
  4. >>> names
  5. ['Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']

修改

直接根据下标找到元素重新赋值即可

  1. >>> names[0] = "金角大王Alex"
  2. >>> names
  3. ['金角大王Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']

删除元素

这个不是通过下标了,是根据元素名子。

  1. >>> names
  2. ['金角大王Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']
  3. >>> names.remove("小明")
  4. >>> names
  5. ['金角大王Alex', 'Jack', 'Rain', 'Rachel', 'Mack', '小强']

上面的命令会删除从左开始找到的第一个小明, 如果有多个小明,则只删除找到的第一个。

判断元素是否在列表里

  1. >>> names
  2. ['金角大王Alex', 'Jack', 'Rain', 'Rachel', 'Mack', '小强']
  3. >>>
  4. >>> "Mack" in names
  5. True
posted @ 2021-03-08 11:11  好吗,好  阅读(107)  评论(0)    收藏  举报