栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【day1】Python基础知识-pycharm版

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【day1】Python基础知识-pycharm版

  1. 安装PyCharm和Anaconda
    Anaconda是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。包含了conda、Python在内的超过180个科学包及其依赖项。其包含的科学包包括: numpy, pandas, ipython notebook等。(但如tensorflow, pytorch, xgboost等则需要自己安装,后面都会有安装文档)
    PyCharm是一个用于计算机编程的集成开发环境,主要用于Python语言开发。

  2. python介绍
    python是一种解释型、面向对象的语言。官网(www.python.org)就有交互界面,可以体验简单程序。
    python是由C语言开发的,但简洁。
    优点:免费和开源、可移植、跨平台(JAVA也是)、丰富的库、可扩展性(可嵌入到C和C++语言,又称胶水式语言。举例:一般代码用python,需要效率高时写C语言)
    应用范围:
    1.科学计算(JAVA和python居多)
    2.人工智能(python最多)
    3.WEB服务端和大型网站后台(JAVA最多,其次PHP,也有python例如国外的油管和国内的豆瓣)
    4.GUI开发(图形用户界面开发,视频播放器)
    5.游戏开发(C++)
    6.移动设备
    7.嵌入式设备
    8.系统运维
    9.大数据
    10.云计算

  3. 不应该用python的场景
    因为python是解释执行性语言,性能不高(影响性能的可以用C/C++/JAVA/GO

  4. 兼容问题
    python3在2008年发布,不兼容python2,但需要2从3过渡时,可以用python自带的一个脚本(2to3),将2程序迁移到3里面

当写好代码后,由解释器去执行,用得最多的是CPython(使用C语言实现的解释器)
常用开发环境:IDLE、Pycharm、WingIDE…

IDLE:迷你版IDE,python的集成开发与学习环境,python自带的编辑器(竞赛、考研复试等情况下只能用这个),操作起来麻烦
IDE:集成开发环境,编程开发软件,基本不再局限支持一种语言。pycharm就是个IDE,相当于Python的外套

>>>提示符
  • 关闭交互窗口:

1.右上角直接关闭
2.提示符后面ctrl+z和回车
3.提示符后面输入quit()命令

  • 死循环时需要中断程序执行:ctrl+C

KeyboardInterrupt键盘中断

  • IDLE使用

步骤:搜索“IDLE”打开,新建Python原文件(File>New File),保存(Flie>save)
编程后执行——摁F5(或者Run>Run module)
注意:
1.不要在程序中开头空格,空格有缩进意思
2.符号都是英文符号

  • 缩进问题(缩进时,几个空格都是可以的,但数目必须统一)
    一般采用4个空格算一个缩进或使用单个制表符【Tab键】,常用编辑器一般设置成Tab制表符就是4个空格

python用缩进来组织结构的,C语言用{}

  • 注释

1.行注释(#)效果是这一行,解释器会跳过,给自己看

#测试,就是这样的
a=3#赋值a,=是赋值符的意思,把3赋值给a

2.段注释(三个连续的单引号’’’)

'''
	测试测试
'''
  • 行连接符()

一行程序的长度虽然没有限制,但为了可读性更强,会将一行较长的程序分成多行,使用行连接符(),把它放在结束的地方。
打开IDLE

>>> a="abcdefghijklmnopqrstuvwxyz"
>>> b="abcdefgh
ijklmnop
qrstuvwxyz"

当输入b时,显示如下

>>> b
'abcdefghijklmnopqrstuvwxyz'

Python程序的构成
python程序由(多个)模块构成,模块由(多个)语句构成,语句由表达式(例如:a+b)组成。
一个模块对应python源文件,后缀名:py
程序运行时,按照模块中语句依次运行
注意:ctrl+s(保存文件)

  • 对象
    python中,一切皆对象,每个对象由:标识(identity)、类型(type)、值(value)组成。
    1.标识,通常情况是计算机里的内存地址,每个内存建好后都有对应的编号。使用内置函数id(obj)可返回对象obj的标识。
    2.类型,可以使用type(obj)获得对象的所属类型。
    3.值,使用print(obj)可以直接打印出值。
    对象的本质是内存块。
    例如,停车场上大大小小(类型)的停车位,每个停车位有自己的编号(标识,简称id),在某某位置停车位停了一辆叫xx的车(值)
    红色框就是内存块,里面是它包含的内容 ↑

>>> a=3   #a是一个变量,3是一个对象
>>> a
3
>>> id(3)
1531372336
>>> type(3)

所以代码是这么看的,对象把地址(1531372336)给了变量a↑

>>> id(3)
1531372336
>>> type(3)

>>> id(a)
1531372336
>>> type(a)

>>>print(a)
3

蓝色框就像个标签,红色框是一个对象,标签可以换掉,但对象始终都存在。标签可以代表对象,搜索标签可以查到这个对象(举例:名字对应人)

再举例

>>> b="我爱你"
>>> id(b)
46806816
>>> type(b)

  • 引用

变量成为:对象的引用。变量储存的就是对象的地址。变量通过地址引用了“对象”。
变量位于:栈内存
对象位于:堆内存

python是动态类语言,变量不需要显式声明类型。(举例,在JAVA里,需要声明int a=3,在python里直接写a=3,因为可以由变量找到对应的对象,对象里有对应的type,所以就没必要重复写这个)所以可以根据引用对象,自动确定数据类型
python是强类型语言,每个对象都有数据类型,只支持该类型支持的操作。↓

>>> a=3+10
>>> a
13
>>> a=3+"aaa"#回车键后,显示不支持操作
Traceback (most recent call last):
  File "", line 1, in 
    a=3+"aaa"
TypeError: unsupported operand type(s) for +: 'int' and 'str'
  • 标识符

用于变量、函数、类、模块等名称(起名字),但要遵循相应的规则。
1.区分大小写。如:sxt和SXT是不同的。
2.第一个字符必须是字母或下划线,后面的字符是:字母或数字或下划线。

>>> sxt=3
>>> _sxt=456
>>> 3sxt=568
SyntaxError: invalid syntax

3.不能用:if、or、while等关键字(举例,起人名,不能起高爷爷、高爸爸,乱套了)

>>> if=3
SyntaxError: invalid syntax
>>> #也报错了

4.以双下划线(–)开头或结尾的名称通常有特殊含义,尽量避免这种写法。

  • 进入帮助系统看有哪些关键词

先输入>>> help()再回车
在最后一行help>的后面输入keywords,再回车
如何退出:在最后一行help>的后面输入quit,就回到了交互模式下继续编程。

也可以直接按F1,进入目录索引

  • 变量和赋值

变量名=表达式
注意:变量在使用前必须先被初始化(先被赋值)

>>> a=3
>>> a
3
>>> ddd#这个ddd没有被赋值,回车后就变下面这样
Traceback (most recent call last):
  File "", line 1, in 
    ddd
NameError: name 'ddd' is not defined
>>> ddd=0
>>> ddd
0
  • 删除变量(del)和垃圾回收机制(如果对象没有变量引用,就会被回收,清空内存空间)

可以用del语句删除不再使用的变量

>>> del a
>>> a
Traceback (most recent call last):
  File "", line 1, in 
    a
NameError: name 'a' is not defined


只是把左边的a删除了,右边的对象还在,但堆的空间就那么大,这个对象会被回收(吃完饭,服务员清理桌子)

海龟绘图(turtle)

import turtle#import是导入,turtle是模块
turtle.showturtle()#显示箭头
turtle.write("高琪")#写字符串
turtle.forward(300)#前进300像素
turtle.color("red")#画笔颜色改成红色
turtle.left(90)#箭头左转90度,同理,右转是right
turtle.forward(300)
turtle.goto(0,50)#去坐标(0,50)
turtle.goto(0,0)#回原点了
turtle.penup()#抬笔操作,这样路径就看不见了,同理,pendown是落笔
turtle.goto(0,300)#可以发现箭头移动了但没有路径线条
turtle.pendown()
turtle.circle(100)#画半径为100的圆,逆时针的


奥运五环

#绘制奥运五环

import turtle
turtle.width(10)#设置圆圈的宽度为10像素宽

turtle.color("blue")#设置圆圈的颜色
turtle.circle(50)

turtle.penup()#画第一个圆时,没有关系。第2和第3个圆中间没有连着的线
turtle.goto(120,0)#如果是坐标(100,0)会发现两个圆正好贴一块,因此要分开一点点
turtle.pendown()

turtle.color("black")
turtle.circle(50)

turtle.penup()
turtle.goto(240,0)
turtle.pendown()

turtle.color("red")
turtle.circle(50)#以上,上排的3个圆画好了

turtle.penup()
turtle.goto(60,-50)
turtle.pendown()

turtle.color("yellow")
turtle.circle(50)

turtle.penup()
turtle.goto(180,-50)
turtle.pendown()

turtle.color("green")
turtle.circle(50)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号