Python 从零学起(纯基础) 笔记(一)
作者身份:初学Python,菜鸟
=================================================
1. 主提示符和次提示符
>>> 主提示符 - 等待输入下一个语句
... 次提示符 - 等待输入当前语句剩下部分
2. Python两种方式:语句和表达式
2-1 print语句完成Hello World:
>>> print("hello world!")
2-2 表达式没有关键字
可以是 数学运算符构成算术表达式
括号调用的函数
(注:未指定返回值的函数,返回None 等价于 NULL)
调用abs()返回绝对值函数:
>>> abs(-4)
4
>>> abs(-12)
12
>>> abs(3/2)
1.5
>>>
3.程序输出
用 print 查看字符串内容:
>>> myString = 'Hello String!'
>>> print(myString)
Hello String!
也可以这样查看:
>>> myString
‘Hello String!’
>>>
注:单引号中即字符串内容
4. 在表达式中, 下划线 _ 表示 最后一个表达式的值,接上述:
>>> _
'Hello String!'
5. %s 的使用
>>> print("%s is %d" % ("Bro.Young",1))
Bro.Young is 1
>>> print("%s is %d" % (7788,1))
7788 is 1
(注:可以将数字传递给%s)
>>> print("%s is %d" % (77.88,1))
77.88 is 1
(注:浮点型也可以)
6. 程序输入(内建函数input())
获得用户输入数据:
2.x系列使用raw_input()
>>> user = raw_input('Please Enter Your Name:')
(注: 3.x系列 不可用raw_input(),因为 3.x 系列不再使用 raw_input() 而是使用 input() )
3.x 系列使用input()
>>> user = input('Please Enter Your Name:')
Please Enter Your Name:
此时可输入姓名 Bro.Young
7. 输入一个数值字符串
上一例子仅限于文本输入,下面进行数值字符串输入
>>> number = input('Please Enter Your Number:')
Please Enter Your Number:1234
>>>print('Your Number is: %d' % (int(number)*2))
Your Number is:2468
(注:int() 将数值字符串转换成整数值)
8. 查看帮助文档
调用help(),以input为例,如下:
>>> help(input)
9. # 符号注释 (从 # 开始直到一行结束)
>>> #one word
... print('Single dog')
Single dog
10. 标准运算符
+ - * / // % **
加、减、乘、除、取余都是标准运算符
/ - 传统除法
// - 浮点除法(四舍五入)
** - 乘方运算符
>>> print(-1*2+3**3)
25
11. 标准比较运算符 - 返回布尔值
< <= > >= == != <>
>>> 1<2
True
>>> 1<= 2
True
>>> 1>2
False
(注: <> 不等于运算符 ABC/Pascal 风格,基本被淘汰)
12. 逻辑运算符 可连接任意表达式 返回布尔值
and or not
>>> 1 == 2
False
>>> 1!=2
True
>>> 1<2 and 1==2
False
>>> 1<2 or 1==2
True
>>> not 6.5<2
True
>>> 1<2<3
True
13. Python 是动态语言 - 不需要预先声明变量类型,变量的类型和值在赋值那一刻即被初始化。
>>> name = 'Tom'
>>> age = 20
>>> peer = 'senior student'
>>> print("%s is %d,%s" % (name,age,peer))
Tom is 20,senior student
>>> print('%s is %d,%s' % (name,age,peer))
Tom is 20,senior student
14. 支持增量赋值 - 运算符和等号合并在一起
例如:n *= 10
>>> n=1
>>> n *= 10
>>> --n
10
>>> -n
-10
>>> ++n
10
(注: 不支持 自增(++) 自减(--) 如:--n 被认为是-(-n)即n )
15. 五种基本数字类型
int - 有符号整型
long - 长整型
bool - 布尔型
float - 浮点型
complex - 复数
(注1: Python中的长整型远比C语言中的长整型表示的数大,其大小受限于计算机内存)
(注2: 布尔值true 和 false 放在数值上下文环境中 true 为 1,false 为 0)
16. 使用索引运算符([ ])和 切片运算符([ : ])可以得到字符串
规则:第一个字符的索 引是0,最后一个字符的索引是 -1。
加号(+)用于字符串连接运算 星号(*)用于字符串重复

