#python基础语法
无论学习什么语言,我们最初都要学习这门语言的基础语法及一些基本定义,下图基本涵盖了python学习所有的基础知识,下面我就详细来说上一说,说的不好您见谅:

1.首先介绍一下数据类型: python数据类型,包含数字,字符串,列表,元组,字典,集合:
a.数字类型包含: 整型:int(1/2/3)、浮点型:float(3.14)、复数:complex(a+bi);(数字可以计算:加减乘除等数学计算)

b.字符串 str: str(数字) 、三个单引号:‘’’ xxx’‘’,双引号:” xxx” 、单引号:‘xxx’ ;(可以用+进行拼接)

c.列表(可变,有序) list: 可以存储字符串:name = [“张三”,“李四”,“王五” ] ,可以存储数字:num=[1,2,3];
语法: 读取元素name[0/1/2] ,列表合并:name+num ->print(name+num),元素添加append:name.append(num[1]) ,元素删除:del name[1] ,列表删除:del name 切片(切割出部分数据形成一个新的列表):name(start:end:step)

d.元组 (不可变,有序) tuple: name = (“张三”,“李四”,“王五”) ,num=(1,2,3) ;(不可变就是不可以单独删除某个元素,与列表对应)
语法: 读取元素:name[0] ,元组合并:name+num ,更改元组:name = num , 删除元组:del name , 切片(切割出部分数据形成一个新的元组):num(start:end:step);

e.字典(可变,无序) dict: name ={‘f’:’123’,’y’:’124’,’h’:’125’};(无序,依靠键值对识别)
语法: 读取值:name[‘f’]->‘123’,添加元素:name[key] = value ,
删除元素:del name[‘h’] ;

f.集合(可变,无序,唯一): name = {f , y , h},name1 = {f , y};
语法: 添加元素:name.add(‘a’) ,删除元素:remove.name(f),
删除集合:del name,交集、并集、差集运算:name&name1
name|name1 name-name1
注:查看数据类型:type(xxx)

2.python的运算符和其他语言基本一致, 如果有其编程基础理解起来会更容易:
a.算数运算符:+、 - 、* 、/ 、%(取余) 、//(取整)、**(幂)
b.逻辑运算符:and、or、not (结果:True 、False)
c.赋值运算符:a= b
d.比较运算符:>、<、== 、>=、<=、!=
e.位运算符:&(位与)、|(位或)、^(位异或)、~(位取反)
<<(左移运算符)、>>(右移运算符)

注:优先级问题:分号分隔等级

3.python基本的语句:
a.输入函数:a= int(input(“请输入数值”)) b= int(input(“请输入数值”))->对于可变的数值变量可以用input函数,比如年龄;
b. 输出函数:print(a,b,”我爱小甲鱼”)->对于我们不确定的数据可以利用这个函数打印,观察输出是否理想;
注:
#1.注释代码:(代码不用还不想删掉,或者给代码加入说明):
// 注释的内容 、‘’‘注释内容’‘’、Ctrl + /(快速加注释/取消注释)
#2.Python对于缩进非常严格,也就是同一级别的代码一定要对齐,否则一定会报错;

4.python 条件控制语句if,当我们需要选择的时候,就可以用if语句进行控制,下面是基本用法:

if 条件1:print(1)elif 条件2:print(2)elif 条件3:print(3)else:print('当以上条件都不满足时,我能显示出来!')解释:当条件1成立时,输出1,后面的语句不会执行当条件1不成立,条件2成立时,输出2,条件2后面的语句不会执行当条件1和条件2都不满足,条件3成立时,输出3,条件3后面语句不会执行当条件1、2、3都不满足时,执行else语句,输出'当以上条件都不满足时,我能显示出来!'

实例展示:

