【Python】基础语法知识

  有些人不属于自己,但是遇见了也弥足珍贵。

前言 

  这是我自己学习Python的第一篇博客总结。后期我会继续把Python学习笔记开源至博客上。 

安装python解释器

下载官网:

Welcome to Python.orghttps://www.python.org/

安装pycharm编辑器

下载官网:
Download PyCharm: The Python IDE for data science and web development by JetBrainshttps://www.jetbrains.com/pycharm/download/?section=windows

Python入门知识 

标识符

1. 标识符的第一个字符必须是字母表中的字母或下划线 _ 。

2. 标识符的其他的部分由字母、数字和下划线组成。

3. 标识符对大小写敏感,即需要区分大小写。

4. 蛇形命名法则:同一个标识符内如果存在多个单词,那么每个单词之间,使用下划线 _ 来进行分割。

num=10
Num=11
print(num)
print(Num)
#10
#11

student_name='Li lei'
student_age=16

保留字 

1. 保留字即关键字,不能把它们用作任何标识符名称。

注释 

1. Python中单行注释以#开头。

2. 多行注释可以用多个#号,或者直接用''' '''和"' '''。

3. 选定多行,Ctrl+/一键注释。

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

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

"""
第五注释
第六注释
"""

#print ("Hello, Python!")
#最后输出 Hello, Python!

行与缩进

1. Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{ }。

2. 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

if True:
    print ("True")
else:
    print ("False")
# 同一个代码块,缩进必须相同

多行语句

1. Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语。 

2. 在[ ]、{ }、或( )中的多行语句,不需要使用反斜杠,可以直接换行。 

total = item_one + \
        item_two + \
        item_three

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

print()输出 

1. 如果print()里面是算术表达式,那么编译器会直接帮你直接算出来,并且给出计算结果。

2. 在Python中,小数会被保留,算术表达式的运算和日常数学里面一样。

3. print()默认输出是换行的,如果要实现不换行,需要在变量末尾加上end=" "。

print(5+6*2)
print(5+6/5)
#17
#6.2

x="a"
y="b"
# 换行输出
print( x )
print( y )
# a
# b
# 不换行输出
print( x, end=" " )
print( y, end=" " )
# a b 

input()输入 

1. 需要向程序输入数据时,可以使用input()函数。

2. input()函数的括号里面存放一个字符串,一般是输入的提示信息

3. 使用input()函数输入,需要把输入的值保存在一个新的变量里面。

4. 使用input()函数输入,获得的其实是字符串类型的变量。

a1=input('输入一个整数:')
b1=input('输入一个整数:')
print(a1+b1)
a2=int(a1)
b2=int(b1)
print(a2+b2)
#4 5
#45
#9

导入函数模块

1. 在Python用import或者from…import…来导入相应的模块。

2. 将整个模块导入,格式为:import somemodule as sm。

3. 从某个模块中导入某个函数,格式为:from somemodule import somefunction。

4. 从某个模块中导入多个函数,格式为:from somemodule import firstfunc, secondfunc。

报错 

1. 在Python中,报错有两种情况 :语法错误和运行错误。

2. 语法错误,在程序运行之前,Python解释器就能识别出来。

3. 运行错误,必须要执行到对应代码,才能发现问题,又称“抛异常”,“抛异常”之后程序直接中止,不再往后面继续执行。

4. 黄色波浪线:警告。提示你的代码可能存在问题,但并不影响程序编译执行。

5. 红色波浪线:错误。编译一定出错。

Python基本数据类型

变量概念

1. Python中创建变量,不需要在变量前面声明类型。

2. 每个变量在使用前都必须赋值,变量赋值以后,该变量才会被创建。

3. 在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

4. Python的语言类型是动态的,一个变量可以通过赋值指向不同类型的对象。即在程序运行中,变量的类型可以发生改变。

counter = 100          # 整型变量
miles   = 1000.0      # 浮点型变量
name    = "nowcoder"   # 字符串

print (counter) # 100 
print (miles) # 1000.0  
print (name) # nowcoder

a=10
print(type(a))#<class 'int'>
a='ni hao'
print(type(a))#<class 'str'>

