Python学习-Day

1.range的功能

# count = 0

# while count < 3:

#    print('='*10)

#    print('步骤1')

#    print('步骤2')

#    print('步骤3')

#    count += 1

# for x in "a"*100:

#    print('=' * 10)

#    print('步骤1')

#    print('步骤2')

#    print('步骤3')

# range(1,5,2)  # 起始位置为1 结束位置为5  步长为2

# [1,3]

# range(1,5)  #默认步长为1

# [1,2,3,4]

# range(5)  # 默认起始位置为0 步长为1

# [1,2,3,4]

# for i in range(1,10):  # 打印99乘法表

#    for j in range(1,i+1):

#        print('%d * %d = %d'%(i,j,i*j),end='  ')

#    print()

# x = 5  # 打印金字塔

# for y in range(1,x):

#    for i in range(x-y):

#        print(' ',end='')

#    for z in range(2*y-1):

#        print('*',end='')

#    print()

2.可变和不可变类型

#1.可变类型:值改变,但是id不变

#2.不可变类型:值改变,id也改变,证明是产生了新的值

# x=123

# print(id(x))

# x=456

# print(id(x))  # id改变了

#

# l1=[1,1,1]

# print(id(l1))

# l1[0]=12

# print(l1)

# print(id(l1))  # id并没有改变

3.数字类型

# 一:整型int

# ======================================基本使用======================================

# 1、用途:年龄、个数、号码、出生年等

# 2、定义方式

# age = 18  # age = int(18) 一般都不这样定义

# int功能可以把纯数字的字符串转换成int类型

# res = int("18")

# res = int("1.8")  # 这样的输出结果会报错 1.8的点不是数字

# print(type(res))

# 了解(***)

# print(bin(11))  # 0b1011 十进制转二进制

# print(oct(11))  # 0o13  十进制转八进制

# print(hex(11))  # 0xb  十进制转十六进制

# 3、常用操作+内置的方法

# 算数运算符与比较运算

# 二:浮点型float

# ======================================基本使用======================================

# 1、用途:薪资、身高、体重等

# 2、定义方式

salary =3.1  # salary = float(3.1)

# float功能可以把浮点数组成的字符串转换成float类型

# res = float("1.8")

# print(type(res))

# 3、常用操作+内置的方法

# 算数运算符与比较运算

# ======================================该类型总结====================================

# 存一个值

# 不可变

4.字符串类型

# ======================================基本使用======================================

# 1、用途:记录描述性质的状态,例如名字、性别、国籍等

# 2、定义方式:在引号('',"",'''''',""""""")内包含一串字符串

s ="hello"  # s = str("hello")

# str功能可以把任意类型转换成str类型

# res=str([1,2,3])  # "[1,2,3]"

# print(type(res))

# 3、常用操作+内置的方法

# =======================>优先掌握的操作:

# 1、按索引取值(正向取+反向取) :只能取

s ="hello world"

# print(s[0],type(s[0]))  # 把"h"取出,类型还是str

# print(s[-1])  # 取出最后一个

# 非法操作

# s[1] = "E"  # 不能修改

# s[11] = "A"  # 说明字符串是不可变类型

# 2、切片(顾头不顾尾,步长)=>属于拷贝操作

# s = "hello world"

# new_s=s[1:7]  # 输出的是ello w这里连空格也一起输出了

# print(new_s)

# print(s)  # 但是原变量名的值并没有改变 再次证明字符串是不可变类型

# new_s=s[1:7:2]  #输出的结果是el 注意这里是有空格的 这里的2是步长

# print(new_s)

# print(s)

# new_s=s[:7:2]  # 省略了起始位

# new_s=s[::2]  # 0 2 4 6 8 10  默认以步长为2进行全部遍历

#                h l o w r d

# print(new_s)

# new_s=s[::]  # 完整拷贝字符串,只留一个冒号就可以new_s=s[:]

# print(new_s)

# 3、长度len

# s = "hello world"

# print(len(s))  # 输出字符串的长度

# res = print("sfd")  #这里print("sfd")并不是一个变量值 而是一个输出操作

# print(res)  # 这里res是没有值的

# 4、成员运算in和not in

# s = "hello world"

# # print("hel" in s)  # 运算结果为True

# print("egon" not in s) # 语义明确,推荐使用

# # print(not "egon" in s)  # 不推荐使用

# 5、移除空白strip

# s = " \n        hel lo  \t "

# new_s = s.strip()

# print(new_s)  # 输出结果为hel lo空格和转义符都没了

# print(s)  # 没有改变原字符串

# 应用案例:

# name = input('your name:').strip()  # 这个操作的目的是防止用户不小心多打了一个空格,提升了代码的健壮性

# pwd = input(('your pwd:')).strip()

# if name== 'egon' and pwd =='123':

#    print('登录成功')

# else:

#    print('用户名或者密码错误')

# 去除左右两边的非空白字符

# print("**+=-%^#****he**llo**%^#**+=**".strip("*+=-%^#"))

# 6、切分split:把字符串按照某个分隔符切成一个列表

# userinfo = "egon_dsb:123:18:3.1"

