持续不定期更新,以下内容主要供学习使用

文章目录

  • *持续不定期更新,以下内容主要供学习使用*
  • 一、基本规则
    • 1. 基本词法单位
    • 2. python 区分大小写
    • 3 . 标识符的规则
    • 4 . print()输出函数
    • 5 . input()输入函数
  • 二、数值类型
    • 2. 1 整数(int)
    • 2. 2 浮点数(float)
    • 2. 3 布尔值(bool)
    • 2. 3 复数(complex)
  • 三、字符串类型
    • 3. 1 字符串规则
    • 3. 2 字符串界定符
    • 3. 3 转义符和原始字符串
    • 3. 4 对字符串中字符的操作
    • 3. 5 字符串长度-len()函数
    • 3. 6 字符串连接
    • 3. 7 字符串重复
  • 四、变量类型转换(内置函数)
    • 4.1 说明
    • 4.2 float()函数-将其他类型数据转换为 浮点数
    • 4.3 str()函数-将其他类型数据转换为 字符串
    • 4.4 int()函数-将其他类型数据转换为 整型
    • 4.5 round() 函数-将浮点型数据 圆整 为整型
    • 4.6 bool() 函数-将其他类型数据转换为 布尔型
    • 4.7 chr() 与 ord() 函数-整数 与 字符 之间的转换
    • 4.8 eval() 函数-返回传入字符串的表达式的结果。
  • 五、基本运算和表达式
    • 5.1 运算符
  • 六、赋值语句

一、基本规则

1. 基本词法单位

  1. 基本词法单位为: 常量、变量、关键字、运算符、表达式、函数、语句、类等。

2. python 区分大小写

3 . 标识符的规则

· 由任意多个的字母、数字、下划线、汉字组成
· 开头不能是数字
· 不能与关键字重名

4 . print()输出函数

# 1. 一般格式为:
print(<输出值1>,<输出值2>,***,<输出值n>,sep=' ',end='\n')
# 1. 可将多个输出值转化为字符串并且输出。
# 2. 这些值以sep分割,默认为空格符
# 3. 所有输出值得最后以end结束,默认为换行符‘\n’。

5 . input()输入函数

# 1. 一般格式为:
input(<提示字符串>)
# 1. 可将多个输出值转化为字符串并且输出。
# 2. 这些值以sep分割,默认为空格符
# 3. 所有输出值得最后以end结束,默认为换行符‘\n’。

二、数值类型

  1. 内置函数 type(object) 可以返回 object 的数据类型。
  2. 内置函数 isinstance(obj,class) 可以判断测试对象obj是否为指定的class类型。
  3. 内置函数 id(object) 可以确切的知道变量引用的内存地址。
  4. 数值类型是不可变对象。所谓不可变,是指不能在原地修改对象的内容。
>>> type(1), type(1.0),type('1')
(<class 'int'>, <class 'float'>, <class 'str'>)
>>> isinstance(1,float),isinstance(1.0,str)
(False, False)
>>> id(1),id(1.0),id(1.00000)
(140725575288496, 2335651847280, 2335651847280)
>>> id(0),id(0.0),id(0.00000)  # 仅供了解,0与0.00类型不一致,id也不一致。# 0.00与0.00000类型一致,值大小也一致,id也一致
(140725575288464, 2335651847280, 2335651847280)
>>> id(-0),id(-0.0),id(-0.00000)# 仅供了解,0与-0类型一致,值大小也一致,id也一致
>                                # 【仅供了解,0.0与-0.0类型一致,值大小也一致,id不一致】
(140725575288464, 2335621716560, 2335621716560)

