python进阶之路

Day4

hello world!今日是python学习的第四天,我将会在下面文章对基础语法进行一些介绍,主要为数字类型的详细讲解、列表基础等。

1.数字类型

​ python中数字相关的类型有4种:int(整型)、float(浮点型)complex(复数)、bool(布尔)

1.1 int(整型) - 所有的整数对应的类型
num10 = 23
num2 = 0b101010 # (0b/0B 二进制标志,数字前加0b,二进制数中只能有0#                 和1两个基数)
num8 = 0o75423 # (0o/O 八进制标志,在数字前加0o表示八进制数)
num16 = 0x564a # (0x/0X 十六进制数的基数:0到9,a到f/A到F)
print(num16,type(num16))
1.1.1进制转换
print(num8) #print(其他进制数) - 查看对应的十进制数
print(bin(98)) #十进制转换二进制
print(oct(65)) #十进制转换八进制
print(hex(32)) #十进制转换十六进制

​ int的类型转换: int(数据)

print(int(2.34))
print(int(1.99))
print(int(-2.5)) # 浮点数转换成整数时只是单纯的保存整数部分
print(int(10+3j)) 复数不能转换成十进制 - can't convert complex to int
print(int(True)) # 布尔转换成十进制
print(int(False)) # 布尔转换成十进制
print(int('123')) # 字符串转换成十进制必须引号内为整数
#print(int('0b110')) # 会报错
print(int('0b110',base = 2)) # base控制进制,默认是10,认为引号内为10进制数
1.2 float(浮点型) - 所有的小数对应的类型
f1 = 12.4
f2 = 3e4
print(f1,f2)

​ 类型转换

print(float(19)) # 19.0
print(float(3+4j)) can't convert complex to float
print(float(True)) # 1.0
print(float('abc3'))
print(float('12.8'))
print(float('67'))
print(float('2e8'))
1.3 complex(复数) - 由实部和虚部组成的数字就是复数(虚数单位为j)
c1 = 10+2j
print(type(c1))
c2 = 3+1j # 虚部的1不能省略!
print(1j*1j)
c3 = 3j # 实部为0可以省略
# python中的复数直接支持复数的数学运算
print(c1+c2)
print(c1*c2)

​ 复数的乘法:(a+bj)*(c+dj)=(ac-bd)+(bc+ad)j

print(complex(10))  # (10+0j)
1.4 bool(布尔) - 只有True和False两个值

​ True的本质为1;False本质为0

​ 类型转换 (所有类型的数据都可以转换成布尔)
​ 所有的 0 值和空值都会转换成False,其他都为True。

num = 10
if num == 0:print('num为0')
if not num:print('num为0')
if num != 0:print('num不为0')
if num:print('num不为0')

2. 列表基础

2.1列表的含义:

​ 列表为容器型数据类型,以【】作为容器的标志,里面的多个元素用逗号隔开:[元素1,元素2,元素3,。。。]
​ 列表是可变的(指的是元素的个数、值和顺序可变)、列表是有序的
​ 列表中的元素可以是任何类型数据;同一个列表可以有多个类型不同的元素

list1 = [24,'abc',True,84]
print(list1)
empty = [] # 空列表
2.2 获取列表元素
1)获取单个元素

​ a 语法:
​ 列表【下标】 - 获取列表中指定下标对应的元素
​ b 说明:
​ 列表 - 任何结果是列表的表达式
​ (比如:具体的列表值、保存列表的变量、运算结果是列表的运算表达式、返回值是列表的函数调用表达式)
​ 【】 - 固定写法
​ 下标 - 又叫索引,表示元素在有序序列中的位置信息
​ python中下标值有两种:

​ 1) 0~长度-1,其中0表示第一个元素的位置,1表示第二个元素的位置,以此类推。。。。。
​ 2) -1~-长度,其中-1表示最后一个元素的位置,-2表示倒数第二的元素的位置,以此类推。。。。
​ 【10,20,30,40】 - 10表示的下标为0和-4,等等。

scores = [90,78,56,45,55]
print(scores[1])
print(scores[-1])
#print(scores[5]) IndexError: list index out of range

​ 注意:获取单个元素的时候下标不能越界。

2) 遍历列表 - 将列表中的元素一个一个的取出来

​ 方式一:
​ for 变量 in 列表:
​ 循环体(变量中取到的是列表中的元素)
​ 方式二:
​ for 下标,元素 in enumerate(列表):
​ 循环体
​ a.直接获取列表中的元素

for _ in range(4):
print(scores[_])
for x in scores:
print(x)

​ b.同时获取每个元素的下标和值:

for x,y in enumerate(scores):#enumerate()取出每个元素的下标和值
print(x,y)

​ 练习1:求一个班所有学生的总成绩

scores = [90,78,56,45,55]
sum = 0
for x in scores:
sum += x
print('总成绩为:',sum,'平均分',sum/len(scores))# len()求得列表的元素个数。

​ 练习2:统计班上不及格学生的人数

scores = [90,78,56,45,55]
count = 0
for x in scores:
if x < 60:count += 1
print('不及格人数为:',count)
3) 获取部分元素(切片)

​ 切片的结果还是列表
​ 语法:
​ 列表【开始下标:结束下标:步长】 - 从开始下标开始取,每次下标值增加步长去取下一个值,到结束下标值为止(结束下标取不到)。

​ 如果步长为正:表示开始下标到结束下标是从前往后取,开始下标对应的位置要在结束下标位置的前面才能取到值。
​ 如果步长为负:表示开始下标到结束下标是从后往前取,开始下标对应的位置要在结束下标位置的后面才能取到值。

