Python 学习---------Day2

第四章 介绍Python对象类型
为什么使用内置类型
内置对象使程序更容易编写
内置对象是拓展的组件
内置对象往往比定制的数据结构更有效率
内置对象是语言标准的一部分
Python的核心数据类型
数字
字符串
列表
字典
元组
文件
其他类型(集合,类型,None,布尔型)
数字
import math
math.pi
math.sqrt(54)
import random
random.random()
random.choice([1,2,3,4])
字符串
序列操作
s=‘spam‘
len(s)
s[0]
s[1]
s[len(s)-1]== s[-1]
s[-2]
s[1:3] #分片操作
s[:-1]
s[:] #就是s
s+‘xyz‘ #字符串支持加号合并,将连个字符串合成一个新的字符串
s*8
字符串具有不可变性---在其创建后值不能改变,例如,你不能通过对其某一为之进
行赋值而改变字符串,但是你总是可以通过建立一个新的字符串以同一个变量名进行对其赋

类型特定的方法
s.find(‘pa‘) #函数返回传入子字符串的偏移量,没有找到的情况下返回-1
s.replace(‘pa‘,‘xyz‘) #搜索并进行替换
line=‘aaa,bbb,ccccc,dd‘
line.split(‘,‘)
s=‘spam‘
s.upper() #大写
s.isalpha() #判断是不是字母
line=line.restrip() #去除换行符
dir(S) 可以查找对象的所有属性
ord(‘a‘) 返回a的ascii码
Python允许字符串包括在单引号或者双引号中,它也能够在三引号中表示多行字符串的
形式
模式匹配
import re
match=re.match(‘Hellp[\t]*.(.*)world‘,‘Hello Python world‘)
match.group(1)

match=re.match(‘/(.*)/(.*)/(.*)‘,‘/usr/home/lqs‘)
match.groups()
列表 是一个任意类型的对象的位置相关的有序集合,它没有固定的大小,不想字符串,其
大小是可变
L=[123,‘spam‘,1.23]
len(L)
L[0]
L[:-1]
L+[4,5,6] #创建了一个新的列表
L #不变
L.append(‘NI‘)
L.pop(2)
M=[‘bb‘,‘aa‘,‘cc‘]
M.sort()
M.reverse()
边界检查 Python不允许引用不存在的元素
嵌套
M=[[1,2,3],
[4,5,6],
[7,8,9]]
列表解析
col2=[row[1] for fow in M]
[row[1] for row im M if row[1]%2==0]
diag=[M[i][i] for i in [0,1,2]]
doubles=[c*2 for c in ‘spam‘]
字典
D={‘food‘:‘spam‘,‘qian‘:4,‘color‘:‘pink‘}
D[‘food‘]
D[‘qian‘]+=1 字典具有可变性
a={}
a[‘name‘]=‘bob‘
a[‘age‘]=23
重访嵌套
rec={‘name‘:{‘first‘:‘bob‘,‘last‘:‘snuth‘},
‘job‘:[‘dev‘,‘mgr‘],
‘age‘:40.5}
rec[‘name‘]
rec[‘name‘][‘last‘]
rec[‘job‘].append(‘janitor‘)
D={‘a‘:1,‘b‘:2,‘c‘:3}
ks=D>keys()
ks.sort()
for key in ks:
print key,‘=>‘,D[key]

for key in sorted(D):
print key,‘=>‘,D[key]
迭代和优化
square=[x**2 for x in [1,2,3,4]]
square=[]
for x in [1,2,3,4]:
square.append(x**2)
不存在的键 if测试
D.has_key(‘f‘)
if not D.has_key(‘f‘):
print ‘missing‘
元组 是不可变的序列
T=(1,2,3)
文件
f=open(‘data.txt‘,‘w‘)
f.write(‘Hello\n‘)
f.write(‘world\n‘)
f.close()
f=open(‘data.txt‘)
bytes=f.read()
print bytes
bytes.split()

第五章 数字
数字常量
混合类型自动升级
传统除法,Floor除法和真除法
内置的int函数会将一个数字的字符串变换为一个整数,并可以通过定义的第二个参数来确
定变换后的数字的进制
int(‘0100‘,8) int(‘0x40‘,16)
eval(s)可以把一个八进制或者十六进制的字符串转换为正常的整数,但是开销更大可能导致
安全问题
int(2.56) round(2.567) round(2.567,2)
小数数字
from decimal import Decimal
Decimal(‘0.1‘)+Decimal(‘0.1‘)+Decimal(‘0.1‘)-Decimal(‘0.3‘)

第六章 动态类型简介
a=3
创建一个对象来代表值3
创建一个变量a,如果它还没有创建
把变量和新的对象3连接

变量是一个系统表的元素,拥有指向对象的连接的空间
对象是被分配的一块内存,有足够的空间去表现它们所代表的值
引用是自动形成的从变量到对象的指针
注意共享引用的问题
a=[1,2,3]
b=a
a=2

a=[1,2,3]
b=a
a[0]=2

a=[1,2,3]
b=a[:]
a[0]=2
对于字典共享引用的问题解决使用copy deepcopy方法

L=[1,2,3]
M=L
L==M TRUE
L is M TRUE
==是测试两个被引用的对象是够具有相同的值
is操作符是检查对象的同一性