#美观注释方法
'''
作者:天甜费
昵称:一飞冲天咻咻
人生格言:爱代码,爱人生
import xxxx
from   xxxx  import xxx
'''
import datetime                                #调入时间模块1111
imyear = input("请输入您的出生年份:")         #输入出生年份
nowyear = datetime.datetime.now().year         #计算当前年份
age=nowyear-int(imyear)                        #计算实际年龄
print("您的年龄为:"+str(age)+"岁")            #输出年龄if age < 18:print("您现在为未成年人 (*^_^*)")
elif age >= 18 and age<66:print("您现在为青年人 ( ఠൠఠ )ノ")
elif age >= 66 and age<80:print("您现在为中年人 ( ̄▽ ̄)")
else :print("您现在为老年人(❤ ω ❤)")# num = input("输入字符:")
# print(num+"的ASCII码为:", ord(num))

运行后截图:

5.python 循环语句while语句,for语句,当我们需要重复做同一件事情的时候,我们需要想起他们:
a.while语句:

i = 1      #创建并初始化一个控制while循环的变量i
while i <= 10:print("hello")   #此处执行10次i += 1

运行后截图:

b.for语句:
注:
break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面的代码不再执行,但是循环依然继续
eixt():结束程序的运行

for i in range(10):   #与C语言不同,in后面的数值会赋值给i,循环次数看in后面数据个数,range相当于一个列表list: [0,1,2,3,4,5,6,7,8,9],所以正常会循环十次if i == 5:#break#continueexit()print(i)
print('hello python')

实例展示:

def xunhuan():                      #加入了一个函数,可以被调用for i in  range(1,10,1):print(i, end=" ")           #不会换行print(end=" ")string1 = ["天甜费", "一飞冲天咻咻"]   #列表string2 = "天甜"                #字符串for fei in string1:print(fei)for i in string2:print(i)f = 2 ;
while f >= 1:                       #while 语句演示f = f-1xunhuan()

运行后截图:

6.迭代器及生成器:
学习网址:迭代器和生成器学习链接
a.迭代器: 可以for循环出来的数据结构: python中,任意对象,只要定义了__next__方,iter()中的方法,它就是一个迭代器:字符串、列表、元组、字典、集合都是;字典和集合虽是无序的,但是仍可迭代,自行验证,很有趣的;
b.生成器: 在python中,这种一边循环一边计算的机制,称为生成器(Generator);生成器也是一种迭代器,但是你只能对其迭代一次,这是因为它们并没有把所有的值存在内存中,而是在运行时生成值。程序存在 yield/存在循环计算 的公式:都可称之为迭代器
生成器存在目的: 节省空间占有率
**生成器介绍链接: **yield和return
实例展示: 第一个函数,需要的数值是通过计算得出来的num = num +1,yield返回后就会释放内存,节约空间; 而第二个函数需要所有数据都在内存中存好了才能被取出来,浪费内存,这两者会在处理大量数据的时候看出区别,前者会比后者利用的空间少的多,减少内存压力:


7.模块导入:
python我们之前介绍过其中一个优势就是第三方模块众多,当时说的是兄弟多,但是兄弟多没人来帮也不行呀,所以兄弟之间就定义了一个暗号,表示见到暗号说到就到:
a.from xxx import xxx
b.import xxx

注:模块是 函数封装 后的效果,可以用import引用自己写好的函数。(过程现在不需要我们去深究,只是明白使用规则就可以了)
python自带系统模块,也可以导入第三方模块(后面会讲如何导入第三方模块),或者引用自己模块。
系统查找模块的顺序,首先找文件夹内是否存在,在找python环境变量目录中是否有,若都没有则报错:

实例展示:
#定义一个module.py的简单模块,下面是模块里面的程序

#定义一个model.py的简单模块,下面是模块里面的程序
pinetree = '我是一棵松树'        #定义一个全局变量
def fun_module():              #定义一个函数pinetree = '挂上彩灯/礼物......我要变成一颗圣诞树\n' #更新变量值print(pinetree)

#定义一个test模块调用module.py模块:

import module                              #引入模块
print('输出全局变量为:',module.pinetree)   #操作变量
module.fun_module()                        #操作函数

