Python教程

1.Python简介

本文主要是介绍1.Python简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.1 数字

  • 运算符:+、-、*、/的用法和大部分语言一样(比如:C语言);括号()用来分组。

    >>> 2 + 2
    4
    >>> 100 - 3*5
    85
    >>> (133 - 13*3)/4
    23.5
    >>> 
    
  • 整数(比如:1,3,5,6)的类型是 int,有小数部分的(比如:1.1,1.5)的类型是 float

    除法运算(/)永远返回浮点数类型。如果要得到一个整数结果(忽略小数部分)可以使用(//)运算符;如果要计算余数,可以使用(%)。

    >>> 17/3
    5.666666666666667
    >>> 17//3
    5
    >>> 17%3
    2
    >>> 
    
  • 在Python中,可以使用(**)运算符计算乘方

    >>> 2**4
    16
    >>> 3**3
    27
    >>> 
    
  • 等号(=)用于给一个变量赋值。

    >>> height = 180
    >>> weight = 70
    >>> height*weight
    12600
    >>> 
    
  • 如果一个变量未定义(未赋值),会报错。

    >>> high
    Traceback (most recent call last):
      File "<pyshell#15>", line 1, in <module>
        high
    NameError: name 'high' is not defined
    
  • Python中提供浮点数的完整,包含多种混合类型运算符的运算会把整数转换为浮点数

    >>> 4 * 2.2 - 1
    7.800000000000001
    >>> 
    
  • 在交互模式下,上一次打印出来的表达式被赋值给变量(_)。这意味着当你把Python用作桌面计算器时,继续计算会相对简单。

    >>> a = 12.5 / 100
    >>> b = 100.20
    >>> a * b
    12.525
    >>> b + _
    112.72500000000001
    >>> round(_,2)
    112.73
    >>> 
    

    这个变量因该被使用者当作只读类型。不要向它显示地赋值 -- 你会创建一个和它名字相同独立的本地变量,会屏蔽内部变量。

    除了(int)和(float),Python也支持其他类型的数字,例如(Decimal)或(Fraction)。Python也可以表示复数,用后缀 j 或 J 可以表示虚数部分(例如 3+5j)。

1.2 字符串

  • Python字符串有多种形式,可以使用单引号(' '),双引号(" "),反斜杠(\)可以用来转义。

    >>> 'hello world'
    'hello world'
    >>> 'dosen\'t'
    "dosen't"
    >>> 'you "too"'
    'you "too"'
    >>> 'you\"is a pig'
    'you"is a pig'
    >>> 
    
  • print( )函数会生成可读性更强的输出,可以省区两边的引号,并打印出经过转义的特殊字符。

    >>> 'hello world'
    'hello world'
    >>> 'dosen\'t'
    "dosen't"
    >>> 'you "too"'
    'you "too"'
    >>> 'you\"is a pig'
    'you"is a pig'
    >>> print('hello world')
    hello world
    >>> print('dosen\'t')
    dosen't
    >>> print('you \"is\" a pig')
    you "is" a pig
    >>> s = "Hello World"
    >>> print(s)
    Hello World
    >>> 
    
  • 如果你不想前置(\)的字符转义称特殊字符,可以使用原始字符串方式,在引号前添加(r)即可。

    >>> print('C:\some\ame')
    C:\some
    me
    >>> print(r'C:\some\ame')
    C:\some\ame
    
  • 字符串面值可以跨行连续输入。一种方式是用三重引号:""" """ 或''' '''。字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个(\)即可。

    >>> print("""
    	You are a pig
    	-fns
    	-fff
    	""")
    
    	You are a pig
    	-fns
    	-fff
    	
    >>> 
    
  • 字符串可以用(+)进行连接(粘到一起),也可以用(*)进行重复。

    >>> 3*'hello world'
    'hello worldhello worldhello world'
    
  • 相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起。

    >>> 'hello' 'world'
    'helloworld'
    
  • 把很长的字符串拆开分别输入的时候有用

    >>> txt = ('you are a pig'
    	   'Do you know')
    >>> txt
    'you are a pigDo you know'
    
  • 只能对两个字面值这样操作,变量或表达式不行。

    >>> a = 'py'
    >>> a 'thon'
    SyntaxError: invalid syntax
    
  • 如果你想连接变量,或者连接变量和字面值,可以用(+)号。

    >>> a = 'py'
    >>> a + 'thon'
    'python'
    
  • 字符串是可以被索引(下标访问)的,第一个字符的索引为0。

    >>> word = 'python'
    >>> word[0]
    'p'
    >>> word[3]
    'h'
    
  • 索引也可以是负数,这样会从右边开始数

    >>> word[-1]
    'n'
    >>> word[-3]
    'h'
    
  • 0和-0是一样的,所以负数索引从-1开始。

    除了索引,字符串还支持切片,索引可以得到单个字符,而且切片可以获取子字符串。

    >>> word[0:2]
    'py'
    >>> word[2:4]
    'th'
    
  • 注意切片的开始总是被包含在结果中,结束不被包含。(左闭右开)

    >>> word[:2]+word[2:]
    'python'
    >>> word[:3]+word[3:]
    'python'
    
  • 切片的索引有默认值,省略开始索引时默认为0,省略结束索引时默认为字符串结束。

    >>> word[:2]
    'py'
    >>> word[2:]
    'thon'
    >>> word[-3:]
    'hon'
    
  • 也可以理解为:将索引视作指向字符之间,第一个字符的左侧标为0,最后一个字符的右侧标为n,其中n是字符串长度。(使用过大的索引会产生错误)

  • 但是,切片中的越界索引会被自动处理

    >>> word[2:11]
    'thon'
    >>> word[11:]
    ''
    
  • Python中的字符串不能被修改,它们是immutable的。因此,向字符串的某个索引位置幅值会产生错误。

    >>> word[0] = 'a'
    Traceback (most recent call last):
      File "<pyshell#42>", line 1, in <module>
        word[0] = 'a'
    TypeError: 'str' object does not support item assignment
    
  • 如果需要一个不同的字符串,应当新建一个:

    >>> 'a' + word[1:]
    'aython'
    >>> word[:3] + 'a'
    'pyta'
    
  • 内置函数len()返回一个字符串的长度

    >>> s = 'youarsdfe'
    >>> len(s)
    9
    >>> 
    

    其他的一些操作

  • [文本序列类型 -- str](内置类型 — Python 3.9.6 文档)

    字符串是一种序列类型,支持序列类型的各种操作

  • [字符串的方法](内置类型 — Python 3.9.6 文档)

    字符串支持许多变换和查找的方法

  • [格式化字符串字面值](2. 词法分析 — Python 3.9.6 文档)

    内嵌表达式的字符串字面值

  • [格式字符串语法](2. 词法分析 — Python 3.9.6 文档)

    使用str.format()进行字符串格式化

  • [printf风格的字符串格式化](内置类型 — Python 3.9.6 文档)

    这里详述了使用%运算符进行字符串格式化。

1.3 列表

  • Python可以通过一些值得到多种复合数据结构。列表可以通过方括号括起、逗号分割得到。

    一个列表可以包含不同类型的元素,通常情况下使得各个元素类型相同。

    >>> square = [1,4,5,6,7,8]
    >>> square
    [1, 4, 5, 6, 7, 8]
    
  • 和字符串一样,列表也支持索引和切片。

    >>> square[0]
    1
    >>> square[-1]
    8
    >>> square[-4:]
    [5, 6, 7, 8]
    
  • 所有切片操作都会返回一个包含所请求元素的新列表。(切片操作会返回列表的一个浅拷贝)。

    >>> square[:]
    [1, 4, 5, 6, 7, 8]
    
  • 列表支持拼接操作

    >>> square+[2,4,5,4]
    [1, 4, 5, 6, 7, 8, 2, 4, 5, 4]
    
  • 与immutable的字符串不同(不可变),列表是一个mutable(可变)类型,它自己的内容可变。

    >>> quare = [1,4,6,7,8]
    >>> 4**4
    256
    >>> quare[3]=256
    >>> quare
    [1, 4, 6, 256, 8]
    
  • 可以在列表结尾,通过append()方法添加新元素。

    >>> quare.append(122)
    >>> quare.append(2**3)
    >>> quare
    [1, 4, 6, 256, 8, 122, 8]
    
  • 也可以给切片幅值,甚至可以改变列表大小,或把整个列表清空:

    >>> letter = ['a','f','d','wd']
    >>> letter
    ['a', 'f', 'd', 'wd']
    >>> letter[2:5]
    ['d', 'wd']
    >>> letter
    ['a', 'f', 'd', 'wd']
    >>> letter[2:5]
    ['d', 'wd']
    >>> letter[1:3] = []
    >>> letter
    ['a', 'wd']
    >>> letter[:]=[]
    >>> letter
    []
    
  • 内置函数len()可以得出列表的长度

    >>> letter=['s','we','ds']
    >>> len(letter)
    3
    
  • 也可以嵌套列表(创建包含其他列表的列表)

    >>> a = ['a','d','d']
    >>> n = [1,2,3]
    >>> x = [a,n]
    >>> x
    [['a', 'd', 'd'], [1, 2, 3]]
    >>> x
    [['a', 'd', 'd'], [1, 2, 3]]
    >>> x[0]
    ['a', 'd', 'd']
    >>> x[0][1]
    'd'
    >>> x[1][2]
    3
    
这篇关于1.Python简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!