Fork me on GitHub

1.基础数据类型宏观的初始

int:1, 3, 100
#加减乘除等计算。
+ - * / //

str:存储少量的数据,进行简单的操作。

'[1,2,3]'
boy = '素还真'
girl = "风采铃"
msg = "半神半圣亦半仙,全儒全道是全贤,脑中真书藏万卷,掌握文武半边天."

#list 列表存储大量的数据。

list_user=["业火红莲",'风莲','墨渊水莲','三莲归真','天官赐福','天踦爵','三余无梦生','鷇音子','解锋镝']

#tuple 只读列表

tuple_user = ("业火红莲",'风莲','墨渊水莲','三莲归真','天官赐福','天踦爵','三余无梦生','鷇音子','解锋镝')

# dict 字典 查询速度快,存储的是关系型数据

dict_user = {
'name':"素还真",
'age':180,
'title':"半神半圣亦半仙,全儒全道是全贤,脑中真书藏万卷,掌握文武半边天",
}

 #set:集合

set_int= {1,2,3}

 

2.int 整型,多用于计算

3.bool:True,False 布尔值,用于判断

4.str字符串

4.1索引与切片

格式化打印

msg ='''
半神半圣亦半仙,
全儒全道是全贤。
脑中真书藏万卷,
掌握文武半边天
'''
print(msg)
View Code

字符串拼接

boy = '素还真'
girl = '风彩铃'
print(boy + ' ' + girl)
View Code

字符串批量打印

title_time = '看莽莽红尘,谁将韶光偷换,人也好,魂也罢,不过是一抹塘荷影\n'
print(title_time*8)
View Code

打印第一个字符(切片)

切片以索引表示,第一个字符索引为0,最后一个字符索引是-1,提取字符方式为:str[0]

title = '玄歌浪蹈,幻中道真,太游方外睨红尘。'
title_first = title[0]
print(title_first,type(title_first))
View Code

切片 格式为:[0:3],类似数学中的区间,数学形式为[0,3) #取值范围是>=0 <3,也可以使用这样的标记,切片:s[起始索引:结束索引+1:步长]

title = '非吾小天下,才高而已;非吾纵古今,时赋而已;非吾睨九州,宏观而已;三非焉罪?无梦至胜。'
print(title[0:3])
# 提示:如果字符取值想从末尾开始,需要使用-1,并且步长也需要使用负数表示
print(title[-1:-5:-1])
# 反向打印字符
print(title[-1::-1])
View Code

4.2常用操作方法

title = 'Today,I consider myself the luckiest man on the face of the earth. 现在,我想我是这个世界上最幸运的人。(《扬基的骄傲》'
# ** capitalize 首字母大写其余字母小写
print(title.capitalize())
# 大小写反转
print(title.swapcase())
# 非字母隔开的每个单词的首字母大写
print(title.capitalize().title())
# center 设置总长度,并居中
print(title.center(190,'*'))
# upper() lower() 全部大写,全部小写
print(title.upper())
print(title.lower())

# 使用upper(),lower()可以用于常规验证码对比
code = 'QwErDf'
input_code = input("请输入验证码:")
if input_code.lower() == code.lower():
    print("验证成功")
else:
    print("验证失败")

# startswith 以什么开头 endswith 以什么结尾 返回布尔值
title = '时间从来只留恨,不留人'
print(title.startswith("时间"))
print(title.endswith(''))

# strip 默认删除字符串左右两侧的空格,换行符,制表符
# lstrip 删除左侧空格
# rstrip 删除右侧空格
title = '    吾用一生,写一首诗,盲目寻添,只找一字,直至此刻,诗成一字,早已铭心。    '
print(title.strip())
print(title.lstrip())
print(title.rstrip())

#适用场景,用于用户输入内容时,删除误操作产生的空格
user_name = input("请回答霹雳主角的名字").strip() #输入内容:    素还真
if user_name == "素还真":
    print("回答正确")
else:
    print('回答错误')

# replace 替换 replace("源字符串","目标字符串",[替换次数])
title = '初遇倾心,再见痴心,用尽苦心,不顾良心,终生费心,欲得芳心,难道你心,不懂孤心?'
print(title.replace("","",3))
print(title.replace("",""))

# split 分隔,str --> list 字符串 转 列表 默认以空格分隔
# split 语法格式 split(分隔字符[,分隔次数])
title = '初遇倾心,再见痴心,用尽苦心,不顾良心,终生费心,欲得芳心,难道你心,不懂孤心?'
list_title = title.split('')
list_title = title.split('',2)
print(list_title)
# join list --> str 列表 转 字符串
print(','.join(list_title))

# 通过元素找索引 找多个字符,以第一个找到的字符索引为标记
# find 找不到返回 -1 find(目标字符串[,开始查找索引位置])
# index 找不到会报错  index(目标字符串[,开始查找索引位置])