运行后截图:

8.文件操作:
a. 打开文件操作: file = open(“D:\abc.txt”, r/w/a, encoding =‘utf-8’)或者
with open(“D:\abc.txt”, r/w/a, encoding =‘utf-8’) as file
注:
#1.“D:\abc.txt”:是文件的绝对路径;
#2.r/w/a:是模式选择,r:只读模式,w:只写模式,a:追加写入模式;二进制写入在后面加个b,例如ab;
#3.encoding =‘utf-8’:编码模式utf-8,通用编码。
b.写入文件操作: file.write(string)->打开文件要选择w/a模式;
c.读取文件操作: response=file.read()->打开文件要选择r模式;
d.关闭文件操作: file.close()->读写操作完成后要关闭文件才会保存。

实例展示:

file = open("D:\\fei.txt","a",encoding='utf-8')
file.write("费")
file.close()file = open("D:\\fei.txt","r",encoding='utf-8')
File = file.read()
print(File)
file.close()

运行后截图:


9.os:对文件及目录进行处理:
下图是os操作的函数介绍,需要的时候可以查找一下,有时间也可以练习一下,加深理解和印象,编程就是要不断的敲代码,就像运动员一样,无论之前多厉害,只要有一段时间不锻炼,就会明显感到退步:学如逆水行舟,不进则退。


10.异常处理try: 异常处理学习链接
异常处理就是把可能会出错的代码放到下面的语法中,最常用形式:
try:正常情况下,程序计划执行的语句。
except:程序异常是执行的语句。
else:程序无异常即try段代码正常执行后会执行该语句。
finally:不管有没有异常,都会执行的语句。
实例展示:

a = [1, 2, 3]
try:a[3]
except Exception as e:print('错误类型是', e.__class__.__name__)print('错误明细是', e)
else:pass
finally:print('hello')

运行后截图:

11.对象: 都说python是高级语言,主要是因为面向对象,那么我们就来揭开面向对象的庐山真面目:面向对象有三个特性,封装,继承,多态:

举例子:
①.C语言是面向过程的语言,也就是盖一座房子要描述搬砖、和泥、砌墙等;python及其他一些高级语言是面向对象的语言,也就是只需要描述长宽高样式等即可盖出一座房子,这体现了面向对象的封装特性;
②.我们如果加入一个参数,让盖出的房子有楼房,平房,别墅,这就体现了面向对象的继承特性,继承原本简单的房型,构建不同的房型;
③.那我们还可从使用来看,有的是自己住,有的做生意,有的养牛,这就体现的面向对象的多态特性。

理解了上面也就理论上明白了对象的定义,距离真正使用也就不远了:
a.对象分为静态和动态 两个部分:属性(定义的变量)及行为(封装在类里面的函数,可以有很多个):类是封装属性和行为的载体: class 类名xxx
b.对象进行类化后: 类具有封装、继承、多态等特性,可以使软件设计更加灵活,能更好的进行代码的复用;万物皆对象。

import random as rclass Fish:                 #父类,定义一个鱼:Fish类def __init__(self):self.x = r.randint(1,10)   #父类,定义2个属性x,yself.y = r.randint(1,10)    def move(self):                #定义一个移动的行为self.x -= 1print("我的位置是:",self.x,self.y)
class Glodfish(Fish):       #子类,定义一个金鱼:GlodFish类,继承Fish父类的方法,下面的其他鱼也是一样的pass
class Carp(Fish):         pass
class Salmen(Fish):       pass
class Shark(Fish):        def __init__(self):super().__init__() #子类,操作这个语句,就可以使用父类的属性#super().__init__派生类(子类)调用基类(父类)的**类属性**,要进行声明;self.hungry = True     def eat(self):         #子类,定义一个方法,也就是上面说的行为if self.hungry:print("吃货的梦想就是天天有的吃,哈哈")self.hungry = Falseelse:print("太撑了,吃不下了!")
F = Fish()     #父类,实例化(类实例化之后就可以操作属性及方法),比如下面的方式
F.move()
F.move()S = Shark()      #子类,实例化
print(S.hungry)  #类实例化之后就可以操作属性及方法
S.eat()
S.move()

