python-day03(记录)

在练习中遇到的怪事

python2.7里面的rawinput 还是input输进来的都是字符串类型

列表元祖等类型中使用的append方法没有返回值,所以我们一旦赋值的话,会报错,update方法也不会有返回值,全局变量要重复使用在函数里面,我们最好是使用函数传参的方法进行操作

print("-5%s-10%s-10%s"  % (a,b,c))  ##格式化输出,每个字符分别占5,10,10个位置,%前后加空格,不要逗号

在函数中修改全局变量需要使用global关键字

判断是不是整数使用isdigit方法判断

字符串处理

•S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1

•S.rfind(substring,[start [,end]]) #反向查找

•S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常

•S.rindex(substring,[start [,end]])#同上反向查找

•S.count(substring,[start [,end]]) #返回找到子串的个数

•S.lowercase()

•S.capitalize()      #首字母大写

•S.lower()           #转小写

•S.upper()           #转大写

•S.swapcase()        #大小写互换

•S.split(str, ‘ ‘)   #将string转list,以空格切分

•S.join(list, ‘ ‘)   #将list转string,以空格连接

•处理字符串的内置函数

•len(str)                #串长度

•cmp("my friend", str)   #字符串比较。第一个大,返回1

•max(‘abcxyz‘)           #寻找字符串中最大的字符

•min(‘abcxyz‘)           #寻找字符串中最小的字符

列表

•list的方法

•L.append(var)     #追加元素

•L.insert(index,var)

•L.pop(var)        #返回最后一个元素,并从list中删除之

•L.remove(var)     #删除第一次出现的该元素

•L.count(var)      #该元素在列表中出现的个数

•L.index(var)      #该元素的位置,无则抛异常

•L.extend(list)    #追加list,即合并list到L上

•L.sort()          #排序

•L.reverse()       #倒序

•a[1:]         #片段操作符,用于子list的提取

•[1,2]+[3,4]   #为[1,2,3,4]。同extend()

•[2]*4         #为[2,2,2,2]

•del L[1]      #删除指定下标的元素

•del L[1:3]    #删除指定下标范围的元素

•list的复制

•L1 = L        #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作

•L1 = L[:]     #生成L的一个COPY

元祖

•tuple:元组(即常量数组)

•tuple = (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘)

可以用list的 [],:操作符提取元素。就是不能直接修改元素。

字典

•D.get(key, 0)       #同dict[key],多了个没有则返回缺省值,0。[]没有则抛异常

•D.has_key(key)      #有该键返回TRUE,否则FALSE

•D.keys()              #返回字典键的列表

•D.values()          #以列表的形式返回字典中的值,返回值的列表中可包含重复元素

•D.items()           #将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值),但是项在返回时并没有特殊的顺序

•D.update(dict2)     #增加合并字典

•D.popitem()         #得到一个pair,并从字典中删除它。已空则抛异常

•D.clear()             #清空字典,同del dict

•D.copy()              #拷贝字典

•D.cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小)

•                    #第一个大返回1,小返回-1,一样返回0

•dictionary的复制

•dict1 = dict        #别名

•dict2=dict.copy()   #克隆,即另一个拷贝。

列表与字典比较

•dict:

–查找和插入的速度极快,不会随着key的增加而增加;

–需要占用大量的内存,内存浪费多。

–KEY不可变

–默认无序

•list:

–查找和插入的时间随着元素的增加而增加;

–占用空间小,浪费内存很少。

–通过下标查询

–有序

set 集合

特点:

•无序

•元素不重复

功能:

•关系测试

•去重

a = set([1,2,3,4])

b = set([3,4,5,6])

a & b  #求交集 a.intersection(b)

a | b  #求并集 a.union(b)

a – b  # 求差集 a.difference(b)

a ^ b #求对称差集 a.symmetric_difference(b)

a.issubset(b)  #a 是b 的子集

a.issuperset(b) # a 是否包含b

时间: 2024-10-28 21:09:57

python-day03(记录)的相关文章

python学习记录

python函数记录 map() 接收一个函数和一个序列,然后保留函数返回的结果的序列 reduce() 接收一个函数和一个序列 函数结果为一个值,运算过程就是从序列的第一个值开始传给函数,返回结果再次传入函数,直到最后得到一个结果. filter() 过滤函数 接收一个函数和一个序列 然后函数返回true和false,保留序列中的返回true的. def is_odd(n): return n % 2 == 1 filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

Python学习记录day1

Python学习记录博客是本人记录学习python3过程中的一些记录和过程,日后也可以帮助自己温习. python优点: 1.Python入门简单,功能强大,适用性强: 2.开发效率高,第三方库强大且多: 3.Python无需考虑底层细节: 4.可移植性,跨平台: 5.可扩展性: 6.可嵌入性,Pthon可嵌入到C/C++程序中: python缺点: 1.速度慢,Python比C慢很多,比java也慢一点: 2.代码不能加密,源码是明文: 3.线程不能利用多 CPU 问题: python版本2和

My way to Python - Day03

列表和字典的赋值 1 dict1 = {} 2 dict1['k1'] = 'v1' 3 4 list1 = [] 5 list1.append('v1') 集合系列 1,计数器 1 Python 2.7.6 (default, Mar 22 2014, 22:59:56) 2 [GCC 4.8.2] on linux2 3 Type "help", "copyright", "credits" or "license" fo

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

python学习记录第五篇--遍历目录

#coding=utf-8'''@author: 简单遍历目录删除文件的小程序'''import os#查找文件操作def findFile(path): fileList=[] for rootPath,subRoot,fileName in os.walk(path): for sub in fileName: if os.path.isfile(os.path.join(rootPath,sub)): k=os.path.splitext(sub)[1].lower() if k in (

python学习记录第四篇--数据库

只要用到MySQLdb,使用时请先安装MySQLdb,百度上可以下载! #coding=utf-8'''@author: 使用python操作MySQL数据库'''import MySQLdb#import MySQLdb.cursorsconn=MySQLdb.connect(user='root',passwd='root') #connect共三个值,user,passwd,host,无密码且连接本地数据库时,可以都为空.cur=conn.cursor() #创建游标,使用游标进行数据库操

python 点滴记录6:ubuntu 安装pycharm

想在ubuntu下学习python开发,IDE准备使用pycharm.记录一下安装过程: 要想运行pycharm,需要有java环境,因为pycharm是用java编写的.ubunutn系统默认安装的是openjdk,而我们需要的是oracle java. 搜索oracle的java软件包: apt-cache search oracle-java 搜不到任何包. 搜索openjdk包: apt-cache search java7 出现类似以下安装包: openjdk-7-jdk - Open

Python学习记录day5

title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 1.多层装饰器 多层装饰器的原理是装饰器装饰函数后其实也是一个函数这样又可以被装饰器装饰. 编译是从下至上进行的执行时是从上至下进行. #!/usr/bin/env python # _*_coding:utf-8_*_ ''' * Created on 2016/11/29 20:38. * @author: Chinge_Yang. ''' USER

Python学习记录-socket编程

Python学习记录-socket编程 学习 python socket Python学习记录-socket编程 1. OSI七层模型详解 2. Python socket 3. socket()函数 4. TCP socket通信流程 5. Python Internet 模块 1. OSI七层模型详解 以上图见:http://blog.csdn.net/yaopeng_2005/article/details/7064869 其它详情可参考:socket网络基础 2. Python sock