尚学堂Python第一季笔记

第一次课---Python
    1.是解释型,面向对象的语言
 
    2.特点
        可读性强,简洁,C语言开发,面向对象,免费和开源,可移植性和跨平台,丰富的库,可扩展型(课嵌入C和C++)
 
    3.应用范围
        科学计算,人工智能,web服务端和大型网站的后台,GUI开发,游戏开发,移动设备,嵌入式设备,系统运维,大数据,云计算
 
    4.缺点
        是解释执行,性能较低
 
    5.在cmd中退出python----quit(),中断执行:ctrl+c,交互模式:在cmd中输入idle,就会出现python-shell,就可以在这里进行编程了
 
注意:
    在写python代码时,不要在行开头使用空格,因为在python中空格有缩进组织结构的意思
 
    6.程序基本格式
        1.恰当的空格,缩进问题
            (1).逻辑行首的空白(空格和制表符)用来决定逻辑的缩进层次,从而用来决定语句的分组
            (2).语句从新的第一列开始
            (3).缩进风格统一
                    1.每个缩进层次的使用,单个制表符或四个空格(IDE)会自动将制表符设置为4个空格
                    2.Python用缩进而不是{}表示程序块
        2.Python区分大小写
        3.注释
                1.行注释-----使用#
                2.段注释-----使用'''注释的内容''',即三个单引号开始,三个单引号结束
    
  尚学堂Python第一季笔记_第1张图片
 
 
海龟绘图
  尚学堂Python第一季笔记_第2张图片  尚学堂Python第一季笔记_第3张图片
 
奥运五环图
  尚学堂Python第一季笔记_第4张图片  尚学堂Python第一季笔记_第5张图片
 
 
Python程序的构成
    1.Python程序有模块组成。一个模块对应Python源文件,一般后缀为.py
    2.模块由语句组成。运行python程序时,按照模块中语句的顺序依次执行
    3.语句是python程序的构造单元,用于创建对象,变量赋值,调用函数,控制语句等
 
Python中的行连接符-----"\"
    一行程序长度是没有限度的,但是为了可读性更强,通常将一行比较长的程序分为多行,使用"\",python解释器仍然将它们解释为同一行
  尚学堂Python第一季笔记_第6张图片
 
Python----对象
    python中,一切皆是对象。每个对象由: 标识,类型,值组成
        1.标识用于唯一标识对象,通常对应于对象在计算机内存中的地址,使用内置函数id(obj)可返回对象obj的标识
        2.类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获得对象的所属类型
        3.值表示对象所存储的数据的信息。使用print(obj)可直接打印出值
对象的本质:一个内存块,拥有特定的值,支持特定类型的相关操作
  尚学堂Python第一季笔记_第7张图片  尚学堂Python第一季笔记_第8张图片
 
引用
    在Python中,变量也成为:对象的引用,因为变量存储的就是对象的地址。变量通过地址引用了“对象"
变量位于:栈内存
对象位于:堆内存
 
    python是动态类型语言
        变量不需要显式的声明类型,根据变量引用的对象,python解释器会自动确定数据类型
    python是强类型语言
        每个对象都有数据类型,只支持该类型支持的操作
 
 
标识符
        用于变量,函数,类,模块等的名称
            1.区分大小写
            2.第一个字母必须是字母或下划线,其后的字符可以是字母,下划线,数字
            3.不能使用关键字
            4.以双下划线开头和结尾的名称通常由特殊的含义,尽量避免使用这种写法,如_int_是类的构造函数
规则:
            模块和包名---全小写字母,尽量简单,多个单词之间用下划线
            函数名--------全小写字母,多个单词之间用下划线隔开
            类名----------首字母大写,采用驼峰原则,多个单词之间,每个单词第一个字母大写
            常量名--------全大写字母,多个单词使用下划线隔开
 
变量
        变量的声明和赋值用于将一个变量绑定到一个对象,格式如下:
            变量名 = 表达式
a = 33;  //运行的过程中,解释器先运行右边的表达式,生成一个代表表达式的运算结果的对象,然后,将这个对象地址赋予给左边的变量
删除变量:
        del a   #这只是将对象的地址在变量a所代表的栈中删除了,即这个对象的地址不赋给a了,这个对象本身的值”33“还在堆内存中,等待python中的垃圾回收机制进行回收
 
