Python 第二章 变量和简单的数据类型

第二章 变量和简单的数据类型2.1 注释单行注释:Python中单行注释以’#'开头。#!/usr/bin/python3 #coding=utf-8 # 这是一个注释 print("Hello, World")多行注释:多行注释用三个单引号(’’’)或者三个双引号("&amp
摘要由CSDN通过智能技术生成

第二章 变量和简单的数据类型

2.1 注释

  • 单行注释:
    Python中单行注释以’#'开头。
    #!/usr/bin/python3 #coding=utf-8 # 这是一个注释 
    print("Hello, World")
    
  • 多行注释:
    多行注释用三个单引号(’’’)或者三个双引号(""")将注释括起来。
    #!/usr/bin/python3 #coding=utf-8
     ''' 
    这是多行注释,用三个单引号 
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号
     ''' 
    print("Hello, World!")
    ``
    ```python
    #!/usr/bin/python3 #coding=utf-8 
    """ 
    这是多行注释,用三个双引号 
    这是多行注释,用三个双引号 
    这是多行注释,用三个双引号 
    """ 
    print("Hello, World!")
    
    在Pycharm中注释的快捷键:command + /

2.2 变量的命名和使用

  • 命名规则

    • 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头。
    • 变量名不能包含空格,但可以使用下划线来分隔其中的单词。例如: get_message。
    • 不要将Python关键字和函数名当做变量名。
    • 类名:首字母大写,单词直接连接在一起。如:ConfigUtil 。
    • 全局变量名:大写字母,单词之间用_分割 。如:COLOR_WRITE 。
    • 普通变量:小写字母,单词之间用_分割。
    • 普通函数:与普通变量一样,小写字母,单词之间用_分割。
    • 模块名:全小写字母,不适用下划线。
  • 驼峰命名法

    • 小驼峰命名:第一个单词以小写字母开头,其余单词首字母大写 , 如:theFirstName。
    • 大驼峰命名:所有单词首字母均大写 , 如:TheFirstName。

2.3 字符串

  1. 在Python 中,用引号括起来的都是字符串,其中引号可以为单引号,也可以为双引号。
    如果想表示出Let‘s go:

    • 可以使用嵌套引号,即外层使用双引号

    • 转义字符

  2. 使用方法修改字符串的大小写

    • .litle( ) 以首字母大写的方式显示每个字符。
    • .upper( ) 以大写字母方式显示每个字符。
    • .lower( ) 以小写字母方式显示每个字符。
  3. 字符串的拼接

    • Python 使用加号(+)来合并字符串。
      first_name = 'zhao'
      last_name = 'zihao'
      full_name = first_name + last_name
      
  4. 使用制表符或换行符来添加空白

    • 制表符 \t
    • 换行符 \n
    • 同一字符串中同时包含制表符和换行符 \t\n
  5. 删除空白

    • 删除字符串末尾的空白,使用方法rstrip( )。
    • 删除字符串开头的空白,使用方法lstrip( )。
    • 删除字符串两端的空白,使用方法strip()。
  6. .split()方法

    • .split( ) 默认情况下.split( )方法将字符串按照空白字符分割,并返回一个字符串列表。
      a = 'i love you'
      b = a.split()
      print(b)
      >>>['i', 'love', 'you']
      
    • 也可以使用自定义字符对字符串进行分割。
      a = '1,2,2,3,4,5,6'
      b = a.split(',')
      print(b)
      >>>['1', '2', '2', '3', '4', '5', '6']
      
    • 还可以指定分割次数
      a = '1,2,2,3,4,5,6'
      b = a.split(',',3)
      print(b)
      >>>['1', '2', '2', '3,4, 5, 6']
      
    • 还支持.rsplit()方法,从字符串结尾开始分割。
  7. 查看变量的数据类型

    • 变量的数据类型可以使用函数type()来得到。
      a=123
      b=1.23
      c='i love you'
      d=[1,2,3,4]
      e={'name':'xiaoming'}
      f=(1,2,3,4)
      lists = [a,b,c,d,e,f]
      
      for i in lists:
          print(type(i))
      
      <class 'int'>
      <class 'float'>
      <class 'str'>
      <class 'list'>
      <class 'dict'>
      <class 'tuple'>
      

2.4 数字

  1. 在python中,可对整数执行加、减、乘、除。

  2. 数字类型主要包括五种:整形(int)、浮点型(float)、布尔型(bool)、复数型(complex)。

3.整数的其他表示方式:二进制、十进制、十六进制、科学计数法(2e10)。

  1. 运算符号及其优先级

    • (),括号
    • **,幂运算
    • *、/、//、%,乘、除、整数除法、取余。
    • +、-,加、减。
    • 不同优先级的组合按照优先级次序计算,同一优先级按照先后次序计算。
  2. 使用函数 str ( ) 避免类型错误。

    TypeError: must be str, not int

    类型错误。在字符串中使用数字时,需要显示地指出你希望Python 将这个数字作为字符串。可以使用 str ( )函数,将非字符串值表示为字符串。

    first_name = 'zhao'
    last_name = 'zihao'
    age = 23
    full_name = first_name + last_name + ' ' +str(age)
    
  3. Python 2中的整数
    在Python 2中,将两个整数相除得到的结果稍有不同。

    print(3/2)
    

    Python返回结果为 1 ,而不是1.5 。
    在Python 2 中 ,整数除法的结果只包含整数部分,小数部分被删除,并不是四舍五入。
    在Python 2 中若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数。

2.5 列表

  1. 列表简介

    • 列表能够在一个地方存储成组的信息,列表由一些列按特定顺序排列的元素组成。
    • 鉴于列表通常包含多个元素,给列表指定一个表示复数的名称,例如:names。
    • 在Python中,使用方括号( [ ] )来表示列表,并用逗号分隔其中的元素。
      bicycles = ['trek', 'cannondale', 'redline', 'specialized']  
      
  2. 访问列表中的元素

    • 通过索引访问列表元素
      bicycles = ['trek', 'cannondale', 'redline', 'specialized']  
      print(bicycles[0])
      print(bicycles[-1])
      
      1. 索引从0开始而不是从1开始。
      2. Python为访问最后一个列表元素提供了一种特殊的方法。将最后一个元素索引指定为-1。
      3. 如果索引大于元素个数,就会出现索引错误,即:
        IndexError: list index out of range
        
      4. 仅当列表为空的时,bicycles[-1]才会导致错误。
  3. 修改、添加和删除元素

    • 修改元素
      要修改列表元素,可指定列表名和要修改的元素的索引。

      bicycles = ['trek', 'cannondale', 'redline', 'specialized']
      bicycles[0] =  'love'
      
    • 在列表中添加元素

      1. 在列表末尾添加元素,使用方法append(‘STR’)
        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        bicycles.append( 'favorite' )
        
      2. 你可以先创建一个空的列表,再使用方法append(‘STR’)添加元素。
        bicycles = []
        bicycles.append( 'favorite' )
        bicycles.append( 'cannondale' )
        bicycles.append( 'redline' )
        
      3. 在列表中插入数据,使用方法insert()。
        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        bicycles.insert ( 0'love' )
        bicycles.insert ( 索引 ,数据 )
        
    • 从列表中删除元素

      1. 使用del语句删除元素
        如果知道要删除的元素在列表中的位置,可以使用del语句。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        del bicycles [0] 
        
      2. 删除列表中末尾的元素,并接着使用它的值,可使用方法pop( )。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        shanchu = bicycle.pop( )
        
      3. 弹出列表中任意位置处的元素,可以使用方法pop( ),并制定要删除元素的索引即可。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        shanchu = bicycle.pop(3)
        
      4. 根据值删除元素,可以使用remov()方法。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        bicycle.remove('trek') 
        

        注意:remov()方法只删除第一个指定的值,如果要删除多个重复的值,就需要使用循环来判断是否删除了所有这样的值。

      5. 如果从列表中删除一个元素,且不再以任何方式使用它,就使用del语句。如果要将删除后的元素继续使用,就是用方法pop( )。

    • 组织列表

      1. 使用方法sort() 对列表按照字母升序永久性排序

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        bicycle.sort()
        print(bicycle)
        >>> 'cannondale', 'redline', 'specialized', 'trek'
        
      2. 向方法sort() 传递参数reverse =True即可按照字母顺序降序排序。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        bicycle.sort(reverse =True)
        
      3. 使用函数sorted( )对列表进行临时排序。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        print(bicycle.sorted())
        

        注意:调用函数sorted( )后,列表元素的排列顺序并没有变。

      4. 向方法sorted() 传递参数reverse =True即可按照字母顺序降序排序。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        print(bicycle.sorted(reverse = True))
        
      5. 倒着打印列表,可使用函数reverse() 。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        print(bicycle.reverse())
        

        注意:函数reverse()并不是按照字母相反顺序,而是反转列表元素的排列顺序。

      6. 使用函数len( )确定列表的长度。

        bicycles = ['trek', 'cannondale', 'redline', 'specialized']
        len(bicycle)
        

2.6 操作列表

  1. 使用for循环遍历整个列表

    magicians = ['alice', 'david', 'carolina'] 
    for magician in magicians: 
        print(magician.title() + ", that was a great trick!") 
    

    这行代码让Python从列表magicians中取出一个元素,并将其存储在变量magician中。

  2. 避免缩进错误
    Python根据缩进来判断代码行与前一个代码行的关系。

    for循环格式:

    for iterating_var(单数变量名称) in sequence(复数变量名称):
        statements(s) 注意缩进且第一行代码后冒号不能丢。
    
    • 忘记缩进 (语法错误)

      for dimension in dimensions:
      print(dimension)
      IndentationError: expected an indented block
      
    • 忘记缩进全部代码或者缩进不必要的代码(逻辑错误)
      这是一个逻辑错误,循环能够运行且不会报错,只有缩进的代码行进行了循环。

      for dimension in dimensions:
        print(dimension)
      dimension += 'my_dog' 
      
    • 不必要的缩进

      age = 23
      message = "Happy " + str(age) + "rd Birthday!"
          print(message)
      IndentationError: unexpected indent
      
    • 遗漏了冒号

      for dimension in dimensions
          print(dimension)
      SyntaxError: invalid syntax 语法错误
      
  3. 创建数值列表

    • 使用函数range()

      for value in range(1,6):
        print(value) 
      

      函数range()从指定的一个元素开始,并在到达指定的第二个元素值后停止,因此输出不会包含第二个元素值。即函数循环了M - N( 6 - 1 = 5 ) 次。

    • 使用函数range()创建数字列表

      使用函数list()将range()的结果直接转化为列表。

      numbers = list(range(0,10))  
      
    • 使用函数range()时,还可以指定步长。

      numbers = list(range(0,102))
      print(numbers)
      
      >>>[0, 2, 4, 6, 8]
      
    • 两个星号 ( ** ) 表示乘方运算。

      squares = []
      for value in range(1,11):
          square = value**2
          squares.append(square)
      # 等效 
          squares.append(value**2)
      print(squares)
      
    • 对数字列表执行简单的统计计算。

      even_numbers = [2, 4, 6, 8, 10]
      print(max(even_numbers))
      >>> 10
      print(min(even_numbers))
      >>> 2
      print(sum(even_numbers))
      >>> 30
      
    • 解析列表
      前面介绍生成列表平方方式包含多行代码,而解析列表只需要编写一行代码。
      解析列表将for循环和创建新元素的代码合并成一行,并且自动附加新元素。

      new_list = [value**2 for value in range(1,5)]
      
      1. 首先指定一个描述性的列表名,如:new_list 。
      2. 指定一个左括号并定义一个表达式,用于生成你要存储到列表中的值。如:value**2。
      3. 编写一个for循环,用于给表达式提供值,再加上一个右括号。注意,这里的for语句末尾是没有冒号的。
  4. 使用列表一部分

    • 切片
      要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range() 一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0 、1 和2 的元素。

      players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
      print(players[0:3])
      

      如果没有指定第一个索引,Python将自动从列表开头开始:

      players = ['charles', 'martina', 'michael', 'florence', 'eli']
      print(players[:4])
      

      要让切片终止于列表末尾,也可使用类似的语法。

      players = ['charles', 'martina', 'michael', 'florence', 'eli']
      print(players[1:])
      

      要输出最后三个元素,可使用切片players[-3:] :

      players = ['charles', 'martina', 'michael', 'florence', 'eli']
      print(players[-3:])
      
    • 遍历切片
      要遍历列表的部分元素,可在for 循环中使用切片。

      players = ['charles', 'martina', 'michael', 'florence', 'eli']
      print("Here are the first three players on my team:") 
      for player in players[:3]:
        print(player.title())
      
    • 复制列表
      要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )
      两个列表变量指向不同内存地址。

      my_foods = ['pizza', 'falafel', 'carrot cake'] 
      friend_foods = my_foods[]
      

      倘若我们只是简单地将 列表一 赋给 列表二 ,就不能得到两个列表。例

      friend_foods = my_foods 
      

      两个列表指向同一个内存地址。

2.7 元组

列表是可以修改的,表非常适合用于存储在程序运行期间可能变化的数据集。

Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组 。

  1. 定义元组

    元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素。

    dimensions = (200, 50)
    print(dimensions[0])
    print(dimensions[1])
    

    尝试更改元组dimensions中的一个元素:

    dimensions = (200, 50)
    dimensions[0] = 250
    
    Traceback (most recent call last):
    File "dimensions.py", line 3, in <module>
    dimensions[0] = 250
    TypeError: 'tuple' object does not support item assignment
    
  2. 遍历元组中的所有值

    像列表一样,也可以使用for 循环来遍历元组中的所有值:

     dimensions = (200, 50)
     for dimension in dimensions:
     	print(dimension) 
    
  3. 修改元组的变量
    虽然不能修改元组的元素,但可以给存储元组的变量赋值,即为给元组变量赋值是合法的:

    dimensions = (200, 50)
    dimensions = (400, 100)
    for dimension in dimensions:
       print(dimension)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值