title = '人心最可怕的,不是无情,而是利用感情'
print(title.find(''))
print(title.find('可怕'))
print(title.find('',15))
print(title.index(''))
print(title.index('可怕'))
print(title.index('',15))

# format 三种格式化打印方式
# 第一种用法
user = "{},{},{}"
user_print = user.format('三年寻龙,十年点穴,肩负青囊走南北;三寸知心,十面洞息,掌握乾坤通天阙','齐烟九点-天踦爵','名称来源,遥望齐州九点烟,一泓海水杯中泻')
print(user_print)
# 第二种用法
title = '{0}神{0}圣亦{0}仙,{1}儒{1}道是{1}贤,脑中真书藏万卷,掌握文武{2}'
user_title = title.format('','','半边天')
print(user_title)
# 第三种用法
title = '{first}?{second},{thrid}'
user_title = title.format(first='冷灯看剑,剑上几番功名',second='炉香无需计苍生,纵一川烟逝',thrid='万丈云埋,孤阳还照古陵')
print(user_title)

# 公共方法
# len 测量字符个数
# count 统计某个字符(串)出现的次数
title = '多情楼上月徘徊,独照离人妆镜台。皎皎空中霜色影,凛如寒魄绝尘埃'
print(len(title))
print(title.count(''))

# 判断数字或数字,返回布尔值
# isalnum 字符串由字母或数字组成
# isalpha 字符串由字母组成
# isdigit 字符串由数字组成
user_int = '123'
print(user_int.isalnum())
print(user_int.isalpha())
print(user_int.isdigit())

# 数据类型转换
# str ---> int 字符串全部由数字组成 int('123')
# int ---> str str(1)
# int ---> bool 0--->False 非0 --->True bool(1)
print(bool(100))
print(bool(-1))
print(bool(0))
# bool --> int True 1 False 0
print(int(True))
print(int(False))
# str ---> bool 非空True 空字符串 False
print(bool(''))
print(bool('素还真'))
# bool ---> str
print(str(True),type(str(True)))

# str ---> list split
# list ---> str jion
View Code

4.3格式化输出

提示:%%可以将%打印出来

# 格式化输出 % 占位符 s d
name = input('请输入你的名字:')
age = input('请输入你的年龄:')
job = input('请输入你的职业:')
hobbie = input('请输入爱好:')
msg = '''--------------info of %s----------------------
Name : %s
age : %d
job : %s
hobbie : %s
--------------end of %s----------------------
''' % (name,name,int(age),job,hobbie,name)
print(msg)
View Code

 5比较运算符

# 前后都是比较运算
# 优先级:() > not > and > or

# 2, 前后都是数值
# 0 是False 其他都是True
# x or y
# if x is True:
#     return y

print(3 or 4)
print(1 or 4)
print(0 or 4)
print(-1 or 4)
print(3 and 5)
print(3 or 4 and 5)
View Code

 6.列表

# 按照索引取值,与元素本身的数据类型一致
# 按照切片取值,取出来的是小列表
user_list = ['素还真',('墨渊水莲','业火红莲','耀世白莲'),'天踦爵','三余无梦生','鷇音子','解锋镝']
user_chice = user_list[:3]
print(user_chice,type(user_chice))
#
# append() 追加
user_list.append('千叶传奇')
print(user_list)
# insert() 插入
# insert(索引位置,内容)
user_list.insert(1,'天官赐福')
print(user_list)

# extend 将对象迭代地追加到列表中
# 提示:字符串会被拆分成单个字符追加到列表
# 列表会被拆分成单个元素追加到列表
# 元组会被拆分成单个元素追加到列表
# 字典会被拿出键名做为元素追加到列表
user_list.extend(['素续缘','风彩铃'])
user_list.extend(('原无乡','芳天秀'))
user_list.extend({"name":"四智武童"})
print(user_list)

# 删除
# 按照索引删除 pop(索引) 默认删除最后一个元素 且返回删除元素的内容
ret = user_list.pop()
print(ret)
print(user_list)

# 按照元素删除 remove
user_list.remove("原无乡")
user_list.remove("芳天秀")
print(user_list)

# clear 清空列表
user_chice.clear()
print(user_chice)

# del 删除元素  删除列表  这个变量就消失了
# 1.删除列表
# 2.按照索引删除
# 3.按照切片删除
del user_chice

# 验证变量是存在
try:
    user_chice
except NameError:
    var_exists = False
else:
    var_exists = True
print(var_exists)

#
# 按照索引改
user_list[0] = '素还真-风彩铃'
print(user_list)

# 按照切片去改
# 切片方式修改,会是以迭代的方式插入到列表的指定位置,并且列表索引会重新排列
user_list[0:3] = ['无计先生']
user_list[:3] = ['叶小钗','一页书','剑子仙迹','佛剑分说','疏楼龙宿']
user_list[0:3] = '人也好,魂也罢,不过一抹塘荷影'
print(user_list)

