我将从以下五个点去总结python的基础语法知识
-————————————————————————————————
1、变量和赋值
1.1 变量定义
首先说一下什么叫做变量
在python中**变量**就是:存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。简单点说就是 如果要修建房子,变量就是其中的一块砖。
1.2 赋值
python中的赋值不需要类似C++或java中,提前声明变量类型,直接使用**=**赋值即可。
如下所示
(1)简单赋值
a = 100 # 这就是一个简单的赋值 一定不能的地方就是2=a 这个是无效的
(2)序列赋值
a,b = 100,200 # 这就是一个简单的赋值
[x,y] = "ab" # x:a y:b
[a1,b1*]="abcd" # a1:a b1:abc
(3)多目标赋值和增加赋值
a=b=c=100 # 多目标赋值
# 增加赋值
a=1
a+=1 # a=2 这里表示a=a+1
a-=1 # a=1 表示 a=a-1
a*=3 # a=3
-————————————————————————————————
2、分支与循环
2.1 分支——假如……
这里就是说的 if 条件语句 这里一共有三种情况。
(1)如果就(if)
a=1
if a=1:
print(a) # 如果a=1 就打印出来
(2)如果就,不然就(if……,else)
a=1
if a=1:
print(a) # 如果a=1 就打印出来
else:
print("a="a,",不等于1")
(3)如果就 ……,或者如果就……,否则(if,elif,else)
sco=90
if sco>=90: # 这里有两条件 and就是大家想的意思
print("优秀") # 如果a=1 就打印出来
elif sco>=80:
print("良好")
else:
print("合格")
2.2 循环结构
循环结构有两种,for 和while。其中常用的是for,当然也看个人的习惯。
- (1) for 循环
简单介绍一下for的语法: for 变量名 in 迭代对象
*注:- a、这里的变量名可以随便取,但是常用的是i
- b、迭代对象 就是不止有一个的对象。就相当于是说可以分出来的。*
具体代码
a=[1,2,3,4,5] 这里就是一个可迭代对象
for i in a:
print(i,end=" ") # 这里的end 表示的是否这次输出结束后 用什么结尾 标准的是换行符
# out 1 2 3 4 5
for i in range(1,10,2): # 这里表示的就是从1开始,每次加2
if i<=5:
print(i)
else:
break # 表示退出循环
- (2)while循环
while语法
while 循环条件:
这里我们就直接求解一个小学学过的1+2+3+……+100
a=1
sums=0
while a<=100:
sums+=a
a+=1
print(a)
-————————————————————————————————
3、数据类型
在python的数字和字符串属于简单数据类型。
集合、列表、元组、字典和范围等均属于组合数据类型。
组合数据类型的对象是一个数组容器,可以包含多个有序或无序的数据项。
-
集合(set)是Python 2.4引入的一种类型,集合常量用大括号表示,例如,{1,2,3}。集合中的元素具有唯一、无序和不可改变等特点,集合支持数学理论中的各种集合运算。
-
列表和元组都属于序列,序列支持索引、分片和合并等操作。字符串属于特殊的不可变序列。
-
元组可以看作是不可变的列表,它的使用与字符串类似。元组常量用圆括号表示,例如:(1,2)、(‘a’,‘b’,‘c’),也可以使用tuple()方法来创建元组对象。
-
字典是一种无序的映射集合,包含一系列的键:值对。字典常量用大括号表示,例如,{‘name’:‘John’,‘age’:25,‘sex’:‘male’},也可以使用dict()函数来创建。
1)、字符串-str
var1 = 'Hello World!'
2)、列表-list
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
3)、集合-set
set1={1,1,2,2,3,4,5} # set会自己消除重复的值
set1 - set2 # 减去共有项
4)、元组–tuple
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
tup4=() # 创建空元组 等价于 tup4=tuple()
5)、字典
d = {key1 : value1, key2 : value2 }
# 1、创建
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
# 2 修改和新加
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
# 3 基本操作
print(tinydict1.keys()) # 字典中所有键的视图
print(tinydict1.values()) # 字典中全部值的视图
print(tinydict1.items())# 返回键值对视图,视图对象支持迭代操作
-————————————————————————————————
4、函数
这里简单介绍一下如何定义函数的
def functionName(变量名1,变量名2,变量名3=x,):
函数体
return # 可以不返回值
注 其中变量名1 就是正常的输入就可以了,然后变量名3是默认变量名,如果有输入的
就直接改变,否则直接使用默认值 具体看下面的值
实例运用
def MysumFunction(a,b):
"""
表示求和函数 从a 到b
"""
sums=0
# 因为python的range(a,b) 是从a到b-1。
for i in range(a,b+1):
sums+=i
return sums # 这个是表示是否返回值
Lambda 函数 (匿名函数)
- lambda函数也称表达式函数,用于定义匿名函数,可将lambda函数赋值给变量,通过变量调用函数。lambda表达式基于数学中的 λ演算 得名,它主要的作用就是简化函数代码,与def不同,lambda只能用一行表示。lambda函数定义的基本语法为:lambda 参数表:表达式
um = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )
-————————————————————————————————
5、面对对象(封装、继承)面向对象技术简介
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
方法:类中定义的函数。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
局部变量:定义在方法中的变量,只作用于当前实例的类。
实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
实例化:创建一个类的实例,类的具体对象。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
类的语法格式
class ClassName:
<statement-1>
.
.
.
<statement-N>
简单的类
# 类的属性介绍
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i) # 输出结果:3.0 -4.5
# 基本类
class Test:
def prt(runoob):
print(runoob)
print(runoob.__class__)
t = Test()
t.prt()
类的继承实例
#类定义
class people:
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
#定义构造方法
def __init__(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s 说: 我 %d 岁。" %(self.name,self.age))
#单继承示例
class student(people):
grade = ''
def __init__(self,n,a,w,g):
#调用父类的构函
people.__init__(self,n,a,w)
self.grade = g
#覆写父类的方法
def speak(self):
print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
s = student('ken',10,60,3)
s.speak()
类的私有方法实例
#!/usr/bin/python3
class JustCounter:
__secretCount = 0 # 私有变量
publicCount = 0 # 公开变量
def count(self):
self.__secretCount += 1
self.publicCount += 1
print (self.__secretCount)
counter = JustCounter() # 实例对象
counter.count()
counter.count()
print (counter.publicCount)
print (counter.__secretCount) # 报错,实例不能访问私有变量
-————————————————————————————————
6*、模块和包(这里算是一个扩展知识,对未来的制作大项目而言还是比较有好处的)
模块是一个包含变量、函数或类的程序文件,模块中也可包含其他的各种Python语句。大型系统往往将系统功能划分为模块来实现,或者将常用功能集中在一个或多个模块文件中,然后在顶层的主模块文件或其他文件中导入并使用模块。Python也提供了大量内置模块,并可集成各种扩展模块。
引用语法
import 包名
import 包名 as someName # 这个someName是别名
from 库名 import *
from 库名 import 包名 # 这里的包名和上面的包名都可以用点 . 分割开
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
https://www.runoob.com/python3/python3-tutorial.html 菜鸟教程
这个也是一个最常用的python教程 这个里面还有很多其他的知识 可以去看看