学习python的不知道第几天,整理一下所学内容

数字类型:int(数字),bool01),str(字符串),bytes(字符串,中文打印出来为16进制),list(列表),dict(字典),tuple(元组)等

 

格式化输出: %s :百分号为占位符,s表示为字符串,d表示为数字

           

name = input('请输入姓名:')
sex = input('请输入性别:')
age = int(input('请输入年龄:'))
height = int(input('请输入身高:'))
job = input('请输入工作:')
like = input('请输入爱好:')

msg = '''-----%s的自我介绍----
name : %s
sex : %s
age : %d
height : %d
job : %s
like : %s
------谢谢大家--------''' %(name,name,sex,age,height,job,like)
print(msg)
%s格式化输出

Format:按顺序添加

s = '我叫{},来自{},今年{}岁,身高{},再说一遍我叫{}'.format('艾志农','江西吉安','25','183','艾志农')
print(s)

name = input('请输入你的姓名:').strip()
form = input('来自哪里:').strip()
age = input('请输入你的年龄:').strip()
height = input('请输入你的身高:').strip()
s1 = '我叫{0},来自{1},今年{2}岁,身高{3},再说一遍我叫{0},高{3}'.format(name,form,age,height)
print(s1)


name = input('请输入姓名:')
s2 = '我叫{name},来自{form},今年{age}岁,身高{heigh},再说一遍我叫{name}'.format(form='江西吉安',name=name,age=18,heigh=183)
print(s2)
format格式化输出

While else  当循环被break打断时,else结果不会被执行

count = 0
while count < 10 :
    count += 1
    if count > 5 :
        break
    print(count)
else:
    print('程序结束')
while else

编码有asciiUnicodeutf-8gbk

  Ascii8位等于1个字节,表示1个字符

  Unicode32位等于4个字节,表示1个字符

  Utf-88位等于一个英文;

     欧洲 162个字节,表示1个字符

     亚洲 243个字节,表示1个字符

 Gbk1个英文 8位,1个字节

     亚洲 16位,2个字节

逻辑运算:not > and > or

print(3>4 or 4<3 and 1==1)
print(1 < 2 and 3 < 4 or 1>2 )
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
优先级测试

    Int 转换成bool 非零转换成Ture,零为false

    Str 转换成bool 空为false 非空为Ture

    Str转换成int 只能数字之间转换

索引和切片:字符串可以被切片:s[::步长] 顾头不顾尾

#索引和切片 [头:尾:步长] ,从头至尾下标0开始,0 1 2 3...
#                    从尾到头下标-1开始,-1 -2 -3 -4 ...

s = 'aizhinog'
s1 = s[0]
print(s1)

s2 = s[0:]
print(s2)

s3 = s[4::-2]
print(s3)

s4 = s[1:7:2]
print(s4)
字符串切片

Str(字符串)的用法:

  Replace替换

str = '111222444'
print(str.replace('1','3'))
replace

  Split转换成列表,默认是空格,可以设置成其它字符串

s = 'aizhinong*aike*iping'
s1 = s.split('*')
print(s1)
split

  Capitalize首字母大写

s = 'aizhinong'
s1 = s.capitalize()
print(s1)
capitalize

  Upper全大写

  Lower全小写

s = 'aizhinong'
s1 = s.upper()
s2 = s.lower()
print(s1,s2)
upper、lower

  Swapcase大小写翻转

s = 'aizhinong'
s1 = s.swapcase()
print(s1)
swapcase

  Title每个用特殊字符或者数字的首字母大写

s = 'ai1zhi1nong'
s2 = s.title()
print(s2)
title

  center居中,默认用空白填充,可以为其它字符串

s = 'aizhinong'
s1 = s.center(30,'1')
s2 = s.center(50)
print(s1)
print(s2)
center

  Expandtabs返回使用空格扩展所有制表符的副本。如果未指定tab size,则假定tabsize为每8个字符。:

s = 'ai\tzhi\tnong'
s1 = s.expandtabs()
s2 = s.expandtabs(10)
print(s1)
print(s2)
expandtabs

  Startswith以什么为开头

s = 'aizhinong'
s1 = s.startswith('z',2,8)
s2 = s.startswith('aizhi')
print(s1,s2)
startswith

  Endswith以什么结尾

  find通过元素找索引,找到返回下标,找不到返回-1

  Index通过元素找索引,找不到则报错

s = 'aizhinong'
s1 = s.find('z')
s2 = s.index('n')
print(s1,type(s1))
print(s2,type(s2))
find、index

  Strip:默认删除前后空格,左边为lstrip,右边为rstrip

s = '    +++---aizhi*no+ng  '
s1 = s.strip(' +-')
print(s1)
strip

  Count返回字符串中某个字符的数量

