【Python3】学习笔记——基本语法

本文深入解析Python的基础语法,涵盖标识符规则、保留字、注释、缩进、多行语句、数字类型、字符串操作、代码块构成、输入输出处理、模块导入及命令行参数等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标识符:

  • 第一个字母必须是字母或下划线,对大小写敏感
  • 其他部分由字母、数字、下划线组成

保留字:

  • 保留字及关键字,禁止用于标识符名称。
  • Python提供了keyword模块,可输出当前版本所有关键字
import  keyword

keyword.kwlist
print(keyword.kwlist)

>>>
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

注释:

  • Python注释一共三种形式,单行注释以 # 开头
  • 多行注释可以每行单个 # ,或者使用 ''' """
# coding=utf-8,声明python代码的文本格式是utf-8,否则代码或注释中的中文字符会报错
# 多行注释
# 方法一

'''
多行注释方法二
'''

"""
多行注释方法三
"""

行与缩进:

  • Python使用缩进来表示代码块,而不是用大括号 {} 
  • 缩进空格数可变,但同一个代码块必须包含相同缩进空格数,如下
if True:
    print("Right")
      print("yes")
else:
    print("wrong")

>>>
  File "/Users/zzw/PycharmProjects/zzw/test.py", line 3
    print("yes")
    ^
IndentationError: unexpected indent

多行语句:

  • Python通常一行为一个语句,当语句过长时可使用反斜线 \ 来实现多行语句
  • 而对于 [] {} (),不需要使用反斜线
total = item_one + \
        item_two + \
        item_three

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']
  • Python可以在同一行中使用多条语句,语句之间使用分号分割

import sys; x = 'hello,world'; sys.stdout.write(x + "\nby zzw" + '\n')

>>>
hello,world
by zzw

数字(Number)类型:

Python包含四种数字类型:整形、布尔型、浮点数、复数

  • int(整形):如数字1,python3中只有 int,而python2中还包含长整形 Long
  • bool(布尔型):如True
  • float(浮点数):如2.12、3E-2
  • complex(复数):如2 + 3j、2.1 + 5.2j

字符串:

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


>>>
Runoob
Runoo
R
noo
noob
RunoobRunoob
Runoob你好
------------------------------
hello
runoob
hello\nrunoob

多个语句构成代码组:

缩进相同的一组语句构成一个代码块,称之代码组。如if、while、def和class这样的复合语句,首行以关键字开始,以冒号 : 结束,该行之后的一行或多行代码构成代码组。将首行及后面的代码组称为一个子句(clause)。

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

输入:

  • input() 可以让用户输入字符串并保存到变量
  • 可以在input()输入用户提示信息
name = input("请输入名字:")  #让用户输入name的字符串并保存在name这个变量里。
print('你刚才输入的是 %s' %name)  #显示你刚才输入的字符串,%s为字符串转义

name = input()  #让用户输入名字
print('Hello',name)

>>>
请输入名字:zzw
你刚才输入的是 zzw
zzw
('Hello', 'zzw')

输出:

  • print 默认输出是换行的,如果要实现不换行
  • python 2版本中,在print()语句后添加逗号 , 可使输出不换行
  • python 3版本中,在print()语句中添加end="" 可使输出不换行
# 换行输出
print(x)
print(y)

print('---------')
# python2,不换行输出
print(x),
print(y)

print('---------')
# python3,不换行输出
print(x, end = " ")
print(y)


>>>
a
b
---------
a b
---------
a b

模块导入:

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

  • 将整个模块导入,格式为: import somemodule

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

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

  • 将某个模块中的全部函数导入,格式为: from somemodule import *

命令行参数:

Python可以使用-h参数查看各参数帮助信息:

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

 

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值