c.类里面变量定义:变量传递,类属性,实例属性;

#1.魔术方法__init__()     #变量传递:变量在类的外面,传参方式调用;
class Geese:def __init__(self,beak,wing,claw):print("我是大雁类,我有以下特征:")print(beak)print(wing)print(claw)
beak_1 = "喙的基部比较高,长度和头部的长度几乎相等"
wing_1 = "翅膀长而尖"
claw_1 = "爪子是噗状的"wildGoose = Geese(beak_1,wing_1,claw_1) #变量传递#2.创建类属性,指定义在类中,且在方法外面的:
class Geese:beak_1 = "喙的基部比较高,长度和头部的长度几乎相等"wing_1 = "翅膀长而尖"claw_1 = "爪子是噗状的"           #三个类属性,直接定义在类下面def __init__(self):print("我是大雁类,我有以下特征:")print(Geese.beak_1)print(Geese.wing_1)print(Geese.claw_1)wildGoose = Geese()#3.创建实例属性,指定义在类的方法中的属性:
class Geese:def __init__(self):                                              #类的方法self.beak_1 = "喙的基部比较高,长度和头部的长度几乎相等"self.wing_1 = "翅膀长而尖"self.claw_1 = "爪子是噗状的"#三个实例属性,定义在 __init__(self)下面print("我是大雁类,我有以下特征:")print(self.beak_1)print(self.wing_1)print(self.claw_1)wildGoose = Geese()#4.实例属性通过实例名进行修改:
class Geese:def __init__(self):self.beak_1 = "喙的基部比较高,长度和头部的长度几乎相等"self.wing_1 = "翅膀长而尖"self.claw_1 = "爪子是噗状的"print("我是大雁类,我有以下特征:")print(self.beak_1)print(self.wing_1)print(self.claw_1)wildGoose1 = Geese()
wildGoose2 = Geese()
wildGoose1.wing_1 = "毛绒绒的"
print(wildGoose1.wing_1)
print(wildGoose2.wing_1)#5.类里面创建方法:
class Geese:def __init__(self):self.beak_1 = "喙的基部比较高,长度和头部的长度几乎相等"self.wing_1 = "翅膀长而尖"self.claw_1 = "爪子是噗状的"print("我是大雁类,我有以下特征:")print(self.beak_1)print(self.wing_1)print(self.claw_1)def fly(self):            #创建的方法,也就是i can flyprint("我能飞")wildGoose1 = Geese()
wildGoose1.fly()#6.重写父类方法
class Fruit:color = "绿色"def harvest(self,color):print("水果是:"+color+"的")print("水果原来是:"+Fruit.color+"的")
class Orange(Fruit):color = "橙色"def __init__(self):print("我是橙子")def harvest(self,color):print("橙子是:" + color + "的")print("橙子原来是:" + Fruit.color + "的")#7.派生类中调用基类__init__()
class Fruit:def __init__(self,color = "绿色"):Fruit.color = self.colordef harvest(self):print("水果原来是:"+Fruit.color+"的")
class Orange(Fruit):color = "橙色"def __init__(self):super().__init__()print("我是橙子")orange = Orange()
orange.harvest()

以上就是基础知识部分的学习,我这里做了一个基本的整理及总结,但是要想成为一个优秀的大牛,就要不断的汲取知识,学无止境,况且入坑。

之前听过一句话感觉不错,学到的就要教人,赚到的就要给人,这也是我做这件事的初衷,因为当我遇见BUG或者不会的知识点的时候,去百度搜索总能找到方法或者思路,所以我也想贡献自己微薄的力量;也许我终将平庸,但只要曾经想过在无垠的大海振起涟漪,那也就不枉此生了。

第三篇分享,持续更新中,,,,,*