# 提示如果加了步长,则修改的索引必须与插入元素一一对应,否则出错
user_list[:15:5] = ['叶小钗','一页书','秦假仙']
print(user_list)

#
# 按照索引,切片(步长)
# for 循环遍历
for item in user_list:
    print(item)

# 其他方法

print(user_list.__len__())
print(len(user_list))
print(user_list.count(''))

# 排序
int_list = [1,3,2,9,8,4,5]
int_list.sort()
print(int_list)
# 反向排序
int_list.sort(reverse=True)
print(int_list)
# 翻转
int_list.reverse()
print(int_list)
View Code

 7.元组与range

# 元组 只读列表
# 元组中如果包含列表,则列表操作不受限制
user_tuple = ('素还真','叶小钗','一页书',['天踦爵','无梦生'])
print(user_tuple[0])
print(user_tuple[:-1])
for item in user_tuple:
    print(item)
user_tuple[-1].append('鷇音子')
print(user_tuple)

# range
print(range(100))
for item in range(100):
    print(item,end='')
for item in range(1,12):
    print(item,end='')
for item in range(2,101,2):
    print(item,end='')
for item in range(100,0,-1):
    print(item,end='')
for item in range(len(user_tuple)):
    print(user_tuple[item])
View Code

8.字典

user_dict = {
    'name':'素还真',
    'age':'180',
    'desc':'半神半圣亦半仙,全儒全道是全贤。脑中真书藏万卷,掌握文武半边天'
}

#
user_dict['hobby'] = '风彩铃'
print(user_dict)
# setdefault 有key 则不修改,无key则添加
user_dict.setdefault('hobby','素续缘')
print(user_dict)

# 随机删除 popitem 有返回值
ret = user_dict.popitem()
print(ret)
print(user_dict)

# clear 清空字典
user_dict.clear()

# del 删除字典
# 1,删除整个字典
# 2,按照键去删除键值对

del user_dict
try:
    user_dict
except NameError:
    user_dict_exit = False
else:
    user_dict_exit = True
print(user_dict_exit)

user_dict = {
    'name':'素还真',
    'age':'180',
    'desc':'半神半圣亦半仙,全儒全道是全贤。脑中真书藏万卷,掌握文武半边天'
}
new_user_dict = {
    'name':'三余无梦生',
    'age':180,
    'student':['小鬼头','小狐','灵凶','奉丹']
}
#
user_dict['age'] = 200
print(user_dict['age'])

# update 更新字典
user_dict.update(new_user_dict)
print(user_dict)

#
print(user_dict.get('name','未找到这个键名'))
print(user_dict.keys())
print(user_dict.values())
# 下面两个操作等价
for item in user_dict.keys():
    print(item)
for item in user_dict:
    print(item)

print(user_dict.items())

# 分别赋值
a,b = 1,3
print(a,b)
a,b = [22,33]
print(a,b)
for k,v in user_dict.items():
    print(k,v)
View Code

 9.字典嵌套及数据类型补充

user_dict = {
    'name_list':['素还真','叶小钗'],
    1:{
        'age':180,
        'height':180
    }
}

# 向 user_dict['name_list']中追加一个元素'一页书'
user_dict['name_list'].append('一页书')
for k,v in user_dict.items():
    print(k,v)
# 向user_dict[1] 添加键值对 'sex':'man'
user_dict[1].setdefault('sex','man')
for k,v in user_dict.items():
    print(k,v)

int_list = [11,22,33,44,55]
# 将索引为奇数对应的元素删除
del int_list[1:-1:2]
print(int_list)

# 提示,在循环一个列表时,不要改列表的大小,这样会影响结果
int_list = [11,22,33,44,55]
for i in range(0,len(int_list)+1):
    if i % 2 == 0:
        print(int_list[i])
# 反向思维,从后向前删除元素,不会影响元素顺序,非常规用法
int_list = [11,22,33,44,55]
# range(4,-1,-1) 相当于数学区间[4,-1)表明可以取到的值为 4-0,即可以取到的索引值
print(range(len(int_list)-1,-1,-1))

for i in range(len(int_list)-1,-1,-1):
    if i % 2 == 1:
        del int_list[i]
print(int_list)

# dictionary changed size during iteration
# 在循环一个字典时,不要改变字典的大小,这样的影响结果或报错
# 删除dic 字典中包含k的键名
dic = {'k1': 'v1', 'k2': 'v2', 'k3':'v3', 'name':'素还真'}
for key in list(dic.keys()):
    if 'k' in key:
        del dic[key]
print(dic)

dic = dict.fromkeys('abc','666')
print(dic)
dic['a'] = '777'
print(dic)
dic = dict.fromkeys('abc',[])
print(dic)
dic['a'] = 'bbb'
print(dic)
dic['c'].append('888')
print(dic)
View Code

 

posted on 2018-05-16 15:04  anyux  阅读(114)  评论(0)    收藏  举报