Python基础之基础语法

俗话说的得好,好记性不如烂笔头,对自已学习每一体验都作记录。本篇为Python基础学习第一篇:基础语法

Python概述

每一种语言的诞生都是有原因的,基本上都是出于提高生产率而折腾出来的;而能够火起来,说明它具有其他语言没有的特性:

  • 一种面向对象的解释型计算机程序设计语言
  • 具有丰富且强大的内置库和第三方库
  • 语法简洁灵活
  • 开源、跨平台

应用场景: 数据分析、人工智能、网络爬虫、自动化运维......

基础语法

1、交互模式

(Win+R -> cmd -> python;exit())

也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。

2、开发流程

了解了如何启动和退出Python的交互模式,我们就可以开始编写Python代码了

  • 创建以.py结尾的python文件
  • 在python文件中输入打印"Hello world"的代码
  • 运行编写完的python代码文件

在写代码的时候,尽量不要用“Ctrl+C”-“Ctrl+V”把代码从页面粘贴到自己的电脑上。写程序也讲究一个感觉,需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码:拼写不对,大小写不对,混用中英文标点,混用空格和Tab键,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序。

3、使用IDE工具流程

  • 创建工程
  • 创建包
  • 创建文件
  • 编辑、运行代码

注释

  • 使用注释的原因
    希望通过自已的语言来描述一段代码的实现逻辑和功能,方便理解代码,易于维护
  • 单行注释
    以#开头,只注释一行,多行注释需要在要注释的内容开关分别添加#
  • 多行注释
    ‘‘‘注释的内容’’’,三个或六个单引号,可以对多行整体进行注释

注释的作用
描述一段代码的实现逻辑和功能,增强代码可读性,易于维护。
一定要养成写注释的习惯。

注意:注释在代码执行过程中是不会被执行的,注释的数量没有限制

变量

变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

  • 变量的定义:
    在Python中,变量指向各种类型值的名字,当用到这个类型的值时,直接使用变量即可,不需要再具体的值。简单来说:变量就是装各种不同类型值的窗口。
    格式:变量名 = 数值
  • 变量的类型不需要显示指定,python解释器会自动判断数据类型,可以把任意数据类型赋值给变更
  • 变量名称命名简洁明了,见名知意
  • 使用type(变量)查看变量类型

注:字符串赋值可使用单引号或双引号都是可以的

数据类型:

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。
数字(有符号整型、浮点型、复数)、布尔(True、False)、字符串、列表、元组、字典

  • 有符号整型:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:0,1,80,-80等等;
  • 浮点型:浮点数也就是小数,如1.23,3.14,-9.01,1.23x109等等,但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9;
  • 复数:就是有虚部的数,可以表示二维空间;
  • 布尔:布尔值和布尔代数的表示完全一致,在Python中,可以直接用True、False表示布尔值,注意首字母一定要大写;
  • 字符串:字符串是以单引号'或双引号"括起来的由数字、字母、下划线组成的一串字符,比如'abc',"xyz",单引号和双引号都可以;
  • 列表:列表用 [ ] 标识,列表中值的切割也可以用到变量 [头下标:尾下标],列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套),是一种有序的集合,可以随时添加和删除其中的元素;
  • 元组:元组用"()"标识,内部元素用逗号隔开,元组和列表非常类似,但是元组一旦初始化就不能修改;
  • 字典:字典是除列表以外python之中最灵活的内置数据结构类型,字典用"{ }"标识。字典由索引(key)和它对应的值value组成,列表是有序的对象集合,字典是无序的对象集合,字典当中的元素是通过键来存取的,而不是通过偏移存取。

输入和输出

任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入使用input: input用于在程序执行过程中接收用户输入的内容,默认接收的输入内容为字符串类型
输出使用print: print()用于在程度执行过程中输出内容

  • 直接输出内容
  • 输出单个和多个变量
  • 格式化输出

常用的格式化符号有输出:print"test.....:%s"%name)
%X: 十六进制整数(大写字母)
%x: 十六进制整数(小写字母)
%o: 八进制整数
%i: 有符号十进制整数
%d: 有符号十进制整数
%u: 无符号十进制整数
%c: 字符
%s:通过str()字符串转换来格式化
%e: 索引符号(小写'e')
%E:索引符号(大写'Ee)
%f: 浮点实数 (%.2f)
无换行输出:

print("Hello",end="")
print("World")

分行输出:print("Hello \n World")

类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。不同的类型之间进行转换
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
str(x) 将对象x转换为字符串
eval(x) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
chr(x) 将一个整数转换成一个列表

标识符:

  • 在Python程序开始过程中,自定义的一些符号、名称
  • 由字母、数字、下划线组成,不能以数字开头
  • 标识符区分大小写的
  • 划线开头的标识符是有特殊意义的:以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;以双下划线开头的 foo 代表类的私有成员;以双下划线开头和结尾的 __foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。

命名规则

  • 见名知意,如:name
  • 驼峰命名法,如:类名(UserInfo)、异常名(ValueError)等
  • 小写字符+下划线,如:变量名(user_name)、函数名(get_name)
  • 不能够使用关键字

关键字

每种语言都有自己的关键字,Python也不例外。

  • 在Python内部具有特殊功能的标识符
  • 通过keyword模块的kwlist函数查看

运算符

算术运算符、比较运算符、赋值运算符、逻辑运算符
优先级(高->低):幂运算->算术运算符->比较运算符->逻辑运算符

条件判断

计算机之所以能自已处理任务,因为它可以自已做条件判断。
- 条件判断语法格式:

if 条件:
    逻辑代码
else:
    其他逻辑代码
  • 多条件判断语法格式:
if 条件:
    逻辑代码1
elif 条件2:
    逻辑代码2
else:
    其他逻辑代码
  • 嵌套判断语法格式:
if 条件:
     if 内部条件1:
          内部逻辑代码1
     elif 条件2:
          内部逻辑代码2
     else:
          其他逻辑代码
elif 条件2:
     逻辑代码2
else:
     其他逻辑代码

练习

简易计算器

'''
简易计算器
'''

num1 = input("请输入第一个计算数字:")
operator = input("请输入计算符:")
num2 = input("请输入第二个计算数字:")

num_first = int(num1)
num_second = int(num2)

if operator == "+":
    result = num_first + num_second7
    print("计算结果:{}".format(result))
elif operator == "-":
    result = num_first - num_second
    print("计算结果:{}".format(result))
elif operator == "*":
    result = num_first * num_second
    print("计算结果:{}".format(result))
elif operator == "%":
    result = num_first % num_second
    print("计算结果:{}".format(result))
elif operator == "**":
    result = num_first ** num_second
    print("计算结果:{}".format(result))