#第3篇分享:python基础语法-磨刀不误砍柴工相关推荐

  1. python print放同一行_python基础篇:python基础语法原来如此简单

    Python 作为一门计算机语言自然有它自己的语法规则,就像英语.汉语都有自己的语法规则一样.Python的语法以简洁著称,它以行.缩进.注释.标识符.保留关键字等几方面来规定了自己的语法. 下面我们 ...

  2. Python基础语法入门篇(一)

    Python基础语法入门篇(二) 1. 注释 在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己 或者其他编码人员解读代码. 注释是给程序员看的,为了 ...

  3. 博学谷学习记录之人工智能(python基础语法)第一篇

    目录 写在前面 python基础语法介绍 1.python基础编程 python开发环境搭建 Python注释与变量 写在前面 我是大学学习土木工程专业2020年毕业,毕业后一直从事BIM工程师的职位 ...

  4. python基础语法大全turtle_Python 基础语法-turtle篇-Go语言中文社区

    Python 基础语法-turtle篇 今天这节课主要讲了类的概念,并引出turtle中的函数和Turtle类. -创建一个Turtle类:brad=turtle.Turtle() -定义Turtle ...

  5. python怎么定义整数数组_python中输入整数数组长度python基础语法

    变量 数字类型 运算符 流程控制 while循环 dead loop continue vs break while else 变量(Varibles) W WW.002pc .COM认为此文章对&l ...

  6. Python 基础语法_Python脚本文件结构

    目录 目录 前言 软件环境 Python Script文件结构 导入模块的流程 Python的包package 最后 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算 ...

  7. 【Python基础】Python基础语法14个知识点大串讲

    作者:来自读者投稿 来源:Python数据之道 Python基础语法大串讲 Python 是一门面向对象的编程语言,相信这篇文章对于初学者而言应该会有一个比较大的帮助,下面我们将 Python 中常用 ...

  8. 风变编程python助教_花30天时间,学完了风变编程Python基础语法课

    原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...

  9. 第六篇:python基础之文件处理

    第六篇:python基础之文件处理 阅读目录 一.文件处理流程 二.基本操作 2.1 文件操作基本流程初探 2.2 文件编码 2.3 文件打开模式 2.4 文件内置函数flush 2.5 文件内光标移 ...

最新文章

  1. [Unity] 无脚本导出 Texture 为 PNG
  2. pandas apply()函数传参,与解决TypeError: xxxx() takes 2 positional arguments but 3 were given报错
  3. ConcurrentHashMapK, V的实现
  4. 浙大 PAT b1018
  5. 大学生买macbookpro合适吗?
  6. tomcat如何设置账号和密码
  7. QLineEdit屏蔽扫描枪输入自带回车的方法
  8. 内核编译报错: warning: the frame size of 1072 bytes is larger than 1024 bytes
  9. 《天才在左,疯子在右》
  10. 41-C++自动存储、静态存储和动态存储
  11. DHCP如何分配IP地址
  12. 燃料电池多点恒功率工作Cruise仿真模型
  13. python学习 day7_字符串、列表的相关操作
  14. 瑞星微RK3288 核心板
  15. try的动词用法_有关try的常用短语和用法
  16. Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版
  17. android 访问usb摄像头,从Android中的webview访问外部USB摄像头
  18. ios拉伸图片某部分,九点图
  19. seqminopt matlab,smo算法matlab实现
  20. Loopring(路印协议)——去中心化交易协议真的有未来吗?

热门文章

  1. Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑
  2. 用74161实现12进制与20进制
  3. 地图坐标系大全:常用地图坐标系详解与转换指南
  4. 操作系统有道云笔记链接
  5. php教程后盾人,后盾人“你我最好的老师”
  6. 2016年研究生数学建模A题
  7. 手把手教你3步轻松制作报表
  8. 宝塔无法登录mysql服务器_宝塔面板提示无法登陆MySQL服务器的解决办法!
  9. Python:矩阵加法、减法和数乘
  10. 光纤收发器指示灯及常见问题详解