for+range与可变不可变类型,数字字符串类型以及操作

for+range用法:

# for x in range(3):
#     print('=' * 10)
#     print('步骤1')
#     print('步骤2')
#     print('步骤3')
# for i in range (1,5,2)
#          1为起始位置
#          5为结束位置,顾头不顾尾,5结束位置取不到
#          2为步长
# >>> range(5) 起始位置默认为0,默认步长为1,单独一个值为结束位置
# [0, 1, 2, 3, 4]
# >>> range(1,5) # 省略步长,默认为1
# [1, 2, 3, 4]

可变不可变类型

不可变类型:整型int,浮点型float,字符串str
值改变,id也变,证明产生了新值和id

# x = 123
# print(id(x))
# x = 456
# print(id(x))

可变类型:列表list,字典dict
值改变,但是id不变,证明就是在改变原值,是可变类型

# # l1 = [111,222,333]
# # print(id(l1))
# # l1[0]= 1111111
# # print(l1)
# # print(id(l1))不变,证明就是在改变原值

数字类型

一、整型int
用途:记录年龄,个数,号码,出生年月日…
定义:age = 18
age = int(18)

int功能只能把纯数字类型转换成int类型

# int('')  字符串
# int('abc') 报错
# int('1.8') 报错
# int(‘18’) 正确

二、浮点型float
定义:salary = 3.1
salary = float(3.1)
float功能可以把浮点数组成的字符串转换成float类型

# res = float('1.9')
# print(type(res))

字符串类型

用途:记录描述性质的状态,例如:名字,性别,一段话
定义:’’,","’’’’’’,""""""
s = “hello”
s = str(“hello”)
str功能可以把任意类型转换成str类型

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

优先常握的操作:

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

#s = "hello world"
# print(s[0],type(s[0]))      h
# print(s[-1])                d
# s[1] = 'f'  不能修改,也不能增加
# 非法操作
# s[2222]
# s[11] = "A"

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

# s = "hello world"
# new_s = s[1:6]
# print(new_s)   ello
# print(s)  并没有改变原值
# s = "hello world"
# new_s = s[1:7:2]
# print(new_s)
# 步长加2,默认步长为1
# s = "hello world"
# new_s = s[:7:2]
# print(new_s)
# 起始位置可以省略,默认起始位置为0
#起始位置为0, 默认为结束位置为最后一个,步长为2
# new_s = s[::2]

# 起始位置,结束位置,步长都可以省略
# new_s = s[::]   ==完整拷贝字符串,只留一个冒号就可以new_s = s[:]

3、len()长度

# s = "hello world"
# print(len(s))   11空格也算一个字符
# res = print("sfd")
# print(res)  打印功能没有返回值None

4、成员运算in 和not in

# s = "hello world"
# print("hel" in s)
# print("egon" not in s) 语意明确,推荐使用
# print("not egon in s")

5、移除空白strip()
去除左右两边的空白字符

# s = "      hello    "
# new_s = s.strip()
# print(new_s)
# s  = "\n     hello \t"
# new_s = s.strip()
# print(new_s)

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

# print("#$%****     hel***lo   ###".strip("#$%***,###"))
# strip括号内需填写去除的左右两边符号
# name = input("your name>>>").strip()
# pwd = input(" your pwd>>>").strip()
# if name == "egon" and pwd == "123":
#     print("login successful")
# else:
#     print("user or password error")

5、切分split():把字符串按照某个分隔符切成一个列表

# userinfo = "egon:123:18:3.1"
# res = userinfo.split(":")

纯字符串组成的列表,拼接用join

# l = ["aaa", "bbb", "cccc"]
# print(":".join(l))
# userinfo = "egon:123:18:3.1"
# res = userinfo.split(":")
# print(res[0])
# print(":".join(res))

纯字符串组成的列表

# l = ["aaaa", "bbb", "ccc"]
#  res=l[0]+":"+l[1]+":"+l[2]   # res = ":".join(l)
# print(res, type(res))

7、循环

# for i in "hello":
#     print(i)

需要掌握的操作:

# 1、strip,lstrip,rstrip
# print("***hello***".strip("*"))  去除左右两边空白格
# print("***hello***".lstrip("*")) 去除左边空白格 
# print("***hello***".rstrip("*")) 去除右边空白格
# 2、lower,upper
# msg = "AbCDEFGhigklmn"
# 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")) 开头以什么开头
# print(msg.endswith("b"))    结尾以什么结尾
# print(msg.endswith("c"))

# 4、format的三种玩法
# 1 %s的方式
# name = "egon"
# age = 18
# res1="my name is %s my age is %s" % (name,age)
# print(res1)

#2 format的方式
# 关键字命名或花括号
# name = "egon"
# age = 18
# res1="my name is {} my age is {}".format(name,age)
# res1="{0}{0}{0}{1}".format(name,age)
# res1="my name is {name} my age is {age}".format(age=18,name="egon")
# print(res1)

# 3 f''3.6版本之后才可以用
# name = "egon"
# age = 18
# res1 = f"my name is {name} my age is {age}"
# print(res1)

# 了解:f搭配{}可以执行字符串中的代码
# res=f'{len("hello")}'
# print(res)

# f'{print("hello")}'

# 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)
# 5、split,rsplit
# userinfo="egon:123:18"
# # print(userinfo.split(":")) 切分
# print(userinfo.split(":",1)) 1是切分次数
# print(userinfo.rsplit(":",1)) 右边开始切分
# 6、join 把字符串拼接成列表
# l = ["aaa", "bbb", "cccc"]
# print(":".join(l))
# 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)
# 8、isdigit:判断字符是否以纯数字组成
# print("adsf123".isdigit())
# print("123".isdigit())
# print("12.3".isdigit())

# print("adfttg243".isdigit())
# print("123".isdigit())
# print("23.4".isdigit())  小数也不行,只能是纯数字int

你可能感兴趣的:(编程)