Python Day 3
阅读目录:
内容回顾:
变量(标识符)的命名规范:
常量:
格式化输入\输出:
注释:
基本数据类型:
运算符:
##内容回顾
1.语言的分类:
-- 机器语言:直接编写0,1指令,直接能被硬件执行。
-- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行。
-- 高级语言:编写人能识别的字符,要通过编译器或解释器转换为汇编语言最终转换为机器语言的指令交给硬件执行。
运行效率最高:机器语言
开发效率最高:高级语言
维护成本:控制维护成本、例:小米手机 组装机,没有开发团队,没自身的技术硬实力。
2.计算机组成:控制器 + 运算器 + 存储器 + 输入input设备 + 输出output设备
3.三大核心:cpu + 内存 + 硬盘
4.环境的搭建:环境变量:python解释器 | pip install 工具
5.两种执行方式: 交互式 | 脚本式
6.变量:
-- 声明: 变量名 = 变量值
-- 变量值:变量名 类型:type(变量名) 地址:id(变量名)
-- == | is: == 值比较 | is地址比较
-- 1111111111111111111111111111111111111111
7.pycharm安装于创建项目
#1.只能由 字母 数字 及 _ 组成
#2.不能以数字开头
#3.避免与系统关键字重名:重名不会报错,但系统的功能就被自定义的功能屏蔽掉了(严重不建议这样来做)
注:以下关键字变为变量名直接回出现错误。

