1.输入输出

输出实例

 
1
2
print 'hello','world'
hello world

输入实例

 
1
2
3
4
5
name = raw_input();
print "hello,",name
 
world
hello,world

输入时提示实例

 
1
2
3
4
5
name = raw_input('please enter your name:');
print "hello,",name
 
please enter your name:world
hello,world

raw_input 函数读入的是字符串,如果想要转换成int类型,就要用到int函数。

 
1
birth = int(raw_input('birth: '))

2.字符表示

十进制正常表示,十六进制最前面加 0x,小数正常表示,科学计数法表示 1.23×109就是1.23e9,或者 12.3e8

转义符 \

转义符实例:

 
1
2
3
>>> print '\\\n\\'
\
\

防止转义,可以在前面加入 r

 
1
2
3
4
>>> print '\\\t\\'
\       \
>>> print r'\\\t\\'
\\\t\\

多行内容表示,用三引号包括

 
1
2
3
4
5
6
>>> print '''line1
... line2
... line3'''
line1
line2
line3

布尔值的表示 True 和 False

 
1
2
>>> 3 > 2
True

空值 None,相当于Java,C 中的 null

 
1
2
>>>print None==None
True

Unicode表示的字符串用 u’…’ 表示,转化成 UTF-8 编码

 
1
2
3
4
>>> u'ABC'.encode('utf-8')
'ABC'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'>

文本文件编码

 
1
2
#!/usr/bin/env python
# -*- coding: utf-8 -*-

3.格式化

格式化输出实例

 
1
2
3
4
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

格式化整数和小数

 
1
2
3
4
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'

万能格式化 %s,可以代替所有格式化

对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:

 
1
2
>>> u'Hi, %s' % u'Michael'
u'Hi, Michael'

输出百分号 %,用双 % 即可

 
1
2
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'

4.列表 list

列表 list ,可变的有序表

 
1
2
3
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

len函数获取它的长度

 
1
2
>>> len(classmates)
3

取得某个元素,可以用中括号索引

 
1
2
3
4
5
6
7
8
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):

倒数索引

 
1
2
3
4
5
6
7
8
>>> classmates[-1]
'Tracy'
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):

append 追加元素到末尾

 
1
2
3
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

insert 插入到指定位置

 
1
2
3
>>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

pop 删除末尾元素

 
1
2
3
4
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

pop 加入参数删除指定元素

 
1
2
3
4
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']

元素改变,直接赋值即可

 
1
2
3
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']

list可以嵌套,可用二维索引

 
1
2
3
>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> s[2][1]
php

空列表

 
1
2
3
>>> L = []
>>> len(L)
0

5.元组 tuple

不可变有序的数组

定义元组

 
1
2
3
>>> classmates = ('Michael', 'Bob', 'Tracy')
>>> classmates
('Michael', 'Bob', 'Tracy')

空的元组

 
1
2
3
>>> classmates = ()
>>> classmates
()

一个元素的元组

 
1
2
3
>>> t = (1,)
>>> t
(1,)

注意不能用 t = (1) 来定义, 因为它定义的不是tuple,是 1 这个数,这是因为括号既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

表面上可变的tuple

 
1
2
3
4
5
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向 ‘a’,就不能改成指向 ‘b’ ,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

6.字典 dict

字典 dict 即键值对组,dict的key必须是不可变对象。

 
1
2
3
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入,在这之前,d 必须被声明,否则会报错

 
1
2
>>> d['Adam'] = 67
>>> d['Adam']

判断key是否在字典中

1. in 判断

 
1
2
>>> 'Thomas' in d
False

2. 通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value

 
1
2
3
4
>>> print d.get('Thomas')
None
>>> print d.get('Thomas', -1)
-1

要删除一个key,用 pop(key) 方法,对应的value也会从dict中删除

 
1
2
3
4
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

7.集合 set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

 
1
2
3
>>> s = set([1, 2, 3])
>>> s
set([1, 2, 3])

重复元素在set中自动被过滤:

 
1
2
3
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
set([1, 2, 3])

