Python基础----核心数据类型(数字、字符串)

python的应用领域:

	系统运维、网络编程、科学计算、人工智能,机器人、web开发
	云计算、大数据及数据库编程、教育、游戏,图像,其他

python的优缺点:
优点:
	面向对象(Java,C++,Python)、免费、可移植、可混合编程(C/C++/Java/.net)
	简单易学易用、开发效率高、应用领域广泛、开源
缺点:
	与C/C++相比,执行速度不够快
	不能封闭源代码

python的官网: https://www.python.org
python的安装:
兼容的操作系统:Windows 、Linux/Unix 、Mac OS X...

 Python的运行:
	python的解释执行器的类型:
  		CPython    (C语言开发)
  		Jython     (Java开发)
 	    IronPython (.net开发)

1、常用的程序文件的后缀:
.py    python文件后缀
.c     C语言文件后缀
.cpp   C++语言文件后缀
.java  Java语言文件后缀

2、python的交互模式下编写并执行代码:
进入python交互环境
  #python3 <回车>
退出python交互提示模式
  >>> quit() <回车>
  >>> exit() <回车>
  输入:ctrl+d(输入文件结束符)

3、python的注释:
python注释是以#开头,直至行尾
作用:
    让注释内容不参加解释执行
sublime text 3 的注释快捷键 ctrl + /

4、python的程序组成:
程序由模块组成
模块由语句,函数,类等组成
语句包含表达式
表达式建立并处理数据对象	

5、python的核心数据类型:
数字(整型,浮点型,复数,布尔型)
字符串 str
列表 list
...

6、数字:
1)整型数 int
	整型数是不带有小数部分的数据,包括自然数,0,负数
	如:-5,0,100等
整型字面值的表示方式:
    十进制表示
	10
	200
	-100
	99999999999
    八进制方式表示(0o开头,后跟0-7)
	0o11  (9)
	0o177 (127)
    十六进制表示(0x开头,后跟0-9,A-F或a-f)
	注:a表示10,b表示11...f表示15
	0x11          (17)
	0xFF          (255)
	0x1234abcd    (305441741)
    二进制的表示(0b开头,后跟0-1)
	0b111     (7)
	0b1000    (8)
2)浮点型数 float
    浮点型数是带有小数部分的数字(小数部分可以是0)
    浮点型数的两种表达方式:L
	小数形式:
	    3.14 3.1 3.0 3. 0.14 .14
	科学计数法:
	    格式:
		小数e/E(正负号)指数
	如:
	  6.18E-1 (等同于0.618)
	  2.9979e8  #等同于299790000
3)复数 complex
    分为两部分:
	实部(real)
	虚部 (image)
	注:虚部是以j或J结尾的
    复数的字面值表示
	1j
	(2j)
	1+1J
	1-1j
	(-100+100J)
4)布尔型数 bool
    用来表示真和假两种状态的类型
	True   表示真(条件满足可成立)
	False  表示假(条件不满足或不成立)
    说明:
	True 的值是1
	False 的值是0
5)空值 None
    None是一个表示不存在的特殊对象
    作用:
	用来占位
	变量解除绑定

7、表达式和运算符
1)表达式 expression
由一个数字或数字和运算符组成
作用:
    通常让计算机做 一些事情并返回结果
如:1+2*3-4

2)算术运算符:
+  加法
-  减法
*  乘法
/  除法
// 地板除 floordiv
%  求余
** 幂运算

/ 除法
除法得到的数是浮点型数,不会丢弃小数部分
1/3得0.3333333333333333
 8/2得4.0

// 地板除
除的结果去掉小数部分向下取整
7/3得2.333333333
7//3得2
8//3得2
3.25//1.5得2.0

% 求余
7%3得1
3.25%1.5得0.25

**幂运算
    格式:
	x ** y
	意为x的y次方
4 ** 2 得 16
3.0 ** 4.0 得 81.0
5.6 ** 1.418 得 11.506165654866916

3)运算符的优先级
**
* / // %
+ -

4)括号分组子表达式:
    用()可以将表达式分组  ()内部的表达式先进行计算
	(1+3)* 3 ** (2+4)// 2
	4 * 3 **(2+4)// 2
	4 * 3 ** 6 // 2
	4 * 729 // 2
	2916 // 2
	1458

8、混合类型自动升级
1 + 2.14  返回类型为浮点型 3.14

9、基本输出函数 print
格式:
print(要打印的东西)

10、变量:
什么是变量:
	变量是关联一个对象的标识符
	变量可以绑定一个对象,并可以通过变量名来使用这个对象
标识符的命名方法:
	标识符必须为字母或下划线开头,后跟字母或下划线或数字
	说明:
	不能使用python的关键字作变量名
	python变量名区分大小写