# res = userinfo.split(":")  # 以字符串中的:为分隔符 分割成列表

# print(res[0])

# print(res)

# print("-".join(res))  # 以-代替:把原列表合成一个字符串

# 纯字符串组成的列表

# l = ["aaaa", "bbb", "ccc"]

#

# # res=l[0]+":"+l[1]+":"+l[2] # 依次相加列表里的值 合成一个字符串

# res = ":".join(l)  # 这是上面做法的升级版

# print(res, type(res))

# =============>需要掌握的操作:

# 1,,strip  lstrip  rstrip

# print('***hello***'.strip('*'))  # 清除指定字符

# print('***hello***'.lstrip('*'))  # 清除左边指定字符

# print('***hello***'.rstrip('*'))  # 清除右边指定字符

# 2.lower  upper

# msg = 'ASDFHJKjkklj'

# res = msg.lower()  #全变小写

# res = msg.upper()  # 全变大写

# print(res)

# res=msg.swapcase()  # 大小写取反

# print(res)

# 3、startswith,endswith

# msg = "sb is lxx sb"

# print(msg.startswith("sb"))  # 判断开头是否为sb

# print(msg.endswith("b"))  # 判断结尾是否为b

# print(msg.endswith("c")) # 判断结尾是否为c

# 5、split,rsplit

# userinfo="egon:123:18"

# # print(userinfo.split(":"))  # 给我全切了

# print(userinfo.split(":",1))  # 给我切一段

# print(userinfo.rsplit(":",1)) # 给我从右切一段

# 6、join  # 跟strip的操作相反

# 7、replace

# msg = "***egon hello***"

# res=msg.replace('*','').replace(' ','')  # 把字符串里的‘*’和‘ ’都给我灭了

# res=msg.strip('*').replace(' ','')  # 这样结合起来使用更加方便快捷

# print(res)

# s="lxx hahah wocale lxx sb 666"

# # res=s.replace('lxx','sb')  # 进行了替换操作

# res=s.replace('lxx','sb',1)  # 只进行一次替换操作

# print(res)

# print(s)

# 4、format的三种玩法

# 4.1 %s的方式

# name = "egon"

# age = 18

# res1="my name is %s my age is %s" % (name,age)

# print(res1)

# 4.2 format的方式

# name = "egon"

# age = 18

# res1="my name is {} my age is {}".format(name,age)  # 这样操作跟%s的操作差不多

# res1="{0}{0}{0}{1}".format(name,age)  #利用索引来赋值

# res1="my name is {name} my age is {age}".format(age=18,name="egon")  也可以用key来赋值

# print(res1)

# 4.3 f''

# name = "egon"

# age = 18

# res1 = f"my name is {name} my age is {age}"  # 更加简洁的做法

# print(res1)

# 了解:f搭配{}可以执行字符串中的代码

# res=f'{len("hello")}'  # 如果要从其他地方读取文本,又正好是一段代码 f搭配{}可以执行字符串中的代码

# print(res)

# f包含的字符串可以放到多行

# name = "egon"

# age = 18

# res1 = f"my name is {name} " \

#        f"my age is {age}"

# {}内不能有\以及#

# print(f'my name is {{egon}}')  # 要多用一个{}来取消{}的功能

# print('胜率是 %s%%' %70)  # 要多用一个%来取消%的功能

# 了解:https://zhuanlan.zhihu.com/p/110406030

# 8、isdigit:判断字符串是否由纯数字组成

# print("adsf123".isdigit())

# print("123".isdigit())

# print("12.3".isdigit())

age =input('>>>: ')# age = "        18    "

if age.isdigit():

age=int(age)

if age >18:

print('猜大了')

elif age <18:

print('猜小了')

else:

print('猜对了')

else:

print('必须输入数字,小垃圾')

# =======================>了解的操作:

# 可以通过关键字or字典方式的方式格式化,打破了位置带来的限制与困扰

print('我的名字是 {name}, 我的年龄是 {age}.'.format(age=18, name='egon'))

kwargs = {'name':'egon', 'age':18}

print('我的名字是 {name}, 我的年龄是 {age}.'.format(**kwargs))# 注意在调用其他字段的字典时要使用**进行解包操作

# 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]

# *<10:左对齐,总共10个字符,不够的用*号填充

print('{0:*<10}'.format('开始执行'))# 开始执行******

# *>10:右对齐,总共10个字符,不够的用*号填充

print('{0:*>10}'.format('开始执行'))# ******开始执行

# *^10:居中显示,总共10个字符,不够的用*号填充

print('{0:*^10}'.format('开始执行'))# ***开始执行***

print('{salary:.3f}'.format(salary=1232132.12351))#精确到小数点后3位,四舍五入,结果为:1232132.124

print('{0:b}'.format(123))# 转成二进制,结果为:1111011  推荐使用此类型转换

print('{0:o}'.format(9))# 转成八进制,结果为:11

print('{0:x}'.format(15))# 转成十六进制,结果为:f

print('{0:,}'.format(99812939393931))# 千分位格式化,结果为:99,812,939,393,931

# ======================================该类型总结====================================

# 存一个值or存多个值

# 有序or无序

# 可变or不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352