一、集成开发环境

集成开发环境(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——List的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. UVALive 4270 Discrete Square Roots

    题目描述: 在已知一个离散平方根的情况下,按照从小到大的顺序输出其他所有的离散平方根. 在模n意义下,非负整数x的离散平方根是满足0<=r<n且r2=x(mod n)的整数r. 解题思路: ...

  2. Python中threading模块的join函数

    Join的作用是阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后join这些线程结束,例如: for i in range(10): t = ThreadTest(i) thread_ar ...

  3. 【spark】示例:求Top值

    我们有这样的两个文件 第一个数字为行号,后边为三列数据.我们来求第二列数据的Top(N) (1)我们先读取数据,创建Rdd (2)过滤数据,取第二列数据. 我们用filter()来过滤数据 line. ...

  4. HDU 1410 PK武林盟主

    Problem Description 枫之羽认为自己很强,想当武林盟主,于是找现任武林盟主氢氧化铜挑战.氢氧化铜欣然接受了挑战,两人约好于下个月的月圆之夜在HDU校园内的三根柱子上进行决战.这场PK ...

  5. Apk大瘦身

    Android的apk文件越来越大了这已经是一个不争的事实.在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB ...

  6. AFNetworking网络请求与图片上传工具(POST)

    AFNetworking网络请求与图片上传工具(POST) .h文件 #import <Foundation/Foundation.h> /** 成功Block */ typedef vo ...

  7. 理解RESTful风格(转)

    原文链接:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...

  8. 9.详解引擎(InnoDB,MyISAM)的内存优化攻略?

    整理自互联网!! 本篇我们讲解内存优化. 注意:以下都是在MySQL目录下的my.ini文件中改写. 一.InnoDB内存优化 InnoDB用一块内存区域做I/O缓存池,该缓存池不仅用来缓存InnoD ...

  9. 你所不知道的 Java 之 HashCode

    之所以写HashCode,是因为平时我们总听到它.但你真的了解hashcode吗?它会在哪里使用?它应该怎样写? 相信阅读完本文,能让你看到不一样的hashcode. 使用hashcode的目的在于: ...

  10. python之Beautiful Soup库

    1.简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索 ...