Python基础语法

转载请注明 来源:http://www.eword.name/
Author:eword
Email:eword@eword.name

python专题目录

Python基础语法

一、输入和输出

input()输入:

  • input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
  • input()在从键盘获取了数据以后,会存放到等号右边的变量中
  • input()会把用户输入的任何值都作为字符串来对待
  • 注意:在python2中还有一个raw_input()输入,但到python3中没有了
# 源码

str = input("请输入:");
print ("你输入的内容是: ", str)
# 结果

请输入内容:>? hello word
您输入的内容: hello word

Print()输出:

  • print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
# 源码

inline = "我后面不换行"
new_line = "我后面换行了"
separator = "=========我是分隔符========"

# 后面换行
print(new_line)
print(separator)
print()
# 后面不换行
print(inline, end=" ")
print(separator)
print()

one = "1、"
two = "2、"
tree = "3"
# 连续输出3个参数
print(one, two, tree)
# 结果

我后面换行了
=========我是分隔符========

我后面不换行 =========我是分隔符========

1、 2、 3

format()的格式化函数

  • 格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
  • 基本语法是通过 {} 和 : 来代替以前的 % 。
# 源码

# 不设置指定位置,按默认顺序
print("不设置指定位置,按默认顺序======")
print("{} {}".format("hello", "world"))
print()

# 设置指定位置
print("设置指定位置1======")
print("{0} {1}".format("hello", "world"))
print()

# 设置指定位置
print("设置指定位置2======")
print("{1} {0} {1}".format("hello", "world"))
print()

# 指定参数名
print("指定参数名======")
print("姓名:{name}, 性别 {sex}".format(name="Eword", sex=" 男"))
print()

# 通过字典设置参数
print("通过字典设置参数======")
person = {"name": "Eword", "sex": " 男"}
print("姓名:{name}, 性别 {sex}".format(**person))
print()

# "0" 是必须的,通过列表索引设置参数
print("通过列表索引设置参数======")
_list = ['姓名', ' 男']
print("姓名:{0[0]}, 性别: {0[1]}".format(_list))
print()

# 数字格式化
print("数字格式化======")
print("{:.2f}".format(3.1415926))

# 结果

不设置指定位置,按默认顺序======
hello world

设置指定位置1======
hello world

设置指定位置2======
world hello world

指定参数名======
姓名:Eword, 性别  男

通过字典设置参数======
姓名:Eword, 性别  男

通过列表索引设置参数======
姓名:姓名, 性别:  男

数字格式化======
3.14

format()数字格式化参照

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)
11 '{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
进制

二、注释

Python中的注释有单行注释和多行注释:

  • python中单行注释采用 # 开头。

  • python 中多行注释使用三个单引号(''')或三个双引号(""")。

# 源码

# 单行注释演示
str = "Hello, Python!"  # 单行注释可以放到表达式后面

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

print(str)  # 单行注释可以放到行末
# 结果

Hello, Python!

三、标识符

  • Python里,标识符: 由字母、数字、下划线组成,但不能以数字开头
  • Python 中的标识符是区分大小写的。
  • 特殊标识符:
    • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
    • 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
  • python保留字: 保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
# 查询关键字 Python 3.9

import keyword

keyword.kwlist
# python 3.9 的关键字
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', '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']

四、变量

  • Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  • 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
  • 等号(=)用来给变量赋值。
  • 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
  • 实例(Python 3.9+)
# 源码

# 整型变量
count = 100

# 浮点型变量
miles = 1000.0

# 字符串
name = "demo"

# Python允许你使用以下形式同时为多个变量赋值。
a = b = c = 1               # 创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
x, y, z = 7, 9, "我是8呀"    # 两个整型对象 7 和 9 的分配给变量 x 和 y,字符串对象 "我是8呀" 分配给变量 z。

print("counter =", count)
print("miles =", miles)
print("name =", name)
print("a =", a)
print("b =", b)
print("c =", c)
print("x =", x)
print("y =", y)
print("z =", z)
# 结果

counter = 100
miles = 1000.0
name = demo
a = 1
b = 1
c = 1
x = 7
y = 9
z = 我是8呀

五、行与缩进

  • python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。
  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
# 源码

# 正确示例
# 乘法口诀表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(str(j) + '*' + str(i) + "=" + str(i * j), end="  ")
    print()
    
# 错误示例
# 缩进不一致,会导致运行错误
for i in range(1, 10):
    for j in range(1, i + 1):
        print(str(j) + '*' + str(i) + "=" + str(i * j), end="  ")
      print()    # 此行缩进数的空格数不一致,会导致运行错误:
    
 # 报错内容:IndentationError: unindent does not match any outer indentation level   

多行语句

  • Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句,例如:
# 源码

# 乘法口诀表
for i \
in range(1, 10):
    for j in range(1, i + 1):
        print(str(j) + '*' + str(i) + "=" + str(i * j), end="  ")
    print()
  • 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
# 源码

# 乘法口诀表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(str(j) +
              '*' +
              str(i) +
              "=" +
              str(i * j), end="  ")
    print()

空行

  • 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
  • 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
  • 记住:空行也是程序代码的一部分。
posted @ 2023-06-22 18:38  影乌  阅读(23)  评论(0编辑  收藏  举报