#4.以_开头的变量都有特殊含义
#5.以__开头与结尾的叫魔法变量:内置变量
#6.建议使用_连接语法来声明长变量名:owen_name old_boy_edu
#7.支持小驼峰与大驼峰命名规范:owenName | OwenName
#8.多个单词的简写建议使用全大写:URL | HTTP | HTML
#9.用全大写来标识常量:PI = 3.141592653 | OWEN_SALARY = 88888
##常量:
python中没有严格的常量语法:
-- 常量:在程序运行过程中,值不能被改变的量
-- python中所有的量在运行过程中其实都能发生改变,只能自我保障不去改变全大写定义的变量值
##格式化输入\输出:
1.输出:自带换行
py2
print(10)
print 10 : py3被遗弃
py3
print(10)
2.输入:
py2
info = input('提示信息:')
# 细节
# 1.可以输入一个值,但一定要按照值得表示方式进行输入,10就是数字 'abc'就是字符串
# 2.如果输入的是abc,默认将abc作为变量来解读,如果变量abc未定义就报错 #raw_input(): 采用所有输入都以字符串进行存储
py3
info = input('提示信息:')
# 细节
# 1.所有信息都是直接输入,都会被转换为字符串存储 == raw_input
注释:不会被python解释器解释执行,是提供给开发者阅读代码的提示
单行注释: # 开头的语句
多行注释:出现在文件最上方,用''''''包裹的语句
pycharm快捷键:
ctrl + / 注释
ctrl+Alt+l 整理代码
```````# py2下:数据过长用long类型存储 | 数据量小的整型用int存储
```````# py3下:long被遗弃 | 所有整型都用int存储(优化:数据量过大,采用字符串存储处理,如果需要运算,可以直接拿来运算)
2.浮点型
`````````# float: 用来存放小数
```````` salary = 88888.0123456789
`````````# 可以通过格式化方式来绝对输出格式
`````````# %.6f % salary
`````````# 1)%f对浮点型数据进行占位
`````````# 2).后的数据数字表示小数精度
`````````# 3).前的数据是输出的长度,小于等于要输出的数据长度不起作用,超出就采用规定的最大长度
`````````# 注:%015.6f:右对齐,左侧不足拿0填充, %-15.6f: 左对齐输出
print('%015.6f' % salary)
`````````# 了了解
`````````# 可以将格式化的结果进行保存,以便之后再次使用
info = '%015.6f' % salary
print(info)
3.布尔类型
# bool类型:就是两个值 True | False
result = False
print(result)
4.字符串类型
# 单行字符串: "" | ''
# 多行字符串: """""" | ''''''
# 案例:
name = input('name: ')
age = input('age: ') # %s是万能占位符, %是用来连接有占位符的字符串与需要占位的变量,多个变量用()包裹
info = """信息:
name: %s
age: %s""" % (name, age)
print(info)
5.列表
# 1、定义:变量名 = [多个值,之间用,隔开]
ls = [3, 1, 2]
# 2、列表变量名ls访问的是列表整体
print(ls) # [3, 1, 2]
# 3、通过索引(index)来访问具体的值,index从0开始编号: ls[index]
print(ls[0]) #
# 4、ls的嵌套及值的访问
ls = [[1, 2, 3], [4, 5, 6], [7, 8, [9]]] # 访问数字9
print(ls[2][2][0])
# 重点:list存放值的方式: eg:[3, 1, 2] => 列表的0号位存放的不是数字3,而是堆区3空间的地址 (如下图)

6.字典
# 列表能存放多个值,但多个值只能通过index区分,但是index没有语义
# 需找即可以存放多个值,切每个值有一个语义描述 => dict类型
# 定义:{}是用来定义字典的语法,key是用来描述最终要访问的value值的,key对于开发者来说是已知的
# 访问:通过 dic[key]来访问key描述的值
dic = {'key': 'value'}
'''
people = {
'name': 'Liuxx',
'age': 68,
'gender': '哇塞'
}
# 整体访问
print(people)
# 访问年龄的值,[将key原样拿下来] => ['age']
print(people['age'])
# 案例
# 字典的嵌套
info = {
'name': 'egon',
'hobbies': ['play', 'sleep'],
'company_info': {
'name': 'Oldboy',
'type': 'education',
'emp_num': 40,
}
}
# 拿到40 | 拿到 'sleep'
res = info['company_info']['emp_num']
print(res)
res = info['hobbies'][1]
print(res)
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
# 第二个学生的第一个爱好
print(students[1]['hobbies'][0])
1.算术运算符
# + | - | * | / | // | ** | %
# 1.字符串和list可以做 + 和 *
# 2./非整除,// 为整除
# 3.**求幂:5 ** 2 => 25
# 4.任意数 % n => [0, n-1]
# 5.有负数参与的取余:符号跟着 % 后面那个数
2.比较运算符
# > | < | == | != | >= | <=
# 1.运算结果为bool类型
print(3 > 5)
# 2.可以连比
num = 10
print(1 < num < 20) 3.赋值运算符
# += | -= | *= | /= | %= | **= | //= | =
num = 10
num += 1 # num = num + 1 => 11 # 1.链式赋值
a = b = num # 2.交叉赋值
x = 10
y = 20
x, y = y, x # 3.解压赋值
ls = [3, 1, 2]
a, b, c = ls # _是合法的变量名,会接受值,但我们认为_代表该解压位不用接收,用_来接收表示
_, _, g = ls # g才存放2,其他标示不接受 4.逻辑运算符
# and | or | not
# 1.and: 左右都成立才成立,有不成立的就不成立
# 2.or: 左右都不成立才不成立,有成立的就成立
# 3.ont: 成立则不成立,不成立则成立
#重点:
res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
print(res) #
res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
print(res) #
Python Day 3的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
- python开发编译器
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- MySQL导出数据字典
平时用mysql比较多,有时候需要详细的数据库设计表结构和数据字典,但又没有最新的文档,这个时候直接从数据导出是最新最全的.在MySQL数据库中利用information_schema库中的COLUM ...
- Synchronized方法锁、对象锁、类锁区别
synchronized,这个东西我们一般称之为”同步锁“,他在修饰代码块的时候需要传入一个引用对象作为“锁”的对象. 在修饰方法的时候,默认是当前对象作为锁的对象 在修饰类时,默认是当前类的Clas ...
- android 开发 View _15 导入一张图片将它裁剪成圆形 与 paint图层叠加处理详解
方法一: /* 实现思维是这样的: 1.首先拿到bitmap图片 2.得到bitmap图片的高度 宽度,并且计算好各个画图尺寸 3.创建一个空白的 bitmap图片: Bitmap output = ...
- Linux 关机、重启 命令
重启命令:1.reboot2.shutdown -r now 立刻重启(root用户使用)3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:3 ...
- linux文件属性的10个字符各代表什么意思
10个字符表示文件类别和权限,具体如下: 例: 第一个字符表示文件类别,代表的含义如下:-:普通文件d:目录文件b:块设备文件c:字符设备文件l:符号链接文件 后面9个字符代表3组访问权限:第1组的3 ...
- JAVA 类的三大特性,封装,继承,多态 的一些发现总结
< 一 > 封装 < 二 > 继承 1,关于父类中的私有属性和方法,子类能不能访问的问题 1.1,子类不能通过继承拥有父类的私有属性和方法 1.2,子类可以从父类继承下来的 方 ...
- JAVA 注解,泛型,反射获取泛型,并实例化
JAVA 的泛型加大了 编程的灵活性,在配合上反射,可以让我们省去大量的重复代码,当你用 SpringBoot 整合 JPA 的时候 你会发现,你的 DAO 层只需要继承 BaseDao,在显示标明泛 ...
- Echarts报错 Can't read property 'getWidth' of null
统计图报错: 这里的报错与echarts无关,与zrender有关,zrender是echarts依赖的canvas绘图库 你不需要了解zrender,这个问题是你代码出了错 谨记::代码的错
- RAD Studio 10.3 来了
官方原版下载链接:HTTP FTP 官方更新说明:http://docwiki.embarcadero.com/RADStudio/Rio/en/What's_New [官方更新说明简译]1.Delp ...
- 剑指offer例题——用两个栈实现队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作.队列中的元素为int类型. 首先是概念理解,栈和对列存取的区别 栈(stack)是一种后进先出(last in first out, LI ...