合法的变量名示例:
a al b bbb _a _ABCD var a1b2
不合法的变量名示例:
la 123 $ABC +a -b @abc

python的关键字(共33个)
True,False,None,is,del,if,elif,else...

11、赋值语句
语法:
变量名=表达式
或 
变量名1=变量名2=变量名3=表达式
或
变量名1,变量名2,变量名3...=序列
作用:
创建一个变量或修改一个变量的绑定的对象
说明:
当变量不存在时,创建该变量,同时将变量绑定在这个对象上
当变量存在时,改变此变量绑定对象
一个变量只能绑定一个对象
两个变量可以同时绑定在同一个对象上
示例:
a = 10
b = 20
a = b  #a绑定在b绑定的对象上,a与10解绑,绑定在20上
a = 6
b = 4
area = a * b #等同于area = 6 * 4
x = y = z =1000 #
x,y =300,400 #x绑定300,y绑定400
变量赋值称为绑定,"="代表绑定

12、python中自动化内存管理(重点)
a = 10000
b = 20000
a = a + b #发生了什么事  a和b相互成为一个新的数据对象绑定在a上,10000将会被系统自动回收
c = a #发生了什么事      a和c同时将30000绑定

13、python中 关联/绑定/引用的含义
在python中,变量没有类型
关联/绑定/引用 都是指一个变量和一个对象的关联关系

14、在交互模式下 查看当前作用域内的所有变量
>>> help("__main__")
退出键:q
注:
help函数用来查看帮助或运行时信息

15、del 语句(delete简写)
用于删除变量,同时解除此变量与对象的绑定关系
如果可能则释放对象

语法:
del 变量名

del a #删除变量a 释放10000

16、自动化内存管理和引用计数
每个对象会记录有几个变量引用自身,当引用的数量为0时,此对象被销毁,
此种自动化内存管理的方式叫引用计数

a=10000
b=20000
a=b   #释放10000 同时a绑定在20000上
del a #删除a,同时20000的引用计数减一
del b #删除b 释放20000 

17、is/is not 运算符
作用:
判断两个对象是否是同一个对象,当是同一对象时返回True,
否则返回False

is not的作用相反
语法:
x is y
x is not y

18、小整数对象池
 CPython中 整数-5至256永远存在于小整数对象池中,
 不会释放并可重复使用

19、id(x)函数
作用:
返回一个对象在内存中的地址

20、复合赋值算术运算符:
运算符      说明
y +=x       作用等同于 y=y+x
y -=x       作用等同于 y=y-x
y *=x       作用等同于 y=y*x
y /=x       作用等同于 y=y/x
y //=x      作用等同于 y=y//x
y %=x       作用等同于 y=y%x
y **=x      作用等同于 y=y**x

21、比较运算符
<    小于
<+   小于等于
>    大于
>=   大于等于
==   等于
!=   不等于
语法:
左表达式>右表达式
说明:
比较运算符通常返回布尔类型的值
 示例:
	100<200  # True
	100>=200 # False
	1+5==2+4 # True
	1<3<5<7<9>2  #True

22、数值对象的构造(创建)函数
float(obj)
用字符串或数字转换为浮点数,如果不给出参数,则返回0.0
int(x, base=10)或 int(x=0)(2<=base<=36)
用数字或字符串转换为整数,如果不给出参数则返回0,
base为进制转换的底数
complex(r=0.0 , i=0.0)  用数字创建一个复数(r为实部,i为虚部)
bool(x)  用x创建一个布尔值(True/False)

23、函数调用:
函数名(传参列表)
说明:
    函数调用表达式,一定会返回一个对象的引用关系    

24、bool(x)返回假值的情况
bool(x)用于显示获取x的布尔值
假值情况:
None         空值
False        布尔假值
0  0.0  0j   所有数字零

25、预置数值型函数
abs(x)   取x的绝对值
round(number[,ndigits])  对数值进行近似的四舍五入,
ndigits是小数向右取整的位数,负数表示向左取整(以二进制进行取舍)
例如:
	x = 123.456789
	print(round(x)) #123
	print(round(x,2)) #123.46
	print(round(123.455,2)) #123.45
	print(round(x,-1)) #120.0
	print(round(x,-5)) #0.0

pow(x,y,z=None)相当于 x ** y 或 x ** y % z
help()查看函数帮助
>>>help(函数名)
-------------------------------------------------
小结:
 id(x)  返回整数的x对象的地址
 float(x)
 int(x,base=10)
 complex(r=0,i=0)
 bool(x)
-------------------------------------------------
26、基本输入函数 input
 input('提示字符串')
返回用户输入的字符串('提示字符串'可以为空)

27、基本输出函数print
 作用:
	将一系列的值以字符串形式输出到标准输出设备上,默认为终端
