zoukankan      html  css  js  c++  java
  • 我的Python入门笔记(3)

    一章:Python基础语法(下)


    Explicit is better than implicit. ——The Zen of Python


    一、变量

    1.1 理解Python中的变量

      在Python中,变量严格意义上应该被称为“名字”,也可以理解为标签。当把一个值赋值给一个名字时(如把“这是Python”赋值给Python),Python就称为变量。

    1.2 变量的定义和使用

      在Python中,不需要先声明变名及其类型,直接赋值即可创建各种类型的变量,但是变量的命名不是任意的,应该遵守以下几条规则:

      >> 变量名必须是一个有效的的标识符

      >> 变量名不能使用Python的关键字

      >> 慎用小写字母l和大写字母O(容易混淆)

      >> 应该选择有意义的单词作为变量名。

      为变量赋值可以通过等号(=)来实现,其语法格式为:

    变量名 = Value;

      例如,创建一个整型变量,并为其赋值为220,可以使用如下的语句:

    number = 220  #创建变量并为其赋值为220

      此外,Python是一种动态类型语言,即就是,变量的类型可以随时变化,例如在Python自带的IDLE中,创建变量myname,并为其赋值为“雨霓同学”,然后输出变量的类型,可以看到该变量为字符串类型,再将变量赋值为1210,并输出改变量的类型,可以看到该变量的类型为整型。示例如下:

     myname = "雨霓同学"
    >>> print(type(myname))
    <class 'str'>
    >>> myname = 1210
    >>> print(type(myname))
    <class 'int'>

      在Python语言中,使用内置函数type( )可以返回变量的类型。

      在Python中,允许多个变量指向同一个值。例如:将两个变量都赋值为1210,再分别应用内置函数id()获取变量的内存地址,得到相同的结果,示例如下:

    >>> no = number = 1210
    >>> id(no)
    2284247074704
    >>> id(number)
    2284247074704

       在Python语言中,使用内置函数id( )可以返回变量所指的内存地址。

      常量:常量就是程序运行过程中,值不能改变的量,比如你的身份证号码,数学运算中的圆周率,这些都是不会改变的,在Python中,并未提供定义常量的保留字,在PEP8规范中规定了常量有大写字母和下划线组成,但是在实际项目中,常量被赋值后,依旧可以被其他代码修改。

    二、变量的数据类型

      在Python中,内存存储的数据可以有很多种类型。如一个人的姓名可以用字符型存储,年龄可以用数值型存储,是否结婚可以用布尔类型存储,这些都是Python中数据类型。Python3中包含6个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典).

    2.1 数字类型(Number):

      整型:整数用来表示整数数值,即没有小数部分的数值。整数类型包含十进制数二进制数八进制数十六进制数.

        十进制数:十进制整数的表现形式都很熟悉,如我们日常生活用的数字。十进制数不能以0作为开头,(0除外).

        二进制数:只有0和1两个基数,进位规则是“逢二进一”,如101(转化为十进制数就是5)

        八进制数:由0~7组成,进位规则是“逢八进一”,并且以0o开头的数字,如0o123(转化为十进制数为83),Py3中,八进制数必须以0o/0O开头.

        十六进制数:由0~9,A~F组成,进位规则为“逢十六进一”,并且以0x/0X开头的数,如0x25(转换为十进制数为37),十六进制数必须以0X或0x开头.

      浮点型:浮点数有整数部分和小数部分组成,主要用于出来包含小数的数。

      复数:Python中的复数与数学中的复数形式完全一致,都是有实部和虚部组成,并使用j或者J表示虚部。

      布尔类型:布尔类型主要用来表示真或假的值。在Python中,标识符(关键字)True 和 False被解释为布尔值,另外在Python中的布尔值可以转化为数值,其中True表示1False表示0.

        Python中的布尔类型的值可以进行数值运算,但是不建议对布尔类型的数值进行数值运算,此外在Python中,所有的对象都可以进行真值测试.其中只有 下面几种情况得到的值为假,其他对象在if或while语句中都表现为真。

        >> False 或None

        >> 数值中的零,包括0 、0.0 、虚数0。

        >> 空序列,包含字符串,空元组,空列表,空字典。

        >> 自定义对象的实例,该对象的__bool__返回False,或者__len__方法返回0。

    2.2 字符串类型(String)

      字符串就是连续的字符,在Python中字符串属于不可变序列,通常使用单引号“ ‘ ’  ”,双引号“ “ ” ”,或折三引号“ '''  ''' ”或“ """  """ ”表示,三种引号在语义上并无太大差别,只是在形式上有些差别,单引号和双引号的字符必须在一行上,而三引号内的字符序列可以分布在连续的多行上.

    2.3 列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)

      列表和元组可以当做普通的“数组”,它们可以保存任意数量的的任意类型的值,而这些值简称为元素。列表中的元素使用中括号 [ ]包含,元素的个数和值是可以任意修改的,而元组中的元素使用小括号( )包含,元素不可被修改。示例如下:

    list_name = [1,2,'你好 雨霓同学'] #这是一个列表
    tuple_name = (1,2,'你好 雨霓同学') #这是一个元组
    a,b= type(list_name),type(tuple_name) # 查看类型
    print(a,b)
    
    <class 'list'> <class 'tuple'>

      集合:集合(set)是0个或多个对象引用的无序组合,在集合中任何元素都没有重复,示例如下:

    >>> nullset=set() #没有参数,set会创建一个空集
    >>> nullset
    set()
    >>> a_set=set('abcdef') #提供一个str作为输入集合会创建一个set
    >>> a_set
    {'e', 'a', 'c', 'd', 'b', 'f'}

      字典:字典是Python中的映射数据类型,由键-值对组成。字典可以存储不同类型的元素,元素使用花括号来包含。示例如下:  

    > dice_name = {'name':'雨霓同学','age':22} #这是一个字典
    >>> type(dice_name)
    <class 'dict'>

    2.4 常用数据类型转换

      Python是动态类型的语言(也称弱类型语言,虽然不需要声明变量的类型,但有时仍需要用到类型转换)在Python中,提供了如下所示的函数,可以进行各个数据类型之间的转换

      float(x):    将x转换为浮点数类型
      complex(real,[,imag]): 创建一个复数
      str(x):      将x转换为字符串

    In [1]: x = 3.1415926 #输入一个浮点数x
    In [2]: x1 = int(x)    # 将x转化为整型数  int(x):将x转换成整数类型
    
    In [3]: type(x1)  #查看x1的数值类型
    Out[3]: int
    
    In [4]: x2 = float(x1)  将x1转化为浮点数
    
    In [5]: type(x2)  #查看x2的数值类型
    Out[5]: float
    
    In [6]: x3=complex(220,284)  #生成一个复数
    
    In [7]: x3
    Out[7]: (220+284j)
    
    In [8]: x4=str(x)  #将x转化为字符串类型
    
    In [9]: type(x4)
    Out[9]:str

      repr( )函数 将对象转化为供解释器读取的形式,即转化为表达式字符串.

        语法:repr(object)

        参数:object--对象

        返回值:返回一个对象的string格式.

    >>> name = "雨霓同学"
    >>> repr(name)
    "'雨霓同学'"
    >>> dict = {'name':'雨霓同学','age':'22'}
    >>> repr(dict)
    "{'name': '雨霓同学', 'age': '22'}"

      eval()函数 用来执行一个字符串表达式,并返回表达式的值。

        语法:eval ( expression [ , globals [ , locals ] ] )

        参数:expression--表达式.

             globals--变量的作用域,全局命名空间,如果被提供,则必须是一个字典对象.

             locals--变量的作用域,局部命名空间,如果被提供,可以是任何映射对象.

        返回值:返回表达式的计算结果.

    >>> x = 220
    >>> eval('3*x')  #计算字符串中Python表达式,并返回计算结果
    660
    
    >>> a = '284'  #eval 方法能使字符串本身的引号去掉,保留字符的原本属性
    >>> type(a)
    <class 'str'>
    >>> b=eval(a)
    >>> type(b)
    <class 'int'>

      chr(x):      用一个整数作为参数,返回当前整数对应的ASCII码,其中x可以是十进制数也可以是十六进制数.数字范围为0-1,114,111.

    >>> a,b,c=chr(97),chr(8364),chr(0x30)
    >>> a,b,c
    ('a', '', '0')

      ord(x):        将一个字符x转化为它对应的整数值,它是函数chr()匹配函数,以一个字符串作为参数,返回对应的ASCII数值,返回值是对应的十进制整数。

    >>> a,b=ord('a'),ord('')
    >>> a,b
    (97, 8364)

      int(x):   用于将一个字符串或数字转化为整型,

           语法格式:int(x,base=10) 

             参数:x--字符串或者数字,base--进制数,默认十进制。(第一个是要进行转化的数字,第二个用来说明前面一个数字是什么进制)

    #分别把16进制的12转化为10进制,16进制的'0xa'转化为10进制,八进制的10转化为10进制,2进制的10转化为10进制
    >>> a,b,c,d = int('12',16),int('0xa',16),int('10',8),int('10',2)
    >>> a,b,c,d
    (18, 10, 8, 2)

      bin(x):        将一个整数x转化为一个二进制的字符串

      oct(x):        将一个整数x转化为一个八进制的字符串

      hex(x):       将一个整数x转化为一个十六制的字符串

    #分别将10进制的220转化为2进制,284转化为8进制,1210转化为16进制
    >>> a,b,c=bin(220),oct(284),hex(1210)
    >>> a,b,c
    ('0b11011100', '0o434', '0x4ba')

       注意:在进行数据类型转换时,如果把一个非数字字符串转化为整型,则会报错,具体信息如下:

    >>> int('22岁')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '22岁'
  • 相关阅读:
    题解报告:hdu1995汉诺塔V(递推dp)
    黑色CSS3立体动画菜单
    jQuery计算器插件
    CSS3动画库animate.css
    缩略图悬浮效果的jQuery焦点图
    CSS伪元素实现的3D按钮
    CSS3 3D旋转按钮对话框
    jQuery仿Android锁屏图案应用
    jQuery横向图片手风琴
    jQuery滑动杆打分插件
  • 原文地址:https://www.cnblogs.com/1210x1184/p/10970750.html
Copyright © 2011-2022 走看看