通过 add(key) 方法可以添加元素到set中,可以重复添加,但不会有效果:

 
1
2
3
4
5
6
>>> s.add(4)
>>> s
set([1, 2, 3, 4])
>>> s.add(4)
>>> s
set([1, 2, 3, 4])

通过 remove(key) 方法可以删除元素:

 
1
2
3
>>> s.remove(4)
>>> s
set([1, 2, 3])

判断元素是否在set中

 
1
2
>>> 5 in s
True

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

 
 
1
2
3
4
5
6
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
set([2, 3])
>>> s1 | s2
set([1, 2, 3, 4])

Python学习基础知识概要的更多相关文章

  1. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  2. python学习基础知识

    学习python前最好知道的知识点: python之父:Guido van Rossum python是一种面向对象语言 目前python最新的版本是3.8,python2已经逐渐淘汰 python的 ...

  3. python学习-基础知识-1

    1.计算机历史 计算机使用高低电压的两种状态来描述信息.计算机可以理解的只有二进制数据即010100011....,1个比特位可以表示的状态只有2种,n个比特位可以表示的状态有2的n次方种. 所以如果 ...

  4. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  5. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  6. Matrix学习——基础知识

    以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...

  7. 【python学习小知识】求绝对值和numpy和tensor的相互转换

    一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...

  8. Python入门 ---基础知识

    Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...

  9. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

随机推荐

  1. VS2013常用快捷键你敢不会?

    F1 帮助文档 F5 运行 F12 跳转到定义 F11 单步调试 Shift+F5 停止调试 Ctrl+滚轮 放大缩小当前视图 Ctrl+L 删除当前行 Ctrl+K,Ctrl+C 注释选中代码 Ct ...

  2. Panorama和Pivot的区别

    Panorama 1.提供了更丰富的用户体验(建议最多4个Items项) 2.Item可以设置屏幕方向为水平,支持多于一个屏幕的显示 3.可以使用任意大小的背景图片,Panorama会自动地缩放为屏幕 ...

  3. Android开发输入法遮盖屏幕底部按钮

    方法一: 在你的activity中的oncreate中setContentView之前写上这个代码: getWindow().setSoftInputMode(WindowManager.Layout ...

  4. IOS入门之Swift语言(一)

    经过不断的努力,小哥也买了台苹果设备,终于可以开始我的IOS之旅了,说来确实令人苦恼,为了学习IOS我这着贫农阶级,省了几个月的零花钱,外加向亲朋好友求救,最终痛下心扉,卖了台MAC pro128G版 ...

  5. codeforces C. Vanya and Scales

    C. Vanya and Scales Vanya has a scales for weighing loads and weights of masses w0, w1, w2, ..., w10 ...

  6. C#中使用Redis不同数据结构的内存占有量的疑问和对比测试

    最近在大量使用Redis来进行数据统计前的清洗和整理,每天的数据量超5千万+,在开发过程中,数据量小,着重注意业务规则的处理,在上线基本测试后发现了大量的问题,其中之一就是Redis存储数据过多,内存 ...

  7. 如何让ASP.NET Web API的Action方法在希望的Culture下执行

    在今天编辑推荐的<Hello Web API系列教程--Web API与国际化>一文中,作者通过自定义的HttpMessageHandler的方式根据请求的Accep-Language报头 ...

  8. 浅谈webWorker

    一.webWorker之初体验 在"setTimeout那些事儿"中,说到JavaScript是单线程.也就是同一时间只能做同一事情. 也好理解,作为浏览器脚本语言,如果JavaS ...

  9. windows server 注意windows的temp目录

    windows解压缩包.安装软件时,会生成一些临时文件存放在temp目录中,windows不会自动删除这些文件. 临时文件目录可以在环境变量中查看和配置 在工作机or个人PC机中中这个目录一般不会有什 ...

  10. 从客户端(&)中检测到有潜在危险的 Request.Path 值

    首先,这个问题出现在 ASP.NET MVC 应用程序中,所以下面的解决方式都是在这个环境下. 关于这个问题,网上又很多的答案,当时也搜了一些: A potentially dangerous Req ...