时间: 2024-10-25 04:54:23

Python 学习---------Day2的相关文章

python学习-day2

列表: 1.找出某个元素有多少个 字符串: 1.字符串去除空格 .strip() username = input("user:") if username.strip() == 'alex': print("welcom") 2.字符串分隔 split() 分隔后是一个列表 names = "alex,jack,rain" name2 = names.split(",") #split()默认是以空格 print("

python 学习day2

变量与常量 在python中没有常量的概念,如果我们要定义常量 通常是用大写变量名称表示 import pyc 解析 python是一门先编译后解释的语言,与java相同 pyc是一个python解释器能够读懂的字节码文件,最后真正运行的文件其实是pyc pyc会在每次导入程序的时候与原始文件进行时间对比,进行重新编译 数据类型初识 字符串 数字 浮点数 整数 常整数 万恶的字符串拼接 列表(元素起始位置是从0 开始) 列表元素的修改 列表元素插入(一次只能插入一个) name = [] nam

python学习day2(一)

一.上周作业回顾 1.登陆接口: 思路流程: 1.登陆,三次锁定用户 2.用户信息文件,黑名单文件 3.检测黑名单,如输入账号在黑名单中存在,不允许登陆 4.用户密码判断 主要知识点:while,for循环,if判断,文件操作 2.三级菜单: 1.写字典,大字典里套小字典,再在小字典里套列表 2.程序开始,列出大字典力所有的keys. 3.用户选择后,列出小字典的key. 4.用户再次选择后,列出小字典中的列表. 5.在用户选择的时候,可以加入判断,如是否输入正确 6.在用户选择的时候,加入b返

Python学习day2作业总结

为了以后更好更快速的复习,此博客记录我对作业的总结.对于基础作业,我认为最重要的是过程,至于实现是不是完美,代码是不是完美,虽然重要,但是作业过程中,用到的知识点是值得总结和整理的. 一.购物车: 1. 商品信息- 数量.单价.名称  2. 用户信息- 帐号.密码.余额  3. 用户可充值  4. 购物历史信息  5. 允许用户多次购买,每次可购买多件  6. 余额不足时进行提醒  7. 用户退出时 ,输出当次购物信息  8. 用户下次登陆时可查看购物历史  9. 商品列表分级显示 思路: 1.

Python 学习 DAY2

S3 Date and Time 1.得到当前的时间datetime.now() 2 从datetime.now得到的信息中提取出year,month等 3 介绍把输出日期的格式转化为mm//dd//yyyy,我们利用的是+来转化 4 介绍把输出日期的格式转化为hh:mm:ss,我们利用的是+来转化 S4 Conditions and Control Flow 1 Python利用有6种比较的方式 == , != , > , >= , < , <=,比较后的结果是True或者是Fa

python学习day2(二)

1.类与对象的关系 对于Python,一切事物都是对象,对象基于类创建 type是获取类的 dir是获取这个类里面的成员 2.int内部功能介绍 bit_length:返回表示当前数字占用的最少位数: conjugate:返回复数的共轭复数 __abs__:返回绝对值(或abs(-11)) __add__:相加(+) __and__:与运算 __cmp__:比较两个数大小(3.x中取消) __bool__:转换为布尔值 __divmod__:相除,得到商和余数组成的元祖 __eq__:  等于(

python学习Day2之数据结构

列表[list]: 列表是Python中最基本的数据结构,列表中每个元素都分配一个位置 列表也称之为数组,数组可分为一维数组,多维数组 #一维数组 list = ['Denny','Jenny','Liming','Lilei','Hanmeimei'] #多维数组 #二维数组 list1=[1,2,3,4,[51,52,53,54],6,,78] #三维数组 list2=[1,2,3,4,[xiaoming[18,175],xiaola# 列list = ['吉娃娃1','吉娃娃2','吉娃娃

Python学习Day2笔记(字符编码)

1.字符编码 #ASCII码里只能存英文和特殊字符 不能存中文 存英文占1个字节 8位#中文编码为GBK 操作系统编码也为GBK#为了统一存储中文和英文和其他语言文字出现了万国码Unicode 所有一个字符都占2个字节 16位#英文文档改为Unicode编码大小变大一倍 为解决这种浪费空间问题#出现了Unicode扩展集 Utf-8 为可变长的字符编码 默认英文字符按ASCII码存储 中文按照3个字节存储 编码都要先decode成unicode再转码成目标编码 #获取默认编码import sys

Python学习Day2笔记

1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_1=set(list_1)print(list_1,type(list_1)) list_2=set([2,6,0,44,55,3,4])print(list_1,list_2) #交集print(list_1.intersection(list_2))print(list_1 & list_2)

python学习-day2:python基础二

主要内容: 变量存储 字符串的格式化 位运算 输入密文显示 if...else 三元运算 列表 字典 变量 name2直接指向内存数据,当name改变,之前存的数据值和位置不变,新开辟内存空间存放新数据. 字符串的格式化 字符串是 %s;整数 %d;浮点数%f:%r是原始数据,不转义 位运算 输入密文显示 引入getpass,import gatpass 使用:pwd = getpass.gatpass("passwod:") pycharm不支持运行 continue是跳出本次循环,