names = ['赵云','诸葛亮','刘备','貂蝉','甄姬']
print(names[1:4:1])# 1,2,3,不能取4
print(names[1:4:-1])
print(names[-1:1:-1])

​ a.省略步长
​ 列表【开始下标:结束下标】 - 省略步长就相当于步长是1

movies = ['僵尸世界大战','电锯惊魂','致命弯道','死神来了','生化危机','林中小屋']
print(movies[1:-1])                                   

​ b.省略开始下标
​ 列表【:结束下标:步长】/列表【:结束下标】 -

​ 如果步长为正,表示从第一个元素开始往后取(0);
​ 如果步长为负,表示从最后一个元素开始往前取(-1)。

print(movies[:5:2])
print(movies[:-2])
print(movies[:-3:-1])
print(movies[:-1:-1])

​ c. 省略结束下标
​ 列表【开始下标::步长】/列表【开始下标:】 -

​ 如果步长为正,从前往后取到最后一个元素为止
​ 如果步长为负,从后往前取到第一个元素为止

tv_list = ['甄嬛传','名侦探柯南','名侦探狄仁杰','西游记','三国演义','生活大爆炸','尼基塔']
print(tv_list[2:])
print(tv_list[-3::-1])

​ d.开始下标和结束下标都省
​ 列表【::步长】/列表【:】 -

​ 如果步长为正,从前往后从第一个元素取到最后一个元素。
​ 如果步长为负,从后往前取从最后一个元素取到第一个元素。

print(tv_list[:])
print(tv_list[::-1])

python进阶day4相关推荐

  1. Python进阶之递归函数的用法及其示例

    作者 | 程序员adny 责编 | 徐威龙 封图| CSDN│下载于视觉中国 出品 |  AI科技大本营(ID:rgznai100) 本篇文章主要介绍了Python进阶之递归函数的用法及其示例,现在分 ...

  2. Python自学路线图之Python进阶

    Python自学路线图的第二个阶段是Python进阶学习,自学完后需要掌握的Python技能: 1.自学Linux操作系统,熟练使用Linux操作系统: 自学网络编程,掌握网络编程相关技术, 能够实现 ...

  3. 如果只推荐一本 Python 进阶的书,我要 Pick 它!

    作者 | 豌豆花下猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯 ...

  4. 106页的《Python进阶》中文版(附下载)!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送 推荐一本对Python感兴趣的书籍<Python进阶>,是<Inter ...

  5. Python进阶6——序列操作

    1.序列的拼接和复制 Python中使用+对序列进行拼接,使用*对序列进行复制 s=str(1234) l=list(range(2,13)) print(s,l) print('---------- ...

  6. Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)

    前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作效率,在sf社区内没 ...

  7. Python 进阶_生成器 生成器表达式

    目录 目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结 相关知识点 Python 进阶_迭代器 & ...

  8. python进阶书籍推荐-豆瓣评分9.4!年度最值得推荐的Python进阶书

    原标题:豆瓣评分9.4!年度最值得推荐的Python进阶书 来自:程序员书库(ID:OpenSourceTop) 编译 链接:https://whatpixel.com/fluent-python-b ...

  9. Python 进阶之路 (十二) 尾声即是开始

    Python进阶之路总结 大家好,我的<< Python进阶之路>>到这一期就到此为止了,和 <<Python 基础起步>>不同,在掌握了一些基础知识后 ...

最新文章

  1. 使用Java 8 Optional避免空指针异常
  2. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...
  3. 洛谷P2057 【SHOI2007】善意的投票
  4. Web前端性能优化——编写高效的JavaScript
  5. 不属于前后端分离的Vue+Django的例子
  6. php jq异步上传图片,Jquery实现异步上传图片
  7. 基于jQuery/zepto的单页应用(SPA)搭建方案
  8. php js记住密码功能,jquery.cookie.js实现用户登录保存密码功能的方法_jquery
  9. lisp遍历表中所有顶点_三十张图片让你彻底弄明白图的两种遍历方式:DFS和BFS...
  10. .net框架读书笔记---.net文本处理(字符)
  11. 《自顶向下网络设计(第3版)》——2.7 适应性
  12. 语言模型(Language Modeling)与统计语言模型
  13. 【python】lxml-The E-factory
  14. 图片压缩,分辨率和尺寸大小修改工具(完全免费)
  15. PS照片排版1寸2寸等及照片规格
  16. 广告投放中的ROI是怎么计算的?
  17. 编译原理——证明文法具有二义性
  18. 【闲谈】我为什么不想回答你的问题
  19. OSINT 常用信息收集策略
  20. macbook air 单独安装纯净win7OS

热门文章

  1. 955/965公司名单
  2. 到底什么是工业互联网?
  3. c语言编程TLC2543AD采集,51单片机驱动12位AD转换TLC2543电路图+程序
  4. 如何用机器学习算法计算特征重要性
  5. 计算机听音乐没有声音怎么回事,笔记本电脑听音乐没有声音怎么办
  6. 使用 @Resource或@Autowire时 Idea报错Could not autowire. No beans of 'xxxService' type found. more..出现红色波浪线
  7. 我的阿里秋招之路——阿里实习offer+校招offer
  8. mysql 大量写入 优化_MYSQL大批量写入之性能优化
  9. tensorflow1运用模型断点续训、恢复图和进行预测
  10. linux常见桌面系统以及安装gnome远程桌面