[start : end] - 访问范围从start开始到 end(不包括end)的所有元素
>>> str = 'abcd'
>>> str[1:2]
'b'
>>> str[1:3]
'bc'
>>> str[1:4]
'bcd'
>>> str[-3:-1]
'bc'
>>> str2 = 'efg'
>>> str + str2
'abcdefg'
>>> str*2
'abcdabcd'
>>> '_'*10
'__________'
(注: [ : ]中的0 可以不写)
>>> str[0:2]
'ab'
>>> str[:2]
'ab'
17. 列表和元组 <==> 数组 可保存任意数量、任意类型的Python对象从 0 开始访问元素
与数组区别:列表和元组可以保存不同类型的对象
18. 字典是Python中的映射数据类型,由键值对(key-value)构成。值可以是任意类型的Python对象,字典元素用{ } 包裹
>>> myDict = {'hello':'host'}
>>> myDict
{'hello':'host'}
>>> myDict['world'] = 100
>>> myDict
{'world':100,'hello':'host'}
keys() 1
dic = dict(k1='v1',k2='v2')
print(dic.keys())
print(dic.values())
print(dic.items())
for k in dic.keys():
print(k)
for k in dic.values():
print(k)
for k in dic.items():
print(k)
结果:
dict_keys(['k2', 'k1'])
dict_values(['v2', 'v1'])
dict_items([('k2', 'v2'), ('k1', 'v1')])
k2
k1
v2
v1
('k2', 'v2')
('k1', 'v1')
pop() 和 popitem() 2
dic = dict(k1='v1',k2='v2')
#dic.pop('k1')
dic.popitem()
print(dic)
结果:
{'k1': 'v1'}
练习:
将一个列表中的元素,以66为界限分别放在字典dic的k1 和 k2 中
dic = {}
all_list=[11,22,33,4,44,55,66,78,99,6778]
for i in all_list:
if i >66:
if 'k1' in dic.keys():
dic['k1'].append(i)
else:
dic['k1']=[i,]
else:
if 'k2' in dic.keys():
dic['k2'].append(i)
else:
dic['k2']=[i,]
print(dic)
结果:
{'k2': [11, 22, 33, 4, 44, 55, 66], 'k1': [78, 99, 6778]}
Python 从零学起(纯基础) 笔记(一)的更多相关文章
- Python 从零学起(纯基础) 笔记 (二)
Day02 自学笔记 1. 对于Python,一切事物都是对象,对象基于类创建,对象具有的功能去类里找 name = ‘Young’ - 对象 Li1 = [11,22,33] ...
- Python 从零学起(纯基础) 笔记 之 迭代器、生成器和修饰器
Python的迭代器. 生成器和修饰器 1. 迭代器是访问集合元素的一种方式,从第一个到最后,只许前进不许后退. 优点:不要求事先准备好整个迭代过程中的所有元素,仅仅在迭代到某个元素时才计算该元素,而 ...
- Python 从零学起(纯基础) 笔记 之 深浅拷贝
深浅拷贝 1. import copy#浅拷贝copy.copy()#深拷贝copy.deepcopy()#赋值 = 2. 对于数字和字符串而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个 ...
- Python 从零学起(纯基础) 笔记 之 collection系列
Collection系列 1. 计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数 ps 具备字典所有功能 + 自己的功能 Counter import col ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- [Python] 文科生零基础学编程系列三——数据运算符的基本类别
上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...
- 知了课堂 Python Flask零基础 笔记整理
目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...
- Python入门方法推荐,哪些基础知识必学?
很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...
- Python基础笔记系列十一:标准输入输出、文件读写和指针等操作
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...
随机推荐
- Android两个独立的应用跳转实现方式小结
在Android应用实现过程中,有时候会遇到应用之间相互跳转的情况,比如跳转至系统设置界面.WiFi设置界面.或者其它的用户实现的应用主界面等等.这里总结了几种常见的打开其它应用activity的方式 ...
- 基于jquery的消息提示框toastr.js
//消息提示全局配置 toastr.options = { "closeButton": false,//是否配置关闭按钮 "debug": false,//是 ...
- urllib源码简单分析
对下面这段代码做分析 import urllib params = urllib.urlencode({'wd': 'python'}) f = urllib.urlopen("http:/ ...
- ESXi 5.5 解决 cannot edit the settings of virtual machines of version 10
ESXi 5.5 是VMWare提供的免费虚拟服务器软件, 因为其优秀的性能, 对CPU, 内存和虚拟机数量都解除了限制, 成为很多个人或者小型公司的首选虚拟化工具. 在日常管理时常碰到的一个问题是, ...
- 045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)
我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单. 当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核. 我们在提交这个采购单 ...
- SQL Server 用SSMS查看依赖关系有时候不准确,改用代码查
SQL Server 用SSMS查看依赖关系有时候不准确,明明某个sp中有用到表tohen,查看表tohen的依赖关系的时候,却看不到这个sp 用代码查看方式如下: --依赖于表tohen的对象 SE ...
- Redis学习笔记(一)
一.Redis入门概述 1.是什么? (1)全称:REmote DIctionary Server(远程字典服务器).是完全开源免费的,用C语言编写的, 遵守BCD协议.是一个高性能的(key/val ...
- QTableView 添加进度条
记录一下QTableView添加进度条 例子很小,仅供学习 使用QItemDelegate做的实现 有自动更新进度 要在.pro文件里添加 CONFIG += c++ ProgressBarDeleg ...
- .net程序员转行做手游开发经历(三)
这次就主要讲讲我们开发的过程. 策划是我们团队的一个人成员专门负责,我们几个算是出谋划策.我这边的理解是,策划首先需要对所做的事情一定要有一定的把握,意思是尽可能的想到这件事情的影响范围,类似项目管理 ...
- 通向高可扩展性之路(推特篇) ---- 一个推特用来支撑1亿5千万活跃用户、30万QPS、22MB每秒Firehose、以及5秒内推送信息的架构
原文链接:http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active ...