链式赋值
    x,y = 1,2       #相当于x =1,y = 2
    x,y = y,x       #变量交换
  尚学堂Python第一季笔记_第9张图片
 
常量
    python不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改
  尚学堂Python第一季笔记_第10张图片
 
python中的基本类型,python支持的类型有:
    1.整型
    2.浮点型  3.14或者314e-2(科学计数法)
    3.布尔型
    4.字符串型
整数/浮点型的基本运算符
+ - * % 
整数取整://
浮点数取整:/
幂  **
  尚学堂Python第一季笔记_第11张图片  尚学堂Python第一季笔记_第12张图片
 
divmod(a,b)---即取整又取余
  尚学堂Python第一季笔记_第13张图片  从上面的答案和下面的答案可知,divmod只对整数有用
 
 
整数---int
        进制:十进制
                  二进制(0b或0B---0,1)
                  八进制(0o或0O---0,1,2,3,4,5,6,7)
                  十六进制(0x或0X---0,1,2,3,4,5,6,7,8,9,a,b,c,d,f
二,八,十六可以非常方便的进行"位运算"
  尚学堂Python第一季笔记_第14张图片
 
 
int()---实现类型转换
浮点型:直接去掉小数部分
布尔值:true---1,false---0
字符串:数字型(必须是整数,浮点数不行)---直接转换为对应的整数,否则报错
  尚学堂Python第一季笔记_第15张图片
  尚学堂Python第一季笔记_第16张图片
 
自动转换---当整数与浮点数进行运算时,表达的结果会直接转换成浮点数
 
整数可以多大?----在python3中int可以存储任意大小的整数,而Long被取消,即python3可以做超大数的计算,而不会造成"整数溢出",这也是python特别适合科学运算的特点
 
 
浮点数---float
                使用科学计数法表示 3.14--314e-2,在内存中也是使用科学计数法
 
 
float()实现类型转换
整数:与浮点数进行混合计算时,会自动转换为浮点数
布尔型:True--1.0 False--0.0
字符型:整型/浮点型---都可以转换为浮点型,否则都不可以
  尚学堂Python第一季笔记_第17张图片
 
增强型赋值运算符
        +=,-=,/=,//=,%=,**=
 
时间的表示---time.time()
        计算机中时间表示开始:1970.1.1 00:00:00,以毫秒进行计算,返回带微秒(1/1000毫秒)精度的浮点数
  尚学堂Python第一季笔记_第18张图片
 
 
 
例子---定义多点坐标_绘出折线_并计算起始点和终点距离
        两个对象---turtle,math
  尚学堂Python第一季笔记_第19张图片

 

 
 
 
布尔值
    python3中,关键字Ture--1,false--0,其本质还是1,0,可以和数字进行数值运算
  尚学堂Python第一季笔记_第20张图片
 
 
比较运算符---返回值1为真,0为假,这与True,False等价
    == , !=,>=,<=,>,<
 
逻辑运算符
    or,and,not---使用: x or y,x and y,not x
 
同一运算符
is  , is not-------x is y ,x is not y-----判断两个对象的地址是否相同(id),即x,y两个变量指向的对象的地址是否相同,即相同,则x,y引用的是同一个对象,否则引用的是不同的对象
  尚学堂Python第一季笔记_第21张图片
 
is与”==“的区别
    1.is用来判断两个变量是否引用的是同一个对象
    2.判断变量指向的对象中的值是否相等
 
整数缓存问题
        python仅仅对比较小的整数对象进行缓存(范围[-5,256])缓存起来,而非是所有整数对象,需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结算结结果是不一样的,这是因为解释器做了部分优化(范围[-5,任意正整数])
 
  尚学堂Python第一季笔记_第22张图片 
 
注意:
        1.按位翻转的结果位: -(x+1)
        2.比较运算中:a = 12    5
        3.按位运算符中:a = 12 print(bin(a))----bin()可以将数值转换为二进制
         4.字符串连接:”123“ +”567“----123567
         5.列表,元组等合并 [1 2 3] +[ 3 4 5 6 7 ]---[1 2 3 3 4 5 6 7]    
         6.字符串复制 "123"*3---123123123
         7.列表,元组复制 [1 2 3]*3---[1 2 3 1 2 3 1 2 3]
         8.python中不支持自增,自减
 
运算符优先级:
  尚学堂Python第一季笔记_第23张图片 
 
 
 
 
 

你可能感兴趣的:(Python)