python20151125
python exit() python test.py
输入输出
print('2\n2')
print(1, 2, 3)
name = input()
print(':', name)
数据类型和变量
# 注释
print(1.23e9)
print('I\'m \"OK\"')
print(r'\\\t\\') # r''不转义
print('''line1
line2
line3''') # 多行 # True False
# and or not
print(True or False) # 空值 Node # 变量 # 常量
# 在Python中,通常用全部大写的变量名表示常量
PI = 3.14159265359
# 但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变 # / // %
print('9/3', 9 / 3)
print('10//3', 10 // 3)
print('10%3', 10 % 3)
字符串和编码
#!/usr/bin/env python3
# -*- coding: utf-8 -*- #第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
#第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码
#申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码 print("ord('A')", ord('A'))
print("ord('中')", ord('中'))
print("chr(66)", chr(66))
print("chr(25991)", chr(25991))
print("'\\u4e2d\\u6587'", '\u4e2d\u6587') print('ABC'.encode('ascii'))
print('中文'.encode('utf-8'))
print(b'ABC'.decode('ascii'))
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')) print(len('ABC'))
print(len('中文'))
print(len(b'ABC'))
print(len(b'\xe4\xb8\xad\xe6\x96\x87'))
print(len('中文'.encode('utf-8'))) #%d 整数
#%f 浮点数
#%s 字符串
#%x 十六进制整数 print('Age: %s. Gender: %s %%' % (25, True))
list
#list
classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)
#个数
print(len(classmates))
#最后一个元素
print(classmates[-1])
#添加
classmates.append('Adam')
print(classmates)
#指定位置添加
classmates.insert(1, 'Jack')
print(classmates)
#删除末尾的元素
classmates.pop()
print(classmates)
#删除指定位置的元素
print(classmates.pop(1))
print(classmates)
#替换
classmates[1] = 'Sarah'
print(classmates)
tuple
#tuple
#因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple
classmates = ('Michael', 'Bob', 'Tracy')
print(classmates[0]) #定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,
#因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
t = (1)
print(t)
t = (1,)
print(t)
t = (1, 2, ['a', 'b'])
print(t) #tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
#即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的
t[2][0] = 'x'
t[2][1] = 'y'
print(t)
循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name) sum = 0
for x in [1, 2,3,4,5,6,7,8,9,10]:
sum = sum + x
print(sum) sum = 0
for x in range(101):
sum = sum + x
print(sum) sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
dict
d = {
'Michael': 95,
'Bob': 75,
'Tracy': 85
}
print(d['Michael'])
#第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,
#然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。
#dict就是第二种实现方式,给定一个名字,比如'Michael',dict在内部就可以直接计算出Michael对应的存放成绩的“页码”,
#也就是95这个数字存放的内存地址,直接取出来,所以速度非常快。
d['Adam'] = 67
print(d)
print('Adam' in d)
#如果key不存在,可以返回None,或者自己指定的value
print(d.get('Thomas'))
print(d.get('Thomas', -1))
#dict内部存放的顺序和key放入的顺序是没有关系的
#和list比较,dict有以下几个特点:
#查找和插入的速度极快,不会随着key的增加而增加;
#需要占用大量的内存,内存浪费多。
#而list相反:
#查找和插入的时间随着元素的增加而增加;
#占用空间小,浪费内存很少。
set
#set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
#无序
#重复元素在set中自动被过滤
s = set([1,2,3,1,2])
print(s) s.add(4)
print(s) s.remove(1)
print(s) s1 = set([1, 2,3])
s2 = set([2,3,4])
#交集
print(s1 & s2)
#并集
print(s1 | s2) a = ['c', 'b', 'a']
a.sort()
print(a) a = 'abc'
b = a.replace('a', 'A')
print(b, a)
python20151125的更多相关文章
随机推荐
- 《WPF程序设计指南》读书笔记——第5章 Stack与Wrap
1.StackPanel面板 using System; using System.Windows; using System.Windows.Input; using System.Windows. ...
- gc overhead limit exceeded
eclipse-- gc overhead limit exceeded 修改内存不足的方法如下: Eclipse报错:gc overhead limit exceeded eclipse 原因是Ec ...
- 关于FileSystemWatcher监听文件创建
FileSystemWatcher中的Created事件不但可以监听用户创建的文件,当用户删除某个文件时,系统会在再监听的那个盘上的回收站创建一个文件,在回收站创建的文件也会触发Created事件,而 ...
- 1046: [HAOI2007]上升序列 - BZOJ
Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ...
- 18:字符串-char型字符串
1 什么是字符串? 字符串是以空字符(\)结尾的字符数组.空字符的assii码为:0, 空格的ascii码为322 \0的作用'\0'是一个空字符标志,它的ASSII码为0,C++有好多处理字符串的函 ...
- 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)
首先我们来看一道题 BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...
- Spark的TorrentBroadcast:概念和原理
依据Spark 1.4.1源码 SparkContext的broadcast方法 注释 可以用SparkContext将一个变量广播到所有的executor上,使得所有executor都能获取这个变量 ...
- 一个HexToInt的C/C++函数
int BetterVenca25(char* hex){ int res=0; for(;*hex;hex++) { int d=toupper(*hex); if(d & ...
- php关于private、public成员变量访问问题
如果类里面定义了__get($name)方法,则不论类的private成员还是public成员,都能够在类的外面通过类似$class->name访问到.如果是public变量,则不会自动调用ge ...
- http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html
http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html