2. 1 整数(int)

  1. 定义 :不带小数部分的数值
  2. python中整数的特性 : 没有长度限制,可以书写和计算几百位的大整数(9位就是亿单位的计算了
  3. python中整数书写有四种数制:十进制、二进制、八进制、十六进制。
    0b / 0B 二进制,前一位为数值0,后一位为字母B,大小写都可以。
    0o / 0O 八进制,前一位为数值0,后一位为字母O,大小写都可以。
    0x / 0X 十六进制,前一位为数值0,后一位为字母X,大小写都可以。

>>> X=0B1010100
>>> X
84
>>> X=0o7654123
>>> X
2054227
>>> X=0xFAB321
>>> X
16429857
>>> X=0xbbc25
>>> X
769061

2. 2 浮点数(float)

  1. 定义 :带小数部分的数值 (2.00 也是小数)
  2. python中浮点数的特性 : 存在上限和下限,超过上限或下限范围会导致溢出错误
  3. python中浮点数的要求 : 只能以十进制方式表达。
  4. 科学计数法的值为浮点型。 e/E 前面表示指数,e/E 表示以10为底,e/E 后面表示10的幂数。

>>> r=1e10
>>> type(r)
<class 'float'>

计算机不一定能精确地表示程序中书写或计算的实数,有两个原因:

  1. 存储空间有限不能精确存储无限小数,会产生误差
    >>> 2/3
    >>>0.6666666666666666
    >>> 1-2/3
    >>>0.33333333333333337
  2. 计算机内部为二进制表示,但不是所有的十进制实数都可以用二进制精确表示,导致计算结果的二进制被截断,产生的精度误差称为截断误差
    >>> s=2.3+5.6
    >>> s
    >>> 7.8999999999999995

2. 3 布尔值(bool)

  1. 布尔值就是逻辑值,只有 True 和 False 两种。
  2. python 3.x中将 True 和 False 定义为关键字。
  3. 他们的值实质上仍然是 1(True) 和 0 (False)。 并且可以与数值类型的值进行算数运算。

2. 3 复数(complex)

  1. 复数是python中内置的数据类型,使用 1j 表述 -1 的平方根。
  2. 复数对象有两个属性,用于查看实部(real)和虚部(imag)。
>>> (3+4j)*(3-4j)
(25+0j)
>>> (3-4j).real
3.0
>>> (3-4j).imag
-4.0
>>>
>>> type((3-4j).real)
<class 'float'>
>>> type((3-4j).imag)
<class 'float'>

三、字符串类型

3. 1 字符串规则

  1. 字符串是由字符组成的序列。
  2. 字符串是不可变对象。所谓不可变,是指不能在原地修改对象的内容。

3. 2 字符串界定符

字符串界定符用来区分字符串和其他词法单位,有以下三种形式

  • 单引号 ’
  • 双引号 ‘’ (是一个字符,不是两个单引号)
  • 三引号’’’/’’’’’’ (是三个字符,可以是3个单引号或者3个双引号)
  1. 单引号中可以使用双引号,双引号中也可以使用单引号,这样就可以不使用转义字符。
  2. 单引号中使用单引号,双引号中使用双引号,这样必须使用转义字符。
>>> s='ddd"ss"fdfsd'
>>> s
'ddd"ss"fdfsd'
>>> s="ddd'ss'fdfsd"
>>> s
"ddd'ss'fdfsd"

3. 3 转义符和原始字符串

  1. 转义符是一些特殊的字符。python 用反斜杆(\)来转义字符,以便表示那些特殊字符。
转义字符 说明
\ 在字符串行尾的续行符,即一行未完,转到下一行继续写。
\\ 反斜线
\’ 单引号
\" 双引号
\a 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。
\b 退格(Backspace),将光标位置移到前一列。
\f 换页
\n 换行符,将光标位置移到下一行开头。
\r 回车符,将光标位置移到本行开头。
\t 水平制表符,也即 Tab 键,一般相当于四个空格。
\v 纵向制表符
# \ 续行符
>>> s=';klklkk\
fsdfsfsfds'
>>> s
';klklkkfsdfsfsfds'>>> s='aassa\\dfsd\'fs\'e"we"wwr'
>>> s
aassa\dfsd'fs'e"we"wwr>>> print('a12345\r67\t890a\bssa\\dfsd\'fs\'e"we"w\nwr')
>>>67  890ssa\dfsd'fs'e"we"w
>>>wr
  1. 原始字符串:使用原字符 r/R 使字符串的转义字符不起作用。

注意1:最后的字符不能是基数个的反斜杆(\),否则报错
注意2:若最后是0个或以上偶数个的反斜杆(\),是可以的

>>> print(r'a12345\r67\t890a\bssa\\dfsd\'fs\'e"we"w\nwr\\\\')
>>> a12345\r67\t890a\bssa\\dfsd\'fs\'e"we"w\nwr\\\\>>> print(r'a12345\r67\t890a\bssa\\dfsd\'fs\'e"we"w\nwr\\\')
SyntaxError: EOL while scanning string literal

3. 4 对字符串中字符的操作

  1. python 内置的对字符串中字符操作的方法
序号 函数名 功能 用法 备注
1 strip 去除两端x后的子串 str.strip(x) str.strip(x)-为变量;str.strip(‘aax’)-为字符串;若是括号内没有值,则默认为空格
2 lstrip 去除左边x后的子串 str.lstrip(x) 同上
3 rstrip 去除右边x后的子串 str.rstrip(x) 同上
4 split 以str被sep分割的字符串列表 str.split(sep=‘x’) sep= 可省;默认值为空格;
5 join 把列表每个元素之间插入字符串a合并成一个字符串 a.join(str_list) 返回值为:字符串
6 index 查找第一个匹配字符在字符串的位置 str.index(find_str) ->查到时返回索引,从0开始;index()没有默认值必须给值;找不到是返回ValueError
7 find 查找字符串的位置 str.find(find_str) ->查到时返回索引->查不到时返回-1;与index仅在查询不到时的处理结果不同而已
8 in 查找字符串是否存在 find_str in str ->True ->False
9 contains 查找字符串中是否包含查找字符 str.__contains __(find_str) ->True ->False
10 count 查找字符串中包含查找字符的个数 str.count(find_str) ->number
11 startswith 查找是否按照指定字符串开头 str.startswith(find_str) ->True ->False
12 endswith 查找是否按照指定字符串结尾 str.endswith(find_str) ->True -> False
13 lower 英文完全转化为小写 str.lower()
14 upper 英文完全转化为大写 str.upper()
s = '  asdasd  asdasd   asdasd   '
print(s.strip())
p = s.strip()
print(p)
o = 'aa  asdasd  asdasd   asdasd   aa'
print(o.rstrip('a'))
b = o.lstrip('a')
print(b)
>>>  # 1,2,3  strip   lstrip   rstrip  效果相同
asdasd  asdasd   asdasd
asdasd  asdasd   asdasd
aa  asdasd  asdasd   asdasd   asdasd  asdasd   asdasd   aaa = 'aa  asdasd  asdasd   asdasd   aa'
b = a.split(sep='a')
print(b)
c = a.split('d')
print(c)
>>>  # 4  split
['', '', '  ', 'sd', 'sd  ', 'sd', 'sd   ', 'sd', 'sd   ', '', '']
['aa  as', 'as', '  as', 'as', '   as', 'as', '   aa']d=['sss ',' asas',' sadasd ',' 十大 ',' 998;;;  ','。。。']
f = '-dd-'.join(d)
print(f)
s='p'
g = s.join(d)
print(g)
>>>  # 5  join
sss -dd- asas-dd- sadasd -dd- 十大 -dd- 998;;;  -dd-。。。
sss p asasp sadasd p 十大 p 998;;;  p。。。k = 'sss p asasp sadasd p 十大 p 998;;;  p。。。'
print(k.index(' '))
s=k.index('as')
print(s)
>>>  # 6,7  index/find 相同,仅在没有返回值时处理情况不一样而已。
3
6k = 'sss p asasp sadasd p 十大 p 998;;;  p。。。'
print('p ao' in k)
g = 'sada' in k
print(g)
>>>  # 8  in。
False
Truek = 'sss p asasp sadasd p 十大 p 998;;;  p。。。'
print(k.__contains__('daspp'))
g = k.__contains__('dasd')
print(g)
>>>  # 9  contains
False
Truek = 'Rsss p asRsr sadasr p 十大 P R98 p'
print(k.count('r'))
g = k.count('R')
print(g)
>>>  # 10  count 区分大小写。因为是字符。
2
3k = 'sSs p asasp sADasd p 十大 P 998;;;  R'
print(k.startswith('ss'))
g = k.endswith(' r')
print(g)
>>>  # 11,12  startswith,endswith 区分大小写。因为是字符。
False
Falsek = 'sss p asasp sADasd p 十大 P 998;;;  p'
print(k.lower())
g = k.upper()
print(g)
>>>  # 13,14  lower,upper
sss p asasp sadasd p 十大 p 998;;;  p
SSS P ASASP SADASD P 十大 P 998;;;  P

3. 5 字符串长度-len()函数

  1. 字符串可以使用len()函数,用来确定字符串的长度,即包含多少个字符。
  2. 最小的len()函数值为0。回车符、制表符等等也算1个字符
s = 'ss :: 中国 ?\ns杀杀\t杀235s\\c.'
print(len(s))
>>>  # 需要先将转义字符转义成功之后,再确定字符长度。
'''
ss :: 中国 ?
s杀杀 杀235s\c.
'''
23

3. 6 字符串连接

  1. 可使用加法 “+” 将两个字符串首尾相连
s = '123456  66'
d= 'qwee'
print(s+d)
print(s,d)
print(s,d,sep='')
>>> print中的sep为相连之间的字符,默认为单个空格。
123456  66qwee
123456  66 qwee
123456  66qwee

3. 7 字符串重复

  1. 可使用乘法 “*” 将单个字符串重复并拼接在一起形成一个新的字符串
  2. 必须是 int 类型。若是小于等于0,则展示为空字符串。
  3. 给的不是整数,则在提交时报错,给的值不是 int 类型。
s = '9-a16 66a-'
print(s*-2)
m = s*3
print(m)
>>> 9-a16 66a-9-a16 66a-9-a16 66a-

四、变量类型转换(内置函数)

4.1 说明

  1. python 是一种强类型语言。当运算需要时,必须使用显式的变量类型转换。
  2. 变量的类型转换,并不是对变量原地进行修改,而是产生一个新的预期类型的对象。

在科学计数法中,为了使公式简便,可以用带“E”/“e”的格式表示。当用该格式表示时,E/e前面的数字和“E/e+”后面要精确到十分位,(位数不够末尾补0),例如7.8乘10的7次方,正常写法为:7.8x10^7,简写为“7.8E+07”的形式

4.2 float()函数-将其他类型数据转换为 浮点数

s = 1
t = float(s)
print(float(t))
print(id(s))
print(id(t))
>>> # id值不一致,说明不是在原有的id值上进行修改
1.0
140733647750832
2169706998704print(float('1.246e-4'))
print(float('1e-5'))
print(float('1.2e-5'))
print(float('1.365211e+15'))
print(float('1.365211e+16'))
>>> # python会尽可能的转换成字符长度较短的形式进行保存,以节省空间。
>>> # 实例可知,在科学计数法为-5 或 +16 时,用科学计数法。
0.0001246
1e-05
1.2e-05
1365211000000000.0
1.365211e+16

4.3 str()函数-将其他类型数据转换为 字符串

print(type(str(1)),str(1))
print(type(str(1.000)),str(1.000)) # 因为1.000为浮点数,故不能为1,因为要满足最短要求,展示为1.0
print(type(str(1.365e-4)),str(1.365e-4))
print(type(str(1.365e-5)),str(1.365e-5))
print(type(str(1.365211e+15)),str(1.365211e+15))
print(type(str(1.365211e+16)),str(1.365211e+16))
>>> # python会尽可能的转换成字符长度较短的形式进行保存,以节省空间。
>>> # 实例可知,在科学计数法为-5 或 +16 时,用科学计数法。
<class 'str'> 1
<class 'str'> 1.0
<class 'str'> 0.0001365
<class 'str'> 1.365e-05
<class 'str'> 1365211000000000.0
<class 'str'> 1.365211e+16

4.4 int()函数-将其他类型数据转换为 整型

print(type(int(1.999)),int(1.999))   # int() 不是四舍五入,而是会直接剔除小数部分,
print(type(int(-1.999)),int(-1.999))
print(type(int(True)),int(True))    # 布尔值 True 相当于 1
print(type(int(False)),int(False))  # 布尔值 False相当于 0
print(type(int('3')),int('3'))
print(type(int(float('5.5'))),int(float('5.5')))
print(type(int('3.5')),int('3.5'))  # 有的字符串不能直接转换成整型
>>> # 1. 字符串是整数时,可以直接转换为整型
>>> # 2. 字符串是浮点数时,必须先转换为浮点型后,再转换成整型
<class 'int'> 1
<class 'int'> -1
<class 'int'> 1
<class 'int'> 0
<class 'int'> 3
<class 'int'> 5
ValueError: invalid literal for int() with base 10: '3.5'

4.5 round() 函数-将浮点型数据 圆整 为整型

  1. python 采用的是 “银行家圆整” :将小数部分采用 “ 四舍六入五留双 ” 。即个位为偶数,则舍弃;个位为基数,则进位;使整数为偶数。
print(round(36.5555))
print(round(37.55555))
>>>
36
38

4.6 bool() 函数-将其他类型数据转换为 布尔型

  1. 数值0和空字符串转换的布尔型的值为Flase。
  2. 除了上述的类型值,其他转换的布尔型值均为True
print(type(bool()),bool())       #【没有数据】,布尔型的值为Flase
print(type(bool(0)),bool(0))    #数值是【0、0.000】,布尔型的值为Flase
print(type(bool(-0)),bool(-0))  #数值是【-0、-0.000】,布尔型的值为Flase
print(type(bool('0')),bool('0'))    #字符串类型的0,布尔型值为True
print(type(bool('')),bool(''))      #字符串类型的【空字符】,布尔型的值为Flase
print(type(bool(' ')),bool(' '))    #字符串类型的空格,布尔型的值为True
print(type(bool(654)),bool(654))    #数值是654,布尔型的值为True
>>>
<class 'bool'> False
<class 'bool'> False
<class 'bool'> False
<class 'bool'> True
<class 'bool'> False
<class 'bool'> True
<class 'bool'> True

4.7 chr() 与 ord() 函数-整数 与 字符 之间的转换

  1. chr() 将一个整数按照 ‘ ASCII ’ 码转换成对于的字符。
  2. ord() 将一个字符按照 ‘ ASCII ’ 码转换成对于的整数。

>>> ord('0') , ord('9') , ord('A'), ord('Z'),ord('a'),ord('z')
(48, 57, 65, 90, 97, 122)
>>> chr(47) , chr(58) , chr(64) , chr(91), chr(96), chr(123)
('/', ':', '@', '[', '`', '{')

4.8 eval() 函数-返回传入字符串的表达式的结果。

  1. 将字符串当成有效的表达式 来求值 并 返回计算结果。
  2. eval() 函数就是实现list、dict、tuple与str之间的转化,
  3. str() 函数把list,dict,tuple转为为字符串

eval() 函数说明:
eval(expression[, globals[, locals]])
expression : 表达式。
globals : (可选参数)变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals : (可选参数)变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

五、基本运算和表达式

5.1 运算符

  1. Python 支持算术运算符、赋值运算符、关系运算符、逻辑运算符等。
  2. 运算符分类(按操作数数目):
    单目运算符:负(-)、逻辑非(not)
    双目运算符:大部分都是,赋值运算符(=)、算术乘法(*)

六、赋值语句

python-基于python程序设计基础第二版相关推荐

  1. python算法与程序设计基础第二版-算法与程序设计基础(Python版) - 吴萍

    基本信息 书名:21世纪高等学校计算机基础实用规划教材:算法与程序设计基础(Python版) 定价:39.00元 作者:吴萍21世纪高 出版社:清华大学出版社 出版日期:2015_2_1 ISBN:9 ...

  2. python算法与程序设计基础(第二版)第八章实训答案_Python算法与程序设计基础(第2版)...

    章程序设计与计算思维 1.1程序设计与计算机语言 1.1.1程序设计 1.1.2设计步骤 1.1.3程序设计分类 1.1.4基本规范 1.1.5计算机语言 1.2计算机语言与计算思维的关系 1.2.1 ...

  3. python程序设计基础第二版pdf下载_Python程序设计基础董付国课后答案-Python程序设计基础第二版清华大学出版社PDF电子版完整高清版-精品下载...

    Python程序设计基础(第2版)完全面向Python 3.x,全部案例代码使用Python 3.5.x和Python 3.6.x编写,大部分内容也同样适用于Python 3.4.x.本书对Pytho ...

  4. Python语言程序设计基础 第二版(嵩天著)课后答案第六章

    思考与练习: P159 6.1 元组是不可变的.即你不能修改元组.元组通过圆括号中用逗号将元素分隔. 集合内的元素不能重复,只能是固定的数据类型,例如:整数.浮点数.字符串.元组等,列表,字典,和集合 ...

  5. python语言程序设计基础第二版第七章答案-Python核心编程第二版 第七章课后答案...

    注:我使用的python3.5. 其中range和xrange,input和raw_input已经合并 7-1.字典方法.哪个字典方法可以用来把两个字典合并到一起. dict.update(dict2 ...

  6. Python语言程序设计基础 第二版(嵩天著)课后答案第四章

    思考与练习: P99 4.1 正确 4.2 错误.分支结构(if/else)不能向已经执行过的语句部分跳转,循环结构(while/for)可以向已经执行过的语句部分跳转. 4.3 A 流程图的基本元素 ...

  7. python语言程序设计基础第二版第六章答案-Python语言程序设计基础(第2版) 课后题 第六章...

    课后题是配套的参考答案 #e10.1CalHamlet.py def getText(): txt = open("hamlet.txt", "r").read ...

  8. python语言程序设计基础第二版第六章答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

  9. python语言程序设计基础第二版答案-python语言程序设计基础(第二版)第五章答案随笔...

    模板模式与策略模式/template模式与strategy模式/行为型模式 模板模式 模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是 ...

最新文章

  1. R语言sys方法:sys.getpid函数获取R会话的进程ID、sys.glob函数和file.path函数匹配文件夹下的所有特定类型文件、sys.info函数获取系统和用户信息
  2. 【Java】6.2 处理对象
  3. html中怎样引入外部字体文件路径,CSS引入外部字体
  4. 最新综述:多标签学习的新趋势
  5. echarts地图 编辑颜色
  6. php下的原生ajax请求
  7. 利用反射对dao层进行重写
  8. workman php教程_Workerman
  9. linux 离线安装node.js,Linux上离线安装node.js、Newman、newman-reporter-html
  10. SpringBoot下Mybatis-注解动态sql开发的坑
  11. 通达信版弘历软件指标_通达信精选指标——弘历趋势
  12. 王道中数据结构的排序算法
  13. 用Java写小学生算术题
  14. eNB、gNB、en-gNB和ng-eNB的区别
  15. 基于JavaScript实现拼图游戏
  16. java LPT1,java 打印机打印跟开钱箱
  17. Prometheus普罗米修斯调研笔记
  18. 旋转矩阵、欧拉角、四元数理论及其转换关系
  19. %d,%c,%s,%x各代表什么
  20. Qt中提示“常量中有换行符“的解决方法

热门文章

  1. leetcode-满足连续子数组加和等于目标值的子数组个数 思路与代码
  2. Moloch 搜索栏常用命令
  3. C# 导出excel文件的6种办法
  4. 将一个数组按照从小到大的顺序排列
  5. javascript 数组方法 slice() 的使用说明
  6. 如何修改别人的GHO作品
  7. 科研入门——文献阅读
  8. ON/安森美FCH041N65F车规级MOS管,原厂渠道ASEMI代理
  9. 海思平台ISP调试经验
  10. 字节跳动 Flink 单点恢复功能及 Regional CheckPoint 优化实践