格式:
print(value,...,sep=' ',end='\n')
选项的关键字参数为:
    sep:两个值之间的分隔符,默认为一个空格
    end:
	输出完毕后在流末尾自动追加一个字符串,默认为换行符'\n'

28、语句 statement
语句是由一些表达式组成,通常一条语句可以独立执行来完成一部分并形成结果
一条语句建议写在一行内
多行语句写在一行内需要用分号(;)分开
示例:
x = 100
y = 200
print(x + y)
#写在一行为
x = 100;y = 200;print(x + y)

29、显示换行
折行符 \
折行符必须放在一行的末尾,来示意解释执行器的下一行也是本行的语句
示例:
x=1+(2*3)+4\
+5+6+7
print(x)

30、隐式换行
所有括号的内容换行,成为隐式换行
()   []   {}
python中括号都是成对存在的
示例:
x=1+(2
	    *3)+4+5+6+7
print(x)

31、if语句
问题:
有两条语句
 print("是偶数")
 print("是奇数")
如何只让其中一条语句执行并打印结果
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
   语句块1
elif 真值表达式2
   语句块2
elif 真值表达式3
   语句块3
...
else:
   语句块4
说明:
elif子句可以有0个,1个或多个
else子句可以有0个或1个,且只能放在此if语句的最后


if语句的真值表达式
 if 100:
print("真值")
 等同于:
 if bool(100):
print("真值")


32、if 语句的嵌套:
if语句本身是由多条子句组成的一条复合语句
if语句可以作为语句嵌套到另一个语句内部
语句是程序执行的,表达式是组成语句的一部分

33、条件表达式
语法:
表达式1 if 真值表达式2 else 表达式2
作用:
根据真值表达式的取值(True/False)
来决定执行 表达式1 或者 表达式2 并返回结果

34、pass 语句
作用:
通常用来填充语法空白
语法:
pass

35、布尔运算
运算符:
not  and  or
1)布尔非操作 not
语法:
not x
作用:
对 x 进行不二取非,如bool(x)
为True,则返回False,否则返回True
示例:
not True	#返回False
not False       #返回True
not 200>100     #返回False

2)布尔与操作
语法:
x and y
注:
   x,y代表表达式
作用:
优先返回假值对象
当x的布尔值为False时,返回x,否则返回y

示例:一假即假
True and True	 #True  左边为真,返回值由右边决定
True and False   #False 左边为真,返回值由右边决定
False and True   #False 左边为假,返回值由左边决定
False and False  #False 左边为假,返回值由左边决定

3)布尔或操作
语法:
x or y
注:
   x,y代表表达式
作用:
优先返回真值对象
当x的布尔值为True时,返回x,否则返回y
示例:一真即真
True or True	 #True  
True or False    #True  
False or True    #True  
False or False   #False 

36、正负号运算符
 +(正号)   -(负号)

一元运算符
语法:
	+ 表达式
	- 表达式
示例:
a = 5
b = -a
c = +a

37、字符串 str
作用:
用来记录文字信息
表示方法:
在非注释中凡是用引号括起来的部分都是字符串
''  单引号
""  双引号
''' 三单引号
""" 三双引号

38、空字符串的字面值的表达方式
''
""
''''''
注:空字符串的布尔测试值bool(x)为False

39、非空字符串的字面值
'hello'
"hello"
'''hello'''
"""hello"""

40、单引号和双引号的区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
示例:
print("	I'm a teacher")

41、三引号字符串
以'''或"""开头,以'''或"""结尾的字符串
作用:
三引号字符串中的换行会自动转换为换行符'\n'
三引号内可以包含单引号和双引号
示例:
	#要表示如下的文字内容
	welcome to beijing.
	I like python!
	I am studing.
	s='welcome to beijing.\nI like python!\nI am studing.'
	s2='''welcome to beijing.
	I like python!
	I am studing.'''

42、隐式字符串字面值的拼接
"I'm Teacher."   'I am "weimingze"'
得到的字符串等同于
'''I'm Teacher. I am "weimingze"'''

43、用转义序列 代表特殊字符
字符串字面值中用字符反斜杠 \
后跟一些字符代表特殊的一个字符
转义字符表:
    \'  代表一个单引号
    \"  代表一个双引号
    \n  代表一个换行符
    \\  代表一个反斜杠
    \r  返回光标至行首
    \t  水平制表符
    \f  换页
    \v  垂直制表符
    \b  倒退
    \0  字符串,字符值为0
    \0oo oo为两位八进制表示的字符 
    \xXX XX为两位十六进制表示的字符
    \uXXXX  Unicode 16的十六进制的字符
    \uXXXXXXXXX  Unicode 32 的十六进制的字符


44、ASCⅡ编码
# 查看 ASCⅡ编码表
$ man ascii #仅linux可用

常用的ASCⅡ编码:
 字符      十进制    十六进制(常用)
