Python语言基础与应用 (P16)上机练习:基本数据类型

本文是笔者在学习MOOC课程《Python语言基础与应用》 (北京大学-陈斌)中根据上机课时的要求写下在代码

课程总链接:

中国大学MOOC

B站

本节课链接

数值基本运算: 33和7
+, -, *, /, //, %, **
hex(), oct(), bin()

 1 Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
 2 Type "help", "copyright", "credits" or "license" for more information.
 3 >>> 33+7
 4 40
 5 >>> 33-7
 6 26
 7 >>> 33*7
 8 231
 9 >>> 33/7
10 4.714285714285714
11 >>> 33//7
12 4
13 >>> 33%7
14 5
15 >>> 33**7
16 42618442977
17 >>> 7**33
18 7730993719707444524137094407
19 >>> 33**33
20 129110040087761027839616029934664535539337183380513
21 >>> hex(33)
22 ‘0x21‘
23 >>> hex(7)
24 ‘0x7‘
25 >>> oct(7)
26 ‘0o7‘
27 >>> oct(33)
28 ‘0o41‘
29 >>> bin(33)
30 ‘0b100001‘
31 >>> bin(7)
32 ‘0b111‘

类型转换
1, 0, ‘abc‘, None, 1.2, False, ‘‘
str(), bool(), int(), float()
is None, ==, !=

 1 >>> str(1)
 2 ‘1‘
 3 >>> str(0)
 4 ‘0‘
 5 >>> bool(1)
 6 True
 7 >>> bool(0)
 8 False
 9 >>> bool(‘abc‘)
10 True
11 >>> int(‘abc‘)
12 Traceback (most recent call last):
13   File "<stdin>", line 1, in <module>
14 ValueError: invalid literal for int() with base 10: ‘abc‘
15 >>> int(‘a‘)
16 Traceback (most recent call last):
17   File "<stdin>", line 1, in <module>
18 ValueError: invalid literal for int() with base 10: ‘a‘
19 >>> float(‘abc‘)
20 Traceback (most recent call last):
21   File "<stdin>", line 1, in <module>
22 ValueError: could not convert string to float: ‘abc‘
23 >>> float(1)
24 1.0
25 >>> str(None)
26 ‘None‘
27 >>> int(None)
28 Traceback (most recent call last):
29   File "<stdin>", line 1, in <module>
30 TypeError: int() argument must be a string, a bytes-like object or a number, not ‘NoneType‘
31 >>> int(‘None‘)
32 Traceback (most recent call last):
33   File "<stdin>", line 1, in <module>
34 ValueError: invalid literal for int() with base 10: ‘None‘
35 >>> int(1.2)
36 1
37 >>> int(False)
38 0
39 >>> int(True)
40 1
41 >>> float(‘‘)
42 Traceback (most recent call last):
43   File "<stdin>", line 1, in <module>
44 ValueError: could not convert string to float:
45 >>> bool(‘‘)
46 False
47 >>> 1 is None
48 False
49 >>> 0 is None
50 False
51 >>> ‘‘ is None
52 False
53 >>> 1==1.2
54 False
55 >>> False is None
56 False
57 >>> True is None
58 False

字符串基本操作
+, *, len(), [], in
ord(), chr()
含有中文的字符串

 1 >>> a=‘Congratulations‘
 2 >>> b=‘misunderstandings‘
 3 >>> a+b
 4 ‘Congratulationsmisunderstandings‘
 5 >>> a+‘ ‘+b
 6 ‘Congratulations misunderstandings‘
 7 >>> len(a)
 8 15
 9 >>> len(b)
10 17
11 >>> c in a
12 Traceback (most recent call last):
13   File "<stdin>", line 1, in <module>
14 NameError: name ‘c‘ is not defined
15 >>> ‘c‘ in a
16 False
17 >>> ‘s‘ in b
18 True
19 >>> ‘C‘ in a
20 True
21 >>> [a]
22 [‘Congratulations‘]
23 >>> ord(‘a‘)
24 97
25 >>> chr(86)
26 ‘V‘
27 >>> ord(a)
28 Traceback (most recent call last):
29   File "<stdin>", line 1, in <module>
30 TypeError: ord() expected a character, but string of length 15 found
31 >>> c=‘你好‘
32 >>> d=‘国‘
33 >>> len(c)
34 2
35 >>> len(d)
36 1
37 >>> ord(d)
38 22269
39 >>> chr(83475)
40 ‘??‘
41 >>> chr(22270)
42 ‘图‘
43 >>> chr(24343)
44 ‘弗‘