s = 'aizhinong'
s1 = s.count('n',1,8)
print(s1)
count

公用方法:

  Len()         长度

  Count()        次数

  index()       位置

  Sort()       排序,默认为正序

  Sortreverse=ture    倒序

  Reverse       翻转

List(列表)的增删改查:

  Append(对象)     增加,在最后增加

  Insert(索引,对象) 插入,指定位置

  Extend(对象)   插入可迭代对象,只接受一个参数,分解后再逐个加入,再最后增加,int类型无法迭代,所以会报错

  Pop(索引)     删除,默认删除最后一个,只能单个删除

  Remove(元素)   删除,按元素删除,只能单个删除

  Clear()      清空列表

  Del 列表名       删除列表

  列表名[索引]     通过列表索引直接赋值修改,可切片修改,可迭代对象,单个值分解成元素再加入,无限制加入

  For in         逐个打印

list = ['艾克','','23岁','183','70kg']

list.append('喜欢跑步')
print(list)

list.insert(3,'柚柚柚')
print(list)

list.extend([123])
print(list)

list.pop(4)
print(list)

list.remove('183')
print(list)

del list[0:4:2]
print(list)

list[0:2] = 'aike','nv','ddd'
print(list)

list.reverse()
print(list)
列表的增删改查

Tuple(元组):元组称为只读列表,可循环,可切片;‘儿子’不能修改,‘孙子‘可能可以改

tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
tu[4][3] = tu[4][3].upper()
print(tu)

tu[4].append('sb')
print(tu)
元组的修改

Dict(字典)的增删改查:分为可变数据类型和不可变数据类型;

  不可变数据类型称为可哈希:元组,boolstrint

  可变数据类型称为不可哈希:listdictset

  字典中的键值(key)必须是不可变数据类型,可哈希

      Value可以为任意数据类型

  字典的优点:二分查找查询,存储大量的关系数据

  特点:无序的

  增:没有该对象则添加,有则覆盖

dic1 = {'name':'aike','age':18,'sex':'men',}
dic1['hight'] = 183
dic1['age'] = 25
print(dic1)
增加

  增加:setdefault 没有该对象则添加,有则不改变

dic1 = {'name':'aike','age':18,'sex':'men',}
dic1.setdefault('hight',183)
dic1.setdefault('age',25)
print(dic1)
s
setdefault增加

  Pop     删除,有返回值,返回值为value;可设置返回值;若删除的键不存在,返回设置的返回值,没有设置返回值则报错

  Popitem:  随机删除,返回值为元组,不接受指定删除

  Del:    无返回值,删除的键不存在则报错 可直接删除该字典

  Clear:    清空字典

print(dic1.pop('name'))
dic1.pop('name')
print(dic1)
print(dic1.pop('hight','输入有误'))

dic1.popitem)
print(dic1)
print(dic1.popitem())
pop和ppopitem

  Update:  修改

dic2 = {'name':'艾志农','height':183}
dic1.update(dic2)  #把dic2 更新到 dic1  
print(dic1)
View Code

  For in:   查询

dic1 = {'name':'aike','age':18,'sex':'men',}
print(dic1.keys(),type(dic1.keys()))
print(dic1.values())
print(dic1.items())

for i in dic1:
    print(i)
for i in dic1.keys():
    print(i)

for i in dic1.values():
    print(i)

a,b = 1,2
print(a,b)

a = 1
b = 2
a,b = b,a
print(a,b)
a,b = [1,2],[2,3]
a,b = (1,2)
print(a,b)

for k,v in dic1.items():
    print(k,v)

v1 = dic1['name']
print(v1)

v2 = dic1['name1']  # 报错
print(v2)
keys、values、items

  字典[]:  查询,没有则报错

  Get     可设置返回值

dic1 = {'name':'aike','age':18,'sex':'men',}
print(dic1.get('name1','没有这个键'))
get
join的用法:列表转换成字符串;对象必须为可迭代,可以为字符串,列表(不能嵌套),元组(不能嵌套)等,不能为数字
       spilt:字符串转换成列表。
s = ['aike','18','柚柚柚','0822']
s1 = '-'.join(s)
print(s1)

s = ('aike','18','柚柚柚','8888')
s1 = '+'.join(s)
print(s1)


s = 211111
s1 = '+'.join(s)
print(s1)   #报错
join
range:  range(头,尾,步长)  相当于列表,但里面都是数字, 开头为0可以不写头
for i in range(0,100):
    print(i)

for i in range(0,100,2):
    print(i)

for i in range(100,0,-2):
    print(i)

for i in range(100,-1,-2):
    print(i)
range
 
 


猜你喜欢

转载自www.cnblogs.com/aizhinong/p/11334896.html