Python Basics 🐣

2020-05-05

基本数据类型

Python是一门动态类型的语言,同时也是一门强类型语言(strongly typed)。动态类型指的是你可以将变量名反复绑定到不同类型的 数据上而不会出错。强类型指的是你还是需要遵循类型的运算规则,不能混淆不同类型而让编译器去处理类型转换。

  
  # 动态类型的示例;在静态类型语言中,一旦类型声明,是不可以进行如下的赋值的
  >>> x = 3
  >>> type(x)
  <class 'int'>
  >>> x = "crazyness"
  >>> type(x)
  <class 'str'>

  # 强类型的示例;由于String没有加法这种运算所以报错,不像Javascript中会允许这种操作
  >>> x + 3
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: can only concatenate str (not "int") to str
  
  
Python的基本数据类型都是用类来实现的。
  
  # 查看变量的类型
  >>> type(1)
  <class 'int'>
  >>> type(3.14)
  <class 'float'>
  >>> type("playful cleverness")
  <class 'str'>
  
  

String类型在Python中可以双引号,也可以用单引号。String可以用加号连接,String还有一些其他常用的转换大小写方法。


  >>> firstName = "qian"
  >>> lastName = "bao"
    
  # String的加法
  >>> fullName = firstName + " " + lastName
  >>> fullName
  'qian bao'
  
  # String类型的一些方法
  >>> fullName.title()
  'Qian Bao'
  >>> fullName.upper()
  'QIAN BAO'
  

Python中多行代码可以用斜杠来表述。多行的String可以用三引号来表示。

   
   >>> print("This is a very long \
   ... line of code.")
   This is a very long line of code.
   >>> print("""I have a very verbal
   ... comment""")
   I have a very verbal comment
   

简单的List数据结构

List是Python中经常用到的数据结构。List在Python中方括号定义,List中的元素不需要同类型 取用List元素时也用方括号表示index,注意List的元素都是从0而不是1开始;-1代表的是List中最后一个元素。

   
   # List中既可以存储同类型数据,也可以存储不同类型
   >>> fruits = ['apple', 'pear', 'melon', 'orange']
   >>> print(fruits)
   ['apple', 'pear', 'melon', 'orange']

   # List元素的访问
   >>> fruits[0]
   'apple'
   >>> fruits[-1]
   'orange'
   >>> fruits[1:3]
   ['pear', 'melon']
   

List是可以动态修改的数据结构,也就是说你可以在建立List以后任意添加或者删掉元素。

   
   >>> fruits
   ['apple', 'pear', 'melon', 'orange']

   # 向末尾添加一个元素
   >>> fruits.append('banana')
   >>> fruits
   ['apple', 'pear', 'melon', 'orange', 'banana']
   # 删除一个元素
   >>> del fruits[0]
   >>> fruits
   ['pear', 'melon', 'orange', 'banana']
   
   # 获得(pop)一个元素
   >>> myFruit = fruits.pop()
   >>> myFruit
   'banana'
   
   

List有内建的排序方法可以使用。

   
   >>> fruits
   ['pear', 'melon', 'orange']

   # 暂时排序
   >>> sorted(fruits)
   ['melon', 'orange', 'pear']

   # 修改性排序
   >>> fruits.sort()
   >>> fruits
   ['melon', 'orange', 'pear']