字符串高级操作
s=‘abcdefg12345‘
切片:获得defg12,获得fg12345,获得54321,
获得aceg2

>>> s=‘abcdefg12345‘
>>> s1=s[3:9]
>>> s1
‘defg12‘
>>> s2=s[5:]
>>> s2
‘fg12345‘
>>> s3=s[-1:-6]
>>> s3
‘‘
>>> s3=s[-1:-6:1]
>>> s3
‘‘
>>> s
‘abcdefg12345‘
>>> s3=s[-1:]
>>> s3
‘5‘
>>> s4=s[0:9:2]
>>> s4
‘aceg2‘
>>> s3=s[::-1]
>>> s3
‘54321gfedcba‘
>>> s3=s[-1:-6]
>>> s3
‘‘
>>> s3=s[-1:-6:]
>>> s3
‘‘
>>> s3=s[-5]
>>> s3
‘1‘
>>> s3=s[-5::]
>>> s3
‘12345‘
>>> s3=s[-6:-1:-1]
>>> s3
‘‘
>>> s3.index(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int
>>> s3.index(‘5‘)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> s.index(‘5‘)
11
>>> s.index(‘1‘)
7
>>> s3=s[11:7:-1]
>>> s3
‘5432‘
>>> s3=s[11:8:-1]
>>> s3
‘543‘
>>> s3=s[11:6:-1]
>>> s3
‘54321‘
>>>
>>> s3=s[-1:-6:-1]
>>> s3
‘54321‘
>>> s3=s[-1:6:-1]
>>> s3
‘54321‘

通常一个切片操作要提供三个参数 [start_index: stop_index: step]
start_index是切片的起始位置
stop_index是切片的结束位置(不包括)
step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError。

当 step 是正数时,以list[start_index]元素位置开始, step做为步长到list[stop_index]元素位置(不包括)为止,从左向右截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证 list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置右边,否则取不出元素。

比如下面的几个例子都是合法的:

>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> alist[1:5]
[1, 2, 3, 4]
>>> alist[1:-1]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> alist[-8:6]
[2, 3, 4, 5]

当 step 是负数时,以list[start_index]元素位置开始, step做为步长到list[stop_index]元素位置(不包括)为止,从右向左截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证 list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置左边,否则取不出元素。详见链接。

t=‘Mike and Tom‘
split拆分
upper/lower/swapcase修改大小写
ljust/center/rjust排版30位宽度左中右对齐
replace将Mike替换为Jerry

 1 >>> t=‘Mike and Tom‘
 2 >>> list1=t.split(‘ ‘)
 3 >>> list1
 4 [‘Mike‘, ‘and‘, ‘Tom‘]
 5 >>> tuple1=tuple(list1)
 6 >>> tuple1
 7 (‘Mike‘, ‘and‘, ‘Tom‘)
 8 >>> t.upper()
 9 ‘MIKE AND TOM‘
10 >>> t.lower()
11 ‘mike and tom‘
12 >>> t.swapcase()
13 ‘mIKE AND tOM‘
14 >>> t.ljust()
15 Traceback (most recent call last):
16   File "<stdin>", line 1, in <module>
17 TypeError: ljust() takes at least 1 argument (0 given)
18 >>> t.ljust(1)
19 ‘Mike and Tom‘
20 >>> t.ljust(3)
21 ‘Mike and Tom‘
22 >>> t.ljust(50,‘*‘)
23 ‘Mike and Tom**************************************‘
24 >>> t.rjust(50,‘*‘)
25 ‘**************************************Mike and Tom‘
26 >>> t.center(30,‘*‘)
27 ‘*********Mike and Tom*********‘
28 >>> t.replace(‘Mike‘,‘Jerry‘)
29 ‘Jerry and Tom‘
30 >>> t
31 ‘Mike and Tom‘

swapcase() 方法用于对字符串的大小写字母进行转换。

Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

语法
ljust()方法语法:

str.ljust(width[, fillchar])
参数
width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。
返回值
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

实例
以下实例展示了ljust()的使用方法:

str = "this is string example....wow!!!";

print str.ljust(50, ‘0‘);
以上实例输出结果如下:

this is string example....wow!!!000000000000000000

原文地址:https://www.cnblogs.com/flyingtester/p/12360805.html

时间: 2024-11-06 14:40:44

Python语言基础与应用 (P16)上机练习:基本数据类型的相关文章

Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in 1 Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32 2 Type "help", "copyright", "credits" or "license" for more informatio

为期三天的Python语言基础公开课举行

8月23日,培训中心"Python语言基础及数据分析技术"公开课举行. 来自各企业网络采集.处理和规划的负责人或设计人员十余人参加了本次培训. 本培训将对基于Python语言进行数据处理.数据探索的基本方法,并对Python语言算法原理及实现进行讲解. Python是一种面向对象.解释型计算机程序设计语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL协议.是一个用于统计计算和统计制图的优秀工具,也是GNU的一个免费.源代码开放的软件. Python语法简洁清晰

2.3 Python语言基础

2.3 Python语言基础 1 语言语义(Language Semantics) 缩进,而不是括号 Python使用空格(tabs or spaces)来组织代码结构,而不是像R,C++,Java那样用括号. 建议使用四个空格来作为默认的缩进,设置tab键为四个空格 另外可以用分号隔开多个语句: a = 5; b = 6; c = 7 所有事物都是对象(object) 在python中,number,string,data structure,function,class,module都有自己

ArcPy开发教程1-面向ArcGIS的Python语言基础

ArcPy开发教程1-面向ArcGIS的Python语言基础 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 第一节课 时间2019年2月26日 上午第一节 讲解:ArcPy概念 操作: IDLE交互式编程 IDLE脚本编程 ArcGIS交互式编程 背景知识:工作空间,Work space: arcgis当前工作路径,包括文件夹,个人地理数据库,文件地理数据库,即数据保存的位置 要素类,Feature class 某一个空间数据,例如道路,河流,居民点,行政边界

[Python学习笔记1]Python语言基础 数学运算符 字符串 列表

这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档:http://docs.python.org/.在此向文档编辑者致谢.请勿将本文用于商业用途. 一.Python语言介绍 首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法.其具有高级的数据结构和许多方便的库文件,可以完成文件IO.系统调用.网络编程,甚至

(1)python语言基础

===安装=== a>.官网:www.python.org b>.linux系统自带,ubuntu,CentOS,redhat 注:Python3.0比python2.6早,python3.x和pthon2.5不兼容,python2.6之后有个工具python2to3可转换到python3.x.建议使用2.75及以上版本 ===查版本== 直接打python ===打印=== print 'hello,world' ===python解释器=== -CPython 官方标准--动态解释语言(边

一 Python 语言基础应用领域介绍

python是一门动态解释型的强类型定义语言 语言类型分为 1汇编语言 与解释型语言 2动态语言与静态语言 3强类型定义语言和弱类型定义语言 PYTHON 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 我学习python是为什么呢:很简单,听说他是万能的,就这 /开发领域 web开发 Django.pyramid.tornado.bottle.flash.webpy 网络编程 twisted.reuests

Python语言基础

一.Python简介 Python是跨平台动态语言 特点:优雅.明确.简单 适用:web网站和网络服务:系统工具和脚步:包装其他语言开发的模块 不适用:贴近硬件(首选C):移动开发:IOS/Android(objC.swift/Java):游戏:C/C++高速渲染 实际应用:YouTube  豆瓣.搜狐邮箱  OpenStack开源云计算平台 类型 速度 代码 C 编译为机器码 非常快 多 Java 编译为字节码 快 中 Python 不编译,解释执行 慢 少 特点:Python不能加密,发布开

Python语言基础考察点:python语言基础常见考题(一)

一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转换 若类型语言 强类型语言 4.python作为后端语言优缺点 1.胶水语言.轮子多.应用广泛 2.语言灵活.生产力高 3.性能问题.代码维护问题.python2/2兼容问题 动态语言一时爽.代码重构火葬场 二.什么是鸭子类型 当看到一只鸟走起来想鸭子.有用起来像鸭子.叫起来也想鸭子.那么这只鸟就可