这是 “Python 基础”系列的第 01 篇文章 ,共 20 篇 。 01 Python 基础:Python入门必看之语法基础 02 Python 基础:列表及字典内置函数&方法内容梳理 03 Python 基础:Python函数及递归函数知识点梳理 04 Python 基础:讲解迭代、过滤、匿名函数、排序算法四大知识点 05 Python 基础:高阶函数学习实践 06 Python 基础:难点装饰器的学习介绍及实现赌博收益小案例 07 Python 基础:重点知识点函数的参数难点解答 08 Python 基础:面试问你类与实例及其属性还不会吗 09 Python 基础:手把手带你梳理对象、继承与多态知识点 10 Python 基础:如何定制类,这里有答案 11 Python 基础:知识巩固,实现一个简易学生管理系统 12 Python 基础:如何优化代码质量,错误、调试和测试你必须要懂 13 Python 基础:模块的概念及使用方法并着重介绍两个常用模块 14 Python 基础:重点知识点--IO编程 15 Python 基础:程序猿必懂知识之正则表达式 16 Python 基础:重点知识点--Pygame的基础知识梳理 17 Python 基础:重点知识点--Pygame实现儿时经典游戏坦克大战 18 Python 基础:重点知识点--进程和线程概念、应用知识梳理 19 Python 基础:重点知识点--网络通信基础知识讲解 20 Python 基础:重点知识点--网络通信进阶知识讲解
1 Python 基础:Python入门必看之语法基础,共有 5 部分:
1. python 中的*args和**kw
1.1 *args的使用方法
*args 用来将参数打包成tuple给函数体调用。
示例一:
def function(*args):
print(args, type(args))
function(1)
输出结果以元组的形式展示:
(1,) <class 'tuple'>
示例二:
def function(x, y, *args):
print(x, y, args)
function(1, 2, 3, 4, 5)
输出结果:
1 2 (3, 4, 5)
1.2 **kwargs的使用方法
**kwargs 打包关键字参数成dict给函数体调用
示例一:
def function(**kwargs):
print( kwargs, type(kwargs))
function(a=2)
输出结果以元组的形式展示:
{'a': 2} <class 'dict'>
示例二:
def function(**kwargs):
print(kwargs)
function(a=1, b=2, c=3)
输出结果以元组的形式展示:
{'a': 1, 'b': 2, 'c': 3}
注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。
def function(arg,*args,**kwargs):
print(arg,args,kwargs)
function(6,7,8,9,a=1, b=2, c=3)
输出结果为:
6 (7, 8, 9) {'a': 1, 'b': 2, 'c': 3}
2. python 基础语法
2.1 python的常量与变量
在python这里,声明也可以省去: 在python中,变量的定义不需要指定类型,我们可以直接给一个变量x赋值,并通过id(x)来查看x这个变量的内存地址,通过type(x)来查看变量类型。
2.1.1 常量的概念
Python中在程序运行时不会被更改的量称之为常量,比如数字7和字符串"abc"在运行时一直都是数字7跟字符串"abc",不会更改成其他的量,这些就是常量,除此之外,还可以定义任意的字符串为指定值的常量。常量有一个特点,就是:一旦绑定,不能更改。
Python常量与变量 — 常量的应用
在Python中是不能够像C等其他编程语言一样通过const来定义常量的,在Python中定义常量需要用对象的方法来创建,是通过元组来实现常量的功能的,此处先省略。
2.1.2 什么是变量
Python中在程序运行时可以随着程序的运行更改的量称之为变量,比如我们可以定义一个变量i,并将数字5赋给变量i,然后再将数字7再赋给变量i,那么这个时候i的值就变成了7,i的值是可以改变的。那么像i这种可以改变值的量称之为变量。变量有一个特点,就是:即使赋值,也可以更改。
2.2 python的数与字符串
2.2.1 Python数与字符串 — 了解数的类型
Python中数的类型主要有5种,分为有符号整数型(int),长整型(long),浮点型 (float),布尔型(bool),复数型(complex)。
2.2.2 Python数与字符串 — 什么是字符串
在Python中用引号引起来的字符集称之为字符串,比如:'hello'、"my Python"、"2+3"等都是字符串。
Python中字符串中使用的引号可以是单引号、双引号、三引号。但是他们的使用是不同的。
1.例如一句话中,既存在单引号又存在双引号的时候,用三引号括起来可以避免歧义,同时多行语句打印的时候,还可以达到换行的目的。
2.3 索引与切片
2.4 Python数据类型
列表
在Python中没有数组的概念,Python中跟数组最接近的概念就是列表和元组,我们先说列表。列表就是用来存储一连串元素的容器。列表用[]来表示,比如说,一个班里面有30个学生,我们需要将30个学生安排到一间教室里面上课,如果把30个学生分别比作元素,那么这个教室就是数组。30个学生是按座位坐好,有序排列的,在数组中的元素也是有序排列的。。
元组
Python中跟数组类似的除了列表之外还有元组。元组里面的元素也是进行索引计算。但是列表跟元组有什么区别呢?一是列表里面的元素的值可以修改,而元组里面的元素的值不能修改,只能读取。区别二是列表的符号是[ ],而元组的符号是()。
集合
Python中集合主要有两个功能,一个功能是进行集合操作,另一个功能是消除重复元素。集合的格式是:set(元素)。
字典
Python中的字典也叫做关联数组,用大括号{ }括起来。
格式是这样的:zidian={'name':'weiwei','home':'guilin','like':'music'}
我们可以这样理解:字典里面其实包含的是一整个事情,这个事情里面分别包括各种方面的具体信息。
比如我们刚才这个,包含了name方面、home方面、like方面的具体信息,其中name方面的值为weiwei,home方面的值为guilin,以及like方面的值为music。
2.5 认识Python标识符
2.6 Python对象
Python的内置的对象类型主要有数字、字符串、列表、元组、字典、集合等等。其实,在Python中,一切皆为对象,我们后面会给大家讲解面向对象的知识。
2.7 Python行与缩进
行中分号使用规则
在Python中一个物理行一般可以包含多个逻辑行,在一个物理行中编写多个逻辑行的时候,逻辑行与逻辑行之间用分号隔开。每个逻辑行的后面必须是有一个分号的,但是我们在编写程序的时候,如果一个逻辑行占了一个物理行的最后,这个逻辑行可以省略分号。
行连接
我们已经知道,多个逻辑行可以写在一个物理行中,那么我们可不可以将一个逻辑行分别写在多个物理行中呢?可以的,但是我们必须使用行连接。行连接的方法是在行的最后加上一个\符号
2.8 注释
Python中的注释一般用#进行注释,从#开始,一直到一行(物理行)结束的部分,都是注释。
# '''
# xxx=2
# print xxx
# '''
print('上面是注释')
# 快速注释的快捷键
输出结果为:
上面是注释
3. python 的运算符与表达式
运算符有哪些
在Python中我们常见的运算符有:+、-、*、/、**、<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and、or。
input()里面不管你输入的是什么,它最终得到的都是字符串
4. python 控制流
python没有switch
Python的三种控制流 — 什么是控制流?
Python中程序代码的执行是有顺序的,有的程序代码会从上到下按顺序执行,有的 程序代码会跳转着执行,有的程序代码会选择不同的分支去执行,有的程序代码会 循环地执行。那么到底什么样的程序应该自上而下执行,什么样的程序应该选择分 支执行,什么样的程序应该循环着执行呢?在Python中是有相应的控制语句进行标 识的,控制语句他能控制某些代码段的执行方式,我们把这些不同功能的控制语句 称为控制流。
在Python中通常的情况下程序的执行是从上往下执行的,而某些时候我们为了改变 程序的执行顺序,故而使用控制流语句控制程序怎么执行,而在Python中,有三种 控制流类型,一种是顺序结构,就是指按顺序执行的结构,第二种是分支结构,第 三种是循环结构。
语法
if 表达式 : 缩进代码(为真的时候显示) 缩进代码(为真的时候显示) else: 缩进代码(为假的时候显示)
continue语句指的是结束执行本次循环中剩余的语句,然后继续下一轮的循环。break语句指的是直接结束这个循环,包括结束执行该循环地剩余的所有次循环。
5. 字符串格式化与字符串format
实例代码如下:
#1.打印字符串,无论是数字还是字符串都可以使用 %s
print("My name is %s" %("Alfred.Xue"))
#2.打印整数
print("I am %d years old." %(25))
#3.打印浮点数
print ("His height is %f m"%(1.70))
#4.打印浮点数(指定保留两位小数)
print ("His height is %.2f m"%(1.70))
#5.指定占位符宽度(右对齐,字体右对齐,空格在左)
print ("Name:%10s Age:%8d Height:%8.2f"%("Alfred",25,1.70))
#6.指定占位符宽度(左对齐,字体左对齐,空格在右)
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Alfred",25,1.70))
#7.指定占位符(只能用0当占位符)
print ("Name:%-10s Age:%08d Height:%08.2f"%("Alfred",25,1.70))
#8.科学计数法
format(0.0026,'.2e')
输出结果如下:
My name is Alfred.Xue
I am 25 years old.
His height is 1.700000 m
His height is 1.70 m
Name: Alfred Age: 25 Height: 1.70
Name:Alfred Age:25 Height:1.70
Name:Alfred Age:00000025 Height:00001.7
'2.60e-03'
format是一种全局的方法,它也是用来格式化的
print('{0},{1}'.format('zhangk', 32))
print('{},{},{}'.format('zhangk','boy',32))
print('{name},{sex},{age}'.format(age=32,sex='male',name='zhangk'))
# 格式限定符
# 它有着丰富的“格式限定符”(语法是{}中带:号),比如:
# 填充与对齐
# 填充常跟对齐一起使用
# ^、<、>分别是居中、左对齐、右对齐,后面带宽度
# :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
print('{:^8}'.format('zhang'))
print('{:0>8}'.format('zhang'))
print('{:a<8}'.format('zhang'))
print('{:p^10}'.format('zhang'))
# 精度与类型f
# 精度常跟类型f一起使用
print('{:.2f}'.format(31.31412))
# 其他类型
# 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(15))
print('{:d}'.format(15))
print('{:o}'.format(15))
print('{:x}'.format(15))
# 用逗号还能用来做金额的千位分隔符
print('{:,}'.format(123456789))
输出结果如下:
zhangk,32
zhangk,boy,32
zhangk,male,32
zhang
000zhang
zhangaaa
ppzhangppp
31.31
1111
15
17
f
123,456,789
这两种方法输出结果是一样的,不过第一种,顺序不用管,第二种顺序必须对应。
- - - E N D - - -