Python学习笔记——Day2
一、集成开发环境
集成开发环境(IDE,Integrated development Enviroment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写、分析、编译、调试等功能。
常用的IDE:
vim、Emacs #Linux系统下比较典型的文本编辑器
Eclipse #Java IDE,支持Java、Python、C、C++等
Visual Studio #微软开发的IDE,支持多种语言的开发
NotePad++
Sublime #Python开发的IDE
Pycharm #主要用于Python开发使用
二、Pycharm设置与使用
1、Pycharm首次安装完成后,默认不显示工具栏。需要使用工具栏时,在View下拉菜单中点击Toolbar即可。

2、文件模板设置
在工具栏中单击“设置”按钮。

在File and code Templates→Python Script中设置文件模板。

设置完成后,新建Python文件头部将自动获取计算机名称和当前日期。

三、格式化输出
1、占位符
%s 表示字符串占位
%d 表示数字占位
%f 表示浮点数占位
例:
 name = input("Name:")
 age = int(input("Age:"))
 job = input("Job:")
 salary = int(input("Salary:"))
 msg = '''
 ---------info of %s------------
 Name: %s
 Age: %d
 Job: %s
 Salary: %d
 You will be retired in %s year.
 -------------------------------
 '''%(name,name,age,job,salary,65-age)
 print(msg)
输出结果:
Name:Oliver Lee
Age:25
Job:IT
Salary:1234 ---------info of Oliver Lee------------
Name: Oliver Lee
Age: 25
Job: IT
Salary: 1234
You will be retired in 40 year.
-------------------------------
2、判断一个变量是否为数字;退出程序的用法
if salary.isdigit(): #通过调用isdigit()来判断数字
salary = int(salary)
else:
exit("Must input digit.") #退出时打印提示信息,也可单独用exit()退出程序。
四、for循环
1、range()的用法
输出1~100之间的奇数,两种方法:
for i in range(1,101):
if i % 2 == 1:
print("loop:",i) for i in range(1,101,2): #range中的2表示步长。
print("loop:",i)
2、break的用法
_user = 'oliver'
_passwd = ''
flag = False
for i in range(3):
username = input("用户名:")
password = input("密码:")
if username == _user and password == _passwd:
print("Welcome %s login..."%username)
flag = True
break #中断,跳出整个循环
else:
print("invalid username or password!")
if not flag:
print("尝试次数过多。")
3、for循环后,else的用法
_user = 'oliver'
_passwd = ''
for i in range(3):
username = input("用户名:")
password = input("密码:")
if username == _user and password == _passwd:
print("Welcome %s login..."%username)
break
else:
print("invalid username or password!")
else: #程序正常结束时执行else后的语句,通过break结束时不执行else。
print("尝试次数过多。")
五、while循环
例:
_passwd = ''
count = 0
while count < 3:
username = input("用户名:")
password = input("密码:")
if username == _user and password == _passwd:
print("Welcome %s login..."%username)
break
else:
print("invalid username or password!")
count += 1
if count == 3:
agin = input("还想玩吗?[y/n]")
if agin == 'y':
count = 0
else:
print("尝试次数过多!")
六、列表
1、查询列表元素,(切片)
a=['','','','','']
print(a)
print(a[0:2]) # ['10', '11'] 从索引0开始取,从左至右取到索引1
print(a[0:]) # ['10', '11', '12', '13', '14'] 从索引0开始向右取到最后一个
print(a[0:-1]) # ['10', '11', '12', '13'] -1表示取到倒数第二个
print(a[0::2]) # 2表示步长,
print(a[0::-1]) # 步长为-1,表示方向从右向左
print(a[:]) #所有元素
2、向列表中添加元素
append和insert的区别:
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a.append('fadsdf') # 将新元素添加到列表最后
print(a)
输出结果:
['zhangsan', 'lisi', 'wangmazi', 'laowang', 'nanshen', 'fadsdf']
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a.insert(1,'adsfadsf') #将新元素添加到索引位置之前
print(a)
输出结果:
['zhangsan', 'adsfadsf', 'lisi', 'wangmazi', 'laowang', 'nanshen']
3、修改
先将元素从列表中取出来,然后替换
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a[2] = 'adfsjk' #将索引位置的元素替换为新元素
print(a)
输出结果:
['zhangsan', 'lisi', 'adfsjk', 'laowang', 'nanshen']
批量替换:
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a[1:3] = ['asdf','erwt'] #批量替换列表中的元素
print(a)
输出结果:
['zhangsan', 'asdf', 'erwt', 'laowang', 'nanshen']
4、删除
remove
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a.remove('lisi') #相当于a.remove(a[1])
print(a)
输出结果:
['zhangsan', 'wangmazi', 'laowang', 'nanshen']
pop
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
a.pop(1) #pop中不指定索引号,则删除最后一个元素
b = a.pop(1) #删除后可返回删除的元素
print(a)
print(b)
输出结果:
['zhangsan', 'laowang', 'nanshen']
wangmazi
del
a = ['zhangsan','lisi','wangmazi','laowang','nanshen']
del a[3]
print(a)
输出结果:
['zhangsan', 'lisi', 'wangmazi', 'nanshen']
del a #删除列表
clean
a.clear() #清空列表
count
统计某一元素出现的次数。
a = ['zhangsan','lisi','wangmazi','laowang','nanshen','lisi']
print(a.count('lisi'))
输出结果:
2
extend
扩展表。
a = ['ew','asfd','adsf']
b = [4,5,6]
a.extend(b) # 把b中的元素添加到a中
输出结果:
['ew', 'asfd', 'adsf', 4, 5, 6]
index
根据元素找索引位置
a = ['ew','asfd','adsf']
print(a.index('asfd'))
1
reverse
元素顺序反转
a = ['ew','asfd','adsf']
a.reverse()
print(a)
结果:
['adsf', 'asfd', 'ew']
sort
排序,默认为从左到右升序。
a = [21,23,12,8,89]
a.sort()
print(a)
输出结果:
[8, 12, 21, 23, 89]
七、列表嵌套
a = [[1,2,3],'oliver',4,(2,3,4)]
print(a[3][1])
结果:3
type(a) is list
判断a是否为列表。
Python学习笔记——Day2的更多相关文章
- Python学习笔记 - day2 - PyCharm的基本使用
		什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢? 在记事本里写 在word文档里写 在sublim ... 
- [python学习笔记]Day2
		摘要: 对象 对于python来说,一切事物都是对象,对象基于类创建: 注:查看对象相关成员 var,type,dir 基本数据类型和序列 int内部功能 class int(object): def ... 
- python学习笔记-Day2 Numpy数组
		1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1) 从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2) 从列表传入 a=np.array([1,2,3,4 ... 
- python学习笔记Day2
		字符编码 编程规范(PEP8) 变量1.常量(用大写) 2.变量 常用类型:str .int.float. long.bool 字串格式化: %d 整数 %2d占两位 %02d占两位用0填充 %f 浮 ... 
- 【目录】Python学习笔记
		目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ... 
- python学习笔记整理——字典
		python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ... 
- VS2013中Python学习笔记[Django Web的第一个网页]
		前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ... 
- python学习笔记之module && package
		个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ... 
- python学习笔记(六)文件夹遍历,异常处理
		python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ... 
随机推荐
- window打开服务的dos命令
			window打开服务的dos命令 “开始”---> “运行”输入以下命令,或者Win + R,输入以下命令 对我比较有用的几个: 10. notepad--------打开记事本 31. ... 
- bootstrap selectpicker
			mark 一下使用 bootstrap selectpicker 遇到的一个小issue,作为下次查错使用 $('.selectpicker').selectpicker('val', 'Mustar ... 
- 运行Maven是报错:No goals have been specified for this build
			No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in t ... 
- 查看本机的IP地址方法:
			查看本机的IP地址方法:对于XP系统:方法一:如果右下角系统托盘区有本地连接的小电脑,双击小电脑→支持,就可以看到本机IP地址.无线连接也是一样.方法二:开始→运行cmd /k ipconfig,IP ... 
- 动态内存分配导致Javascript性能的问题
			内存分配对性能的影响是很大的,分配内存本身需要时间,垃圾回收器回收内存也需要时间,所以应该尽量避免在堆里分配内存.不过直到最近优化HoLa cantk时,我才深刻的体会到内存分配对性能的影响,其中有一 ... 
- java中重载、覆盖和隐藏三者的区别分析
			重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型.参数个数.参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg ... 
- Java内存分配
			概述 对从事C和C++的程序员来说,在内存管理方面,他们既是拥有最高权利的人,也是从事最基础工作的“劳动人民”. 而对于Java程序员来说,JVM自动进行内存管理,程序员不再需要为每一个new操作去写 ... 
- Mysql 5.7.10以上版本安装大坑
			mysql解压缩版的配置已经方便无比了,但是也正是由于官方的不断优化,导致传统的套路一次次被修改.也让像我这样的萌新撞了个大墙. [注:本篇博客适用mysql5.7.10~5.7.15,如果版本已太过 ... 
- 20135203齐岳信息安全系统设计基础——实验四&实验五实验报告
			见20135217孙小博的博客:http://www.cnblogs.com/sunxiaobo/p/4991861.html 
- iScroll4.2.5中的无法滑动或点击的解决方案(转)
			又见iScroll问题,特别是三星手机和iPhone,顺便提一句,现在的项目中他们给div加了height属性来解决不能滚动问题,个人认为是个非常愚蠢的解决方案,我必须使用media query来解决 ... 
