Python自学记录

[亡魂溺海] 提交于 2020-01-27 14:18:05

学习来自:阿里云大学/通用技术 /Python /Python语言基础1:语法入门
网站链接.

数据类型

数据类型指的就是值的类型,也就是可以为变量赋哪些值

数值

1. 在Python中,数值分为整数,浮点数(小数),复数
2. 在Python中所有的整数都是int型
3. 在Python中所有的小数都是float型
4. Python中的整数的大小没有限制,可以是一个无限大的整数
5. 如果数字过大可以使用下划线作为分隔符
  1. 十进制的数不能以0开头
  2. 二进制以0b开头
  3. 八进制以0o开头
  4. 十六进制以0x开头

字符串

1. 字符串用来表示一段文本信息,字符串是程序中使用最多的数据类型
2. 在Python中字符串需要引号引起来,不使用不是字符串
3. 引号可以是单引号也可以是双引号
4. 相同的引号不能嵌套使用
5. 长字符串的引号不能跨行使用(引号只会在本行找另一个引号),但可以用反斜杠"\"切割片段(此方法不会保留引号中字符串的格式)
6. 可以使用三重引号来表示一个长字符串,三重引号可以换行,并且会保留字符串中的格式
7. 可以使用反斜杠“\”转义字符
   \uxxxx
   \'和\"
   \t 制表符(Tab键)
   \n 换行

格式化字符串

1. 字符串之间也可以进行加法运算
2. 如果将两个字符串进行相加,则会自动将两个字符串拼接为一个
3. 字符串不能和其他的类型进行加法运算,如果做了会出现异常 TypeError: must be str, not int
4. 在创建字符串时,可以在字符串中指定占位符:
	%s 在字符串中表示任意字符
	%f 浮点数占位符
	%d 整数占位符
5. 格式化字符串,可以通过在字符串前添加一个f来创建一个格式化字符串,在格式化字符串中可以直接嵌入变量
#以下全为例子
a = 'hello'
a = 'abc' + 'haha' + '哈哈'
print('a =',a)
b = 'Hello %s'%'孙悟空'
b = 'hello %s 你好 %s'%('tom','孙悟空')
b = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间
b = 'hello %s'%123.456
b = 'hello %.2f'%123.456
b = 'hello %d'%123.95
b = '呵呵'
print('a = %s'%a)
c = f'hello {a} {b}'
print(f'a = {a}')
# 创建一个变量来保存你的名字
name = '孙悟空'

# 使用四种方式来输出,欢迎 xxx 光临
# 拼串
print('欢迎 '+name+' 光临!')
# 多个参数
print('欢迎',name,'光临!')
# 占位符
print('欢迎 %s 光临!'%name)
# 格式化字符串
print(f'欢迎 {name} 光临!')

字符串复制

将字符串和数字相乘
“*” 在语言中表示乘法
“*” 如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回

布尔值与空值

1.  布尔值(bool),布尔值主要用来做逻辑判断,布尔值一共有两个 True 和 False,True表示真 False表示假
2.  None(空值),None专门用来表示不存在

类型检查

通过类型检查,可以检查只能值(变量)的类型
type()用来检查值的类型
该函数会将检查的结果作为返回值返回,可以通过变量来接收函数的返回值
a = 123 # 数值
b = '123' # 字符串
c = type('123')
c = type(a)
# print(type(b))
print(type(1)) # <class 'int'>
print(type(1.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('hello'))  # <class 'str'>
print(type(None)) # <class 'NoneType'>

对象

1. python是一门面向对象(object)的编程语言
2. 一切皆对象
3. 程序运行中,所有的数据都是存储到内存中然后再运行的,对象就是内存中专门用来存储指定数据的一块区域,对象实际上就是一个容器,专门用来存储数据

对象结构

每个对象都要保存三种数据类型:
	- id(标识)
		>id用来识别对象的唯一性,每一个对象都有一个唯一的id
		>对象的id就相当与人的身份证一样
		>可以通过id函数来查看对象的id
		>id是由解释器产生,在CPython中,id就是对象的内存地址
		>对象一旦创建,则它的id永远不能改变

	- type(类型)
		>类型用来标识当前对象所属类型
		>比如 int str float bool
		>类型决定了对象有哪些功能
		>通过type()函数来查看对象的类型
		>Python是一门强类型语言,对象一旦创建类型便不能修改

	-value(值)
		>值就是对象中存储的具体的数据
		>对于有些对象值是可以改变的
		>对象分为两大类,可变对象,不可变对象
			可变对象的值可以改变
			不可变对象的值不可改变

运算符

 - 运算符可以对一个值或多个值进行运算或各种操作
 - 比如 + 、-、= 都属于运算符
 - 运算符的分类:
    1.算术运算符
    2.赋值运算符
    3.比较运算符(关系运算符)
    4.逻辑运算符
    5.条件运算符(三元运算符)    

算数运算符

 + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作)
 - 减法运算符
 * 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数)
 / 除法运算符,运算时结果总会返回一个浮点类型
 // 整除,只会保留计算后的整数位,总会返回一个整型
 ** 幂运算,求一个值的几次幂
 % 取模,求两个数相除的余数

赋值运算符

 = 可以将等号右侧的值赋值给等号左侧的变量
 +=  a += 5 相当于 a = a + 5 
 -=  a -= 5 相当于 a = a - 5 
 *=  a *= 5 相当于 a = a * 5 
 **= a **= 5 相当于 a = a ** 5 
 /=  a /= 5 相当于 a = a / 5 
 //= a //= 5 相当于 a = a // 5 
 %=  a %= 5 相当于 a = a % 5 

关系运算符

 关系运算符用来比较两个值之间的关系,总会返回一个布尔值
 如果关系成立,返回True,否则返回False
 > 比较左侧值是否大于右侧值
 >= 比较左侧的值是否大于或等于右侧的值
 < 比较左侧值是否小于右侧值
 <= 比较左侧的值是否小于或等于右侧的值
 == 比较两个对象的值是否相等
 != 比较两个对象的值是否不相等
   相等和不等比较的是对象的值,而不是id
 is 比较两个对象是否是同一个对象,比较的是对象的id
 is not 比较两个对象是否不是同一个对象,比较的是对象的id

逻辑运算符

 逻辑运算符主要用来做一些逻辑判断
 not 逻辑非
   not可以对符号右侧的值进行非运算
       对于布尔值,非运算会对其进行取反操作,True变False,False变True
       对于非布尔值,非运算会先将其转换为布尔值,然后再取反
       
 and 逻辑与
   and可以对符号两侧的值进行与运算
    只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
    与运算是找False的
    Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值
   
 or 逻辑或
   or 可以对符号两侧的值进行或运算
    或运算两个值中只要有一个True,就会返回True
    或运算是找True的
    Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值

条件运算符

 语法: 语句1 if 条件表达式 else 语句2
 执行流程:
   条件运算符在执行时,会先对条件表达式进行求值判断
       如果判断结果为True,则执行语句1,并返回执行结果
       如果判断结果为False,则执行语句2,并返回执行结果
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!