python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候。呵呵!!!

这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点。

python的简介

(1)你的程序一定要有个主文件。

(2)对于python,一切事物都是对象,对象基于类创建。#似懂非懂,不过有那么点似懂。

知识点

#__divmod__ 会把两个数字相除的商和余数以元组的方式打印出来。

例子:

>>> age = 13
>>> o = age.__divmod__(7)
>>> print o
输出结果:
(1, 6)
#rdivmod 被除和除数换下位置
>>> age = 13
>>> o = age.__rdivmod__(7)
>>> print o
输出结果:
(0, 7)
#__abs__ 绝对值
>>> age = -13
>>> o = age.__abs__() 
>>> print o
13
@第二种方法
>>> abs(-19)
19
#__add__ 两个数相加
>>> age = -13
>>> o = age.__add__(34)
>>> print o
21
第二种方法 
>>> -13 + 34
21

字符串 str

#type 可以知道对象属于那些类

>>> age = 18
>>> type(age)
<type 'int'>

#dir 可以提供对象的功能

>>> age = 18

>>> print (dir(age))
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__'。。。
#__contains__ 是否包含字符
>>> name = 'zzn'
>>> f = name.__contains__('zzn')
>>> print f
True
第二种方法
>>> name = 'zzn'
>>> 'zzn' in name
True
#.casefold 把大写字母转换成小写
name = 'Zzn'
f = name.casefold()
print (f)
zzn
#center 在两边添加内容
name = 'Zzn'
f = name.center(20,'*')
print (f)
输出结果:
********Zzn*********
#conunt 统计有几个同样的字符
name = 'zzndsfsdfsdsdfsdf'
f = name.count('z')
print (f)
输出结果为:
2
#encode 转换字符集 转换二进制
name = '张志楠'
f = name.encode('gbk')
print (f)
输出结果:
b'xd5xc5xd6xbexe9xaa'
#endswith   以什么开头返回True
name = 'alex'
f = name.endswith('e',0,3)
print (f)
输出结果:
True

导入模块

简单介绍

#!/usr/bin/env python

import sys
print (sys.argv)#输出这个python文件的完整路径
print (sys.version)#输出Python版本
输出结果:
['C:/Users/wodehuipu/PycharmProjects/untitled/day2/dict.py']
3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]

字典

#字典的语法:
>>> dict = {'name' : 'zzn','age' : '28','job' : 'IT','sex' : 'o'}
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zzn', 'sex': 'o'}
#增加key : values
>>> dict['city'] = 'BJ'
>>> dict
{'job': 'IT', 'city': 'BJ', 'age': '28', 'name': 'zxn', 'sex': 'o'}
#查看name
>>> dict['name']
'zzn'
#查看key
dict.keys()
 
#修改字典;将name的zzn 改成zxn
>>> dict['name'] = 'zxn'
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zxn', 'sex': 'o'}
#删除city  
>>> dict.pop('city')
'BJ'
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zxn', 'sex': 'o'}
#另一种的删除方法
>>> del dict['sex']
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zxn'}
#随机删除一组数据
>>> dict
{'job': 'IT', 'age': '25', 'name': 'zzn'}
>>> dict.popitem()
('job', 'IT')
>>> dict
{'age': '25', 'name': 'zzn'}
#将dict 转换成列表的形式显示
>>> dict.items()
[('age', '25'), ('name', 'zzn')]
#查找key,如果存在返回values,不存在返回空(none)
>>> dict.get('age')
'25'
>>> dict.get('sss')     
>>> 
#添加多个values,如果把字典的values 全部修改需要 不加索引即可
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zxn'}
>>> dict['name'] = 'zzn','zyr','zzr'
>>> dict
{'job': 'IT', 'age': '28', 'name': ('zzn', 'zyr', 'zzr')}
#通过has_key 如果字典里有这个key 则返回True 否则返回False
>>> dict
{'job': 'IT', 'age': '28', 'name': 'zxn'}
>>> dict.has_key('age')
True
>>> dict.has_key('sex')   
False
#清空dict
>>> dict.clear()
>>> dict
{}
#把列表中的值赋予一个values OK 为每个列表值指定的values,如果不指定则为空
>>> list = ['a','b','c']
>>> list
['a', 'b', 'c']
>>> dict.fromkeys(list,'ok')
{'a': 'ok', 'c': 'ok', 'b': 'ok'}
>>> dict.fromkeys(list) 
{'a': None, 'c': None, 'b': None}
>>> key = dict.fromkeys(list,'yes') 
>>> key
{'a': 'yes', 'c': 'yes', 'b': 'yes'}
#查找一个key的记录如果这个key 存在就返回values,否则就创建一个
>>> dict
{'a': 'yes', 'c': 'yes', 'b': 'yes'}
>>> dict.setdefault('f','NO') 
'NO'
>>> dict
{'a': 'yes', 'c': 'yes', 'b': 'yes', 'f': 'NO'}
>>> dict.setdefault('b','NO')  #这我是有b 这个key的 所以它会返回这个values
'yes'
#创建一个新的字典,通过update 如果有相同的key则会覆盖原来的key
>>> dict#原来的字典
{'a': 'yes', 'c': 'yes', 'b': 'yes', 'f': 'NO'}
>>> dcit2 = {'a':'hao','d':'le','w':'yu'}#创建的新的字典
>>> dcit2
{'a': 'hao', 'd': 'le', 'w': 'yu'}
>>> dict.update(dcit2)  
>>> dict
{'a': 'hao', 'c': 'yes', 'b': 'yes', 'd': 'le', 'w': 'yu', 'f': 'NO'}#原来字典的a的values被新的字典的a的values覆盖了
 
字典转换元祖
>>> contacts.items()
[('222', ['ZZN', 'xed', 'ssi']), ('333', ['zxn', 'desg', 'iuy']), ('444', ['die', 'kxis', 'oen'])]
 
contacts = {
        '111' : ['zzn', 'it', 'sa'],
        '112' : ['jack', 'hr', 'hr'],
        '113' : ['davi', 'cto', 'cto']
   }
#for i in contacts:
#      print i ,contacts[i]  
for k,v in contacts.items():
      print k,v
[root@test day2]# python zidian.py    
111 ['zzn', 'it', 'sa']
113 ['davi', 'cto', 'cto']
112 ['jack', 'hr', 'hr']
 
#遍历字典
dict = {
    'name' : 'zzn',
    'age' : '26',
    'job' : 'IT'
}
for item in dict:
    print (item, dict[item])
#两种遍历的方法
for k,v in dict.items():
    print (k,v)
输出结果为:
age 26
name zzn
job IT
age 26
name zzn
job IT
####

>>> dicr = {'job':'IT','name':'zzn','age':12}
>>> dicr.keys()#查看key
['age', 'job', 'name']
>>> dicr.values() #查看元素
[12, 'IT', 'zzn']
>>> dicr.items() #查看字典
[('age', 12), ('job', 'IT'), ('name', 'zzn')]

这些基本就是新增加的内容,作业如下:

1.博客
2.购物车
商品展示,价格;
购买,加入购物车;
付款,钱不够
以上就是python学习第二天的内容。这天真是郁闷啊!!!!
原文地址:https://www.cnblogs.com/nansenblog/p/5125812.html