'0'       48         0x30
'A'       65         0x41
'a'       97         0x61 
----------------------------------------------
45、序列的概念
字符串就是序列
求序列的长度的函数len
len(x) 返回字符串中字符的个数

46、raw 字符串(原始字符串)
格式:
r"字符串内容"
r'字符串内容'
r'''字符串内容'''
r"""字符串内容"""

作用:让转义字符'\'无效
示例:
a="C:\newfile\test.py"
print(a)

b=r"C:\newfile\test.py"
print(b)
print(len(a))  #16
print(len(b))  #18

47、字符串的运算:
运算符:
+   +=  *   *=
+   加号运算符用于拼接字符串
+=  用于拼接运算后改变原变量的绑定关系
示例:
x="abcd"+"efg" 
print(x)
x +='123'
print(x)

*   运算符生成重复的字符串
x = "ABCD" * 3   #ABCDABCDABCD
y = 2 * "123"    #123123
注:字符串只能和整数相乘

*=  生成重复的字符串并改变原变量的绑定关系
x='123'
x *= 2
print(x)    #123123
y = 3
y *="ABC"
print(y)    #ABCABCABC

48、字符串的比较运算
运算符:
	< <= > >= == !=
 示例:
'A'<'B'  #True
'AB'<='AC' #True
'ABC'>'ACB'#False

49、in/not in 运算符
作用:
in 用于序列,字典,集合中,用于判断某个值是否存在于容器中,如果存在返回True,否则返回False
说明:
	not in 返回结果与in相反
格式:
对象 in 序列
示例:
	x='welcome to tarena!'
	'to' in x #True
	'e t' in x #True
	'hello' in x #False
	'hello' not in x #True

50、索引 index
python字符串是不可以改变的序列,
所有的序列都可以通过索引来获取其中的数据元素

语法:   
字符串[整数表达式]
说明:
1.序列的正向索引是从0开始的,第二个索引为1,最后一个索引
    为len(s)-1
2.序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数
第二个,以此类推,第一个是-len(s)
示例:
s= 'ABCDE'
s[0]   #'A'
s[4]   #'E'
s[-1]  #'E'(反向索引)

51、切片 slice  前包后不包
从字符串序列中取出相应的元素重新组成一个字符串序列
语法:
s[(开始索引b):(结束索引e)(:(步长s))]   # s[:] 最简
注:小括号()括起来的部分代表可以省略
说明:
1.开始索引是切片切下的位置,0代表第一个元素,l代表
第二个元素,-1代表最后一个元素...
2.结束索引是切片的终止索引(但不包含终止点)
3.步长是切片每次获取完当前元素后移动的方向和偏移量
偏移量
    3.1 没有步长,相当于步长为1(默认为1)
    3.2 当步长为正整数时,取正向切片,开始索引默认为0,
        结束索引为最后一个元素的下一个位置
    3.3 当步长为负数时,取反向切片,
        反向切片时,默认起始位置为最后一个元素,
	终止位置是第一个元素的前一个位置
示例:
s = 'ABCDE'
a = s[1:4] 等同于 s[1:4:1]#'BCD'  1代表起始索引,4代表结束索引
a =s[1:]='BCDE'
a =s[0:2]='AB'
a=s[1:1]   #' '空
a=s[4:1]   #' '空  越界
a =s[1:4:2]   # 'BD'  2为步长跳过2个位置
a =s[4:0:-1]  #'EDCB'
a =s[::-1]    #'EDCBA'


52、python3中能用于返回字符串的函数
 len(x)  返回字符串的长度
 max(x)  返回字符串中编码值最大的字符
 min(x)  返回最小值的字符

示例:
	s="Hello"
	len(s) #5
	max(s) #o
	min(s) #H

53、字符串编码转换函数:
ord(c)    返回一个字符c的Unicode编码
chr(i)    返回i这个值所对应的字符

示例:
	print(ord('A'))  #65
	print(ord('中')) #20013
	print(chr(65))   #A
	print(chr(2345)) #

54、整数转字符串的函数
bin(i)  将整数转换为二进制字符串
oct(i)  将整数转换为八进制字符串
hex(i)  将整数转换为十六进制字符串
示例:
	bin(9)  #'0b1001'
	oct(10000) #'0o23420'
	hex(10000) #'0x2710'

55、字符串的构造(创建)函数
	str(obj='') 将对象转换为字符串

56、帮助函数 help(xxx)
>>>help(函数名)
>>>help(类型名)

57、python3中常用的字符串方法
方法的调用语法:
对象.方法名(方法传参)
示例:
'abc'.isalpha()   #True 判断'abc'是否是字母
123.isalpha()   #报错
s="ABCD ABC AB A"
s.count('AB',3,8)  #在一定范围内查找目标对象的个数
s.find('A')       #获取字符串中子串sub的索引,失败返回-1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值