Python 基础语法入门

简介: 这个系列是去年的时候给西门子电力的工程师培训Python入门课程准备的讲义~ 分享出来,仅供学习~ 本节是《Python入门-1.2 基础语法入门》

1.2 基础语法入门

明确几个基本概念

(1)表达式

       表达式就是一个类似于数学公式的东西
       比如:10 + 5   8 - 4
       表达式一般仅仅用了计算一些结果,不会对程序产生实质性的影响
       如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出

(2)语句

       在程序中语句一般需要完成某种功能,比如打印信息、获取信息、为变量赋值。
       比如:

print()
input()
a = 10

       语句的执行一般会对程序产生一定的影响
       在交互模式中不一定会输出语句的执行结果  

(3)程序(program)

       程序就是由一条一条的语句和一条一条的表达式构成的。

(4)函数(function)

       函数就是一种语句,函数专门用来完成特定的功能
       函数长的形如:xxx()          
       函数的分类:
           内置函数
               - 由Python解释器提供的函数,可以在Python中直接使用
           自定义函数    
               - 由程序员自主的创建的函数
       当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
       函数的两个要素:
           参数
               - ()中的内容就是函数的参数
               - 函数中可以没有参数,也可以有多个参数,多个参数之间使用,隔开
           返回值        
               - 返回值是函数的返回结果,不是所有的函数都有返回值

基本语法

第一个Python程序

# -*- coding: cp-1252 -*-
# Python文件首行可以指定编码格式,Python3默认是utf-8

print("Hello World") # 打印Hello World

print("Hello, everyone!\n \
    I am so glad to introduce Python to you!")

a = True
if a:
    print("True")
else:
    print("False")
  • 在Python中严格区分大小写
  • Python中的每一行就是一条语句,每条语句以换行结束
  • Python中每一行语句不要过长(规范中建议每行不要超过80个字符)
  • 一条语句可以分多行编写,多行编写时语句后边以"\"结尾  
  • Python是缩进严格的语言,以缩进来表示代码块,所以在Python中不要随便写缩进  
  • 在Python中使用#来表示注释,"#"后的内容都属于注释,注释的内容将会被解释器所忽略

输入和输出

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

print()输出:
  • print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
x="a"
y="b"
# 换行输出
print( x )
print( y )

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

# 同时输出多个变量
print(x,y)

format格式化函数:
  • 格式化字符串的函数 str.format(),它增强了字符串格式化的功能
  • 基本语法是通过 {} 和 : 来代替以前的 % 。
# 不设置指定位置,按默认顺序
template = "name: {}, age: {}"
print(template.format("John","18"))

# 设置指定位置
template = "name: {0}, age: {1} \nWelcome, {0}"
print(template.format("John", "18"))

# 设置指定参数名
template = "name: {name}, age: {age}"
print(template.format(name="John", age="18"))

# 通过字典设置参数
template = "name: {name}, age: {age}"
john = {"name": "John", "age":"18"}
print(template.format(**john)) # **表示接收的参数作为字典来处理,*表示接收的参数作为元组来处理

# 通过列表索引设置参数
my_list = ['John', '18']
template = "name: {0[0]}, age: {0[1]}" # 第一个数字0,用于表示format参数,可以传入多个列表参数,中括号中表示数组下标
print(template.format(my_list))

# 练习:尝试混用上述方式~

# 数字格式化
print("PI: {:.2f}".format(3.1415926))
数字 格式 输出 描述
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中单行注释采用 # 开头。
# -*- coding: UTF-8 -*-
# 文件名:test.py
# 第一个注释
print("Hello, Python!");  # 第二个注释

输出结果:

Hello, Python!


注释可以在语句或表达式行末:

name = "Madisetti" # 这是一个注释
  • python 中多行注释使用三个单引号(''')或三个双引号(""")。
# -*- coding: UTF-8 -*-
# 文件名:test.py
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

标识符

  • 在Python里, 标识符: 由字母、数字、下划线组成,但不能以数字开头
  • Python 中的标识符是区分大小写的。
  • 特殊标识符:

    • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
    • 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
  • python保留字: 保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'if',
'return','try', 'while', 'with', 'yield']

变量

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

print(counter)
print(miles)
print(name)

执行以上程序会输出如下结果:

100
1000.0
demo

TIPS:

  1. 变量命名应既简短又具有描述性。例如,name比n好,student_name比s_n好。
  2. 慎用小写字母l和大写字母O,它们很容易被看错成数字1和0
  • Python允许你同时为多个变量赋值。例如:
a = b = c = 1
  • 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
  • 您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "demo"
  • 以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "demo" 分配给变量 c。


行与缩进

  • python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。
  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
    print ("True")
else:
    print ("False")
  • 以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误
  • 以上程序由于缩进不一致,执行后会出现类似以下错误:
File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level

多行语句
  • Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
total = item_one + \
        item_two + \
        item_three
  • 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']


空行
  • 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
  • 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
  • 记住:空行也是程序代码的一部分。
目录
相关文章
|
14天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
11天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
11天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
11天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
1天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####
|
10天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
22 3
|
14天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
13天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
13天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
7天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
17 0
下一篇
无影云桌面