标准数据类型分类                                                                                    

Python中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)
  • Number(数字)

    1. Number包含int、float、bool、complex四种细分类型。 

    2. 在Python中,int能够表示的数据范围是无穷的。

    3. 在Python中,float能够表示的数据范围相当于C++中的double。

    4. 在Python中,bool有True和False两种情况(大写)。

    5. 内置的type()函数可以用来查询变量所指的对象类型。

    6. int(x)将x转换为一个整数,float(x)将x转换到一个浮点数。

    7. 此外,还存在数学函数、随机数函数、三角函数等其他库函数。

    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'>
    a = 1.0
    b=int(a)
    print(b)
    # 1 

    String(字符串)

    1. Python中单引号 ' ' 和双引号 " " 使用规则完全相同,单行字符串需要用单、双引号括起来。

    2. 多行字符串需要使用三引号('''或""")括起来。

    3. len()函数可以求出字符串的.长度。

    4. 字符串可以用 + 运算符拼接在一起,拼接后不改变原来的字符串。

    5. str()可以把其他类型的变量转化为字符串类型。

    6. Python中的字符串不能改变,向一个索引位置赋值,比如word[0] = 'm'会导致错误。

    word = '字符串'
    sentence = "这是一个句子。"
    paragraph = """这是一个段落,
                   可以由多行组成"""
    str1='hello world'
    print(len(str1))
    #11
    str1='hello '
    str2='world'
    print(str1+str2)
    #hello world
    str='Nowcoder'
    
    print(str)                 # 输出字符串
    print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
    print(str[0])              # 输出字符串第一个字符
    print(str[2:5])            # 输出从第三个开始到第五个的字符
    print(str[2:])             # 输出从第三个开始的后的所有字符
    print(str * 2)             # 输出字符串两次
    print(str + '你好')        # 连接字符串
    
    # Nowcoder
    # Nowcode
    # N
    # wco
    # wcoder
    # NowcoderNowcoder
    # Nowcoder你好

    List(列表)

    1. Python中的列表类似于C++中的数组,两者大部分功能都相同。

    2. Python中的列表与元组非常类似,不同之处在于列表的元素可以修改。

    3. 可以使用[ ]来创建一个列表,也可以通过list()来创建一个列表。 

    4. 列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表等嵌套类型,列表中的元素用逗号分隔。

    5. 列表使用[ ]来进行下标访问,也可以对元素值进行修改。

    6. 列表可以进行切片操作,切出来的是一个新的子列表。

    7. 加号 + 是列表连接运算符,星号 * 是重复操作。

    list = [ 'abcd', 786 , 2.23, 'nowcoder', 70.2 ]
    tinylist = [123, 'nowcoder']
    
    print (list)            # 输出完整列表
    print (list[0])         # 输出列表第一个元素
    print (list[1:3])       # 从第二个开始输出到第三个元素
    print (list[2:])        # 输出从第三个元素开始的所有元素
    print (list[2::2])        # 输出从第三个元素开始的所有元素,步长为2
    print (tinylist * 2)    # 输出两次列表
    print (list + tinylist) # 连接列表
    
    # ['abcd', 786, 2.23, 'nowcoder', 70.2]
    # abcd
    # [786, 2.23]
    # [2.23, 'nowcoder', 70.2]
    # [2.23, 70.2]
    # [123, 'nowcoder', 123, 'nowcoder']
    # ['abcd', 786, 2.23, 'nowcoder', 70.2, 123, 'nowcoder']
    

    1. 列表可以直接通过赋值来进行修改或更新。

    2. 列表可以使用append()方法来进行尾插。

    3. 列表可以使用insert()方法来在任意一个位置前面进行插入数据。

    4. 列表可以使用index()方法来获取元素的下标,如果该元素不存在于列表中,则抛异常。

    5. 列表可以使用pop()方法来进行删除元素,在括号内给出要删除元素的下标。

    5. 列表可以使用remove()方法来进行删除元素,在括号内给出要删除元素的值。

    list = ['Google', 'Nowcoder', 1997, 2000]
    print ("第三个元素为 : ", list[2]) # 1997
    list[2] = 2001
    print ("更新后的第三个元素为 : ", list[2]) # 2001
    
    list=[1,2,3,4,5]
    print(list)
    list.append(6)
    print(list)
    list.insert(0,-1)
    print(list)
    #[1, 2, 3, 4, 5]
    #[1, 2, 3, 4, 5, 6]
    #[-1, 1, 2, 3, 4, 5, 6]
    list=[1,2,3,4,5]
    print(list.index(5))
    #4
    list = ['Google', 'Nowcoder', 1997, 2000]
    print (list)  # ['Google', 'Nowcoder', 1997, 2000]
    list.pop(2)
    print (list)  # ['Google', 'Nowcoder', 2000]
    list.remove('Nowcoder')
    print (list)  # ['Google', 2000]

    tuple(元组)

    1. Python中的元组类似于C++中的数组,两者大部分功能都相同。

    2. Python中的元组与列表非常类似,不同之处在于元组的元素不能修改。 

    2. 元组使用小括号(),列表使用方括号[ ]。

    3. 元组与字符串类似,下标索引从0开始,可以进行切片,下标访问等。

    4. 元组中的元素值是不允许修改、增删的,但我们可以对元组进行连接组合。

    5. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

    tup1 = ('Google', 'Nowcoder', 1997, 2000)
    tup2 = (1, 2, 3, 4, 5, 6, 7 )
    
    print ("tup1[0]: ", tup1[0])
    print ("tup2[1:5]: ", tup2[1:5])
    
    # tup1[0]:  Google
    # tup2[1:5]:  (2, 3, 4, 5)
    
    tup1 = (12, 34.56);
    tup2 = ('abc', 'xyz')
    # 以下修改元组元素操作是非法的。
    tup1[0] = 100
    # 创建一个新的元组
    tup3 = tup1 + tup2;
    print (tup3)
    # (12, 34.56, 'abc', 'xyz')
    tup = ('Google', 'Nowcoder', 1997, 2000)
    print (tup)
    del tup
    # 'Google', 'Nowcoder', 1997, 2000

    Dictionary(字典)

    1. 在Python中,字典里面的每个元素都以键值对的形式存在,并且在同一个字典里面,键是唯一的。

    2. 字典的每个键值之间用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号{ }中 。

    3. 值可以取任何数据类型,但键必须是不可变的类型,如字符串、数字或元组。

    4. 成员运算符in只能用来判断键key是否存在,和值value存在与否无关。

    5. 列表与字典之间的区别在于:字典中的元素是通过键来存取的,而列表是通过偏移来存取的。

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

    7. 字典也可以进行新增、修改和删除,如果键不存在则为新增,如果存在则为修改,使用pop(要删除的键)可以删除对应的键值对。

    dict = {
        key1 : value1,
        key2 : value2 
    }
    dict1={
        1:'haha',
        2:'hehe'
    }
    if 1 in dict1:
        print('haha')
    else:
        print(0)
    #'haha'
    
    dict1={
        1:'haha',
        2:'hehe'
    }
    if 'haha' in dict1:
        print('haha')
    else:
        print(0)
    #0
    dict1 = {
        'Alice': '2341',
        'Beth': '9102',
        'Cecil': '3258'
    }
    tinydict = {
        'name': 'nowcoder',
        'code':1,
        'site': 'www.nowcoder.com'
    }
    print (dict1['Alice'])       # 输出键为 'one' 的值
    print (dict1['Cecil'])           # 输出键为 2 的值
    print (tinydict)          # 输出完整的字典
    print (tinydict.keys())   # 输出所有键
    print (tinydict.values()) # 输出所有值
    
    # '2341'
    # '3258'
    # {'name': 'nowcoder', 'code': 1, 'site': 'www.nowcoder.com'}
    # dict_keys(['name', 'code', 'site'])
    # dict_values(['nowcoder', 1, 'www.nowcoder.com'])
    
    
    dict = {
        'Name': 'Nowcoder',
        'Age': 7,
        'Class': 'First'
    }
    dict['Age'] = 8               # 更新Age
    dict['School'] = "牛客教程"    # 添加信息
    print (dict)
    dict.pop('Age')               #删除Age
    print (dict)
    #{'Name': 'Nowcoder', 'Age': 8, 'Class': 'First', 'School': '牛客教程'}
    #{'Name': 'Nowcoder', 'Class': 'First', 'School': '牛客教程'}

    运算符

    逻辑运算符

    身份运算符

    成员运算符 

    条件循环语句 

    条件语句 

    if – else 语句 

    if expreesion1:
        do_something1
    else:
        do_something2

    if – elif – else 语句  

    if expreesion1:
        do_something1
    elif expreesion2:
        do_something2
    else: 
        do_something3

    if – else 嵌套 

    if expreesion1:
        do_something1
        if expreesion2:
            do_something2
        elif expreesion3:
            do_something3
        else:
            do_something4
    elif expreesion4:
        do_something5
    else:
        do_something6
     
    

    循环语句 

    while循环 

    while 条件:
        循环体

    for循环 

    for 循环变量 in 可迭代对象:
        循环体

    range()函数 

    1. 如果你需要遍历数字序列,可以使用内置range()函数,它会生成一个数列。

    2. 也可以使range()以指定数字开始,并指定不同的增量。

    3. 结合range()和len()函数以遍历一个序列的索引。

    for i in range(1,11):
        print(i)
    #1 2 3 4 5 6 7 8 9 10
    for i in range(5):
        print(i)
    #0 1 2 3 4 
    for i in range(5,9) :
        print(i)
    #5 6 7 8 
    for i in range(0, 10, 3) :
        print(i)
    #0 3 6 9 
    a = ['Google', 'Baidu', 'Nowcoder', 'Taobao', 'QQ']
    for i in range(len(a)):
        print(i, a[i])

    函数 

    函数定义 

    1. 函数的代码块以def关键词开头,后接函数名和圆括号,圆括号里面是形参列表。

    2. 形参列表中,可以有多个形参,形参之间使用逗号分隔。

    3. return语句用于结束函数,选择性地返回一个值给调用方,也可以不用return语句,即不返回任何值。

    def 函数名(参数列表):
        函数体

    文件 

    文件路径 

    1. 文件路径由一层一层的目录名构成,目录名之间使用斜杠 来分隔。

    2. 在Python中,使用open()函数来打开指定的文件,第一个参数是要打开的文件路径,第二个参数是要打开的文件方式,并使用新的变量来接收。

    3. 文件打开的方式有:' r '按照读方式打开,' w '按照写方式打开,' a '按照追加写方式打开。

    4. 在Python中,使用close()方法来关闭指定的文件,不要遗漏这一步。

    5. 为了避免遗漏close()方法关闭函数,可以使用:with open(…) as file: 的格式。

    file=open('C:/Users/风中的云彩2/PycharmProjects/pythonProject4/main.py','r')
    print(file)
    file.close()
    with open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','r',encoding='utf8') as file:
        for line in file:
            print(line,end='')

    写文件

    1. ' w '按照写方式打开,此时会清空文件原有内容,重新写。

    2. ' a '按照追加写方式打开,此时不会清空文件原有内容,新的内容追加在后面。

    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','w')
    f.write('hello')
    f.close()
    #hello
    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','w')
    f.write('hello world!')
    f.close()
    #hello world!
    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','a')
    f.write('hello world!')
    f.close()
    #hello world!
    #hello world!
    

    读文件 

    1. ' r '按照读方式打开,后面还需设置以哪种方式读取:encoding='gbk'或encoding='utf8'。

    2. 在Python中,使用read()方法来读取指定的文件的n个字符。(n为传入的参数)

    3. 还可以利用for循环,按行读取文件内容进行打印。

    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','a')
    f.write('hello world!')
    f.close()
    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','r',encoding='utf8')
    result=f.read(5)
    print(result)
    f.close()
    #hello
    f=open('C:/Users/风中的云彩2/Desktop/编程/python.text.txt','r',encoding='utf8')
    for line in f:
        print(line,end='')
    f.close()
    #hello world!
    #hello world!

    致谢 

      感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能

    作者:星霜旅人

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python】基础语法知识

    发表回复