0%

Python-01Prepare

在 Windows 设置环境变量

在环境变量中添加Python目录:
在命令提示框中(cmd) : 输入

1
path=%path%;C:\Python 

按下”Enter”。
注意: C:\Python 是Python的安装目录。
也可以通过以下方式设置:

  • 右键点击”计算机”,然后点击”属性”
  • 然后点击”高级系统设置”
  • 选择”系统变量”窗口下面的”Path”,双击即可!
  • 然后在”Path”行,添加python安装路径即可(我的D:\Python32),所以在后面,添加该路径即 可。
    ps:记住,路径直接用分号”;”隔开!
  • 最后设置成功以后,在cmd命令行,输入命令”python”,就可以有相关显示。

查看Python版本:

1
python -V

Python中文编码(对Python2):

Python 文件中如果未指定编码,在执行过程会出现报错:

1
2
#!/usr/bin/python
print ("你好,世界")

以上程序执行输出结果为:

1
2
3
4
 File "test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2,
but no encoding declared;
see http://www.python.org/peps/pep-0263.html for details

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了
注意:# coding=utf-8 的 = 号两边不要空格。
Python3已无此问题。

在 Windows 下可以不写第一行注释:

1
#!/usr/bin/python3

Python3 基础语法

1)编码:
在这里插入图片描述可以在PyCharm中进行选择。
2)标识符

  • 第一个字符必须是字母表中字母或下划线 _ 。
  • 标识符的其他的部分由字母、数字和下划线组成。
  • 标识符对大小写敏感。
  • 在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。

3)Python保留字
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

1
2
3
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4)注释
Python中单行注释以 # 开头
多行注释可以用多个 # 号,还有 ‘’’ 和 “””:,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python3

# 第一个注释
# 第二个注释

'''
第三注释
第四注释
'''

"""
第五注释
第六注释
"""
print ("Hello, Python!")

5)缩进
python使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。缩进不一致,会导致运行错误。
6)多行语句
Python 可以使用反斜杠()来实现多行语句,在 [], {}, 或 () 中的多行语句,不需要使用反斜杠()
7)字符串

  • python中单引号和双引号使用完全相同。
  • 使用三引号(‘’’或”””)可以指定一个多行字符串。
  • 转义符 ‘'
  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r”this is a line with \n” 则\n会显示,并不是换行。
  • 按字面意义级联字符串,如”this “ “is “ “string”会被自动转换为this is string。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • Python中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    word = '字符串'
    sentence = "这是一个句子。"
    paragraph = """这是一个段落,
    可以由多行组成"""

    #!/usr/bin/python3

    str='Runoob'

    print(str) # 输出字符串
    print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
    print(str[0]) # 输出字符串第一个字符
    print(str[2:5]) # 输出从第三个开始到第五个的字符
    print(str[2:]) # 输出从第三个开始后的所有字符
    print(str * 2) # 输出字符串两次
    print(str + '你好') # 连接字符串

    print('------------------------------')

    print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
    print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
    8)
    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行并不是Python语法的一部分,但空行也是程序代码的一部分。Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。
    9)Print 输出
    print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=””:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    x="a"
    y="b"
    # 换行输出
    print( x )
    print( y )

    print('---------')
    # 不换行输出
    print( x, end=" " )
    print( y, end=" " )
    print()
    10)import 与 from…import
    在 python 用 import 或者 from…import 来导入相应的模块。
    将整个模块(somemodule)导入,格式为: import somemodule
    从某个模块中导入某个函数,格式为: from somemodule import somefunction
    从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
    将某个模块中的全部函数导入,格式为: from somemodule import *
    11)
    当字符串内容为浮点型要转换为整型时,无法直接用 int() 转换:
    1
    2
    a='2.1'  # 这是一个字符串
    print(int(a))
    会报错 “invalid literal for int() “。
    需要把字符串先转化成 float 型再转换成 int 型:
    1
    2
    a='2.1'
    print(int(float(a)))
    输出 2。
    12)Python3 基本数据类型
    Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
    Python允许同时为多个变量赋值。例如:
    1
    a = b = c = 1
    以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
    也可以为多个对象指定多个变量。例如:
    1
    a, b, c = 1, 2, "runoob"
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >>> 5 + 4  # 加法
    9
    >>> 4.3 - 2 # 减法
    2.3
    >>> 3 * 7 # 乘法
    21
    >>> 2 / 4 # 除法,得到一个浮点数
    0.5
    >>> 2 // 4 # 除法,得到一个整数
    0
    >>> 17 % 3 # 取余
    2
    >>> 2 ** 5 # 乘方
    32
    海象运算符:海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。
    1
    2
    if (n := len(a)) > 10:
    print(f"List is too long ({n} elements, expected <= 10)")
    如果不用该运算符,此段代码则要改写为:
    1
    2
    3
    4
    n = len(a)
    if n > 10:
    print(f"List is to long({n} elements, expected <= 10)")

    在Python 3里,只有一种整数类型 int,表示为长整型。
    内置的 type() 函数可以用来查询变量所指的对象类型。
    1
    2
    3
    >>> a, b, c, d = 20, 5.5, True, 4+3j
    >>> print(type(a), type(b), type(c), type(d))
    <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
    此外还可以用 isinstance 来判断:
1
2
3
4
>>> a = 111
>>> isinstance(a, int)
True
>>>

13)列表

1
2
3
4
5
6
7
8
9
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']

print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表

与Python字符串不一样的是,列表中的元素是可以改变的:

1
2
3
4
5
6
7
8
>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = [] # 将对应的元素值设置为 []
>>> a
[9, 2, 6]
1
2
3
4
letters=['c','h','e','c','k','i','o']
print(letters[1:4:2])

['h', 'c']

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

1
2
3
4
5
6
7
8
9
10
11
12
13
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)

print(a - b) # a 和 b 的差集

print(a | b) # a 和 b 的并集

print(a & b) # a 和 b 的交集

print(a ^ b) # a 和 b 中不同时存在的元素

14)字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/python3

dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}


print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
1
2
3
4
5
1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])

15)Python数据类型的转换
在这里插入图片描述
16)位运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
a = 60            # 60 = 0011 1100 
b = 13 # 13 = 0000 1101
c = 0

c = a & b # 12 = 0000 1100
print ("1 - c 的值为:", c)

c = a | b # 61 = 0011 1101
print ("2 - c 的值为:", c)

c = a ^ b # 49 = 0011 0001
print ("3 - c 的值为:", c)

c = ~a # -61 = 1100 0011
print ("4 - c 的值为:", c)

c = a << 2 # 240 = 1111 0000
print ("5 - c 的值为:", c)

c = a >> 2 # 15 = 0000 1111
print ("6 - c 的值为:", c)

以上计算结果分别为:

1
2
3
4
5
6
1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15

17)Python字符串格式化
Python 支持格式化字符串的输出 。最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

1
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))