又开始的python-day01-20200716-变量数据类型-标识符-下标-切片-字符串常见操作

解释型语言
使用场景:网络爬虫 科学计算 桌面软件 服务器软件 游戏
注释:为了对代码进行说明

  • 01-变量以及数据类型

- 变量类型

数字
布尔类型
字符串
列表
元组
字典

数字类型

int    		#整数
float  		#小数 浮点型
complex  	#复数

字符串类型 str
用单引号或者双引号包裹的一段文字

str

布尔类型 bool
表示真假

True 
False

列表类型 list

names = [1,2,3]

字典类型 dict

person = {'name':'zss','age':'18'}

元组类型 tuple

nums=(1,23,3,4,5)

集合类型 set

x = {9,'hello','hi',True}
  • 02-查看数据类型

type
查看变量的类型

a = 1
print(type(a))
  • 03-标识符和关键字

标识符:变量 模块名 函数名 类名
命名规则
1.由数字,字母和_组成,不能以数字开头(也有别的组成,但一般是这3个组成)
2.严格区分大小写
3.不能使用关键字(python里面含有特殊含义的单词)
规范
1.顾名思义
2.命名规范
变量 函数 模块名 下划线连接 user_name
类名 大驼峰命名法 HelloWorld

P19
中间的基础感觉之前学习过 没事再回来看一遍
和Linux 脚本看的一样 变量 符号运算 还有循环
P63

  • for…else
#个位数是2 且 被3整除
# count=0
# for i in range(1,101):
	# if i % 10 == 2 and i % 3 ==0:
		# count += 1
		# print(i) 
# print(count)

#101-201之间的质数 for else python特有
for i in range(101,201):
	i += 1
	for j in range(2,i):
		# print(j)
		if i % j == 0:
			#print(i)
			break
	else:
		print(i,'zhishu')

字符串的表示方式

m = 'xiaomings said " i am xiaoming"'
n = "t=i'm xiaoming"
p = """xiaoming said :"i'm xiaoming""""
#引号 单引号里可以双引号 双引号里也可以单引号 要素过多 可以选择多个引号 
x1 = '你好'
x2 = 'ni\nhao'
x3 = 'ni\\nhao'
x4 = r'ni\nhao'
#字符串前加r表示原生字符串 
print(x1,x2,x3,x4)

字符串的下标和切片
下标又称为索引,表示第几个数据
可迭代对象:str list tuple dict set range 可遍历
str list tuple 可以通过下标获取或者操作数据
在计算机里,下标都是从0开始的
通过下标来获取或者修改指定位置的数据

world = 'zss'
print(world[2])

字符串是不可变的数据类型
对字符串的任何操作,都不会改变原有的字符串
切片
切片就是从字符串里复制一段指定的内容,生成一个新的字符串

# 切片语法 m[start:end:step]
# step 步长 可以理解为间隔 默认为1 不能为0 可以为负数
m='asdasfsdsdadadasd'
print(m[2:9]) #含首不含尾 2-8
print(m[2:])  #一直到最后
print(m[:9])  #从开头到最后
print(m[15:3:-1]) #从第15-3
print(m[::]) #全部
print(m[::-1]) #从最后一位到第一位
print(m[-9:-5]) #从右往左数第一个是-1

字符串的常见操作
获取长度len
查找内容find index rfind rindex
判断startswith endswith isalpha isdigit isalnum isspace
计算次数count
替换内容replace
切割字符串split rsplit splitlines partition rpartition
修改大小写capitalize title upper lower
空格处理ljust rjust center lstrip rstrip strip
字符串拼接: join
注意:在Python里,字符串是不可变的!所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果

x = 'asdasdasfasdffadasdasd'
print(len(x))
##################################查找内容相关的方法 find/index/rfind/rindex 可以获取指定字符的下标
print(x.find('d'))
# print(x.index('1')) #如果字符在字符串里不存在 报错
print(x.find('p')) #如果字符在字符串里不存在 ,结果是 -1

print(x.rfind('d'))  #找最大下标 没有返回-1
# print(x.rindex('1')) #找最大下标 没有报错


###################################判断
#startswith endswith isalpha isdigit isalnum isspace
print('hello'.startswith('h')) # 判断是不是以h开头的 返回True
print('hello'.endswith('o')) # 判断是不是以o结尾的 返回True
print('hel2lolo'.isalpha()) #是不是全是字母 这里不是 返回False
print('good'.isdigit()) #是不是数字 这里不是 返回False
print('2020'.isdigit()) #返回True
print('3.14'.isdigit()) #返回False
print('asdas213'.isalnum()) #判断是不是由数字和字母组成 True
print('asdas'.isalnum())  #True
print('          '.isspace()) # 判断是不是全由空格组成 True
print('        s  '.isspace()) # 判断是不是全由空格组成 False
print(x.count('d')) #d 出现了几次



###################################replace 方法 替换字符串
word = 'hello'
word.replace('l','x') #replace 把字符串 l 替换成 x
print(word) # hello 字符串是不是可变的
print(word.replace('l','x')) #原来的不会改变 而生成一个新的字符串来保存



##################################内容分割
#内容分割 split rsplit splitlines partition rpartition
x = 'zss,asd,sf,sadf,we,gh,ig'
#split 方法 可以将一个字符串切割成一个列表
x.split('-')
print(x.split(',')) #切割之后的结果就是一个列表
print(x.split(',',2)) #前2个分割 后面是整体一个
print(x.rsplit(','))
print(x.rsplit(',',2)) #后两个分割 前面是整体 从后往前分割 但顺序没变
#partition 指定一个字符串作为分隔符 只会分为三部分
#前面 分割符 后面
print('acsdfgXsadXft'.partition('X')) # acsdfg X sadXft 
print('acsdfgXsadXft'.rpartition('X')) # acsdfgXsad X ft  从后面开始分割
#获取文件名和后缀名
file_name='2.23.baidu.mp4'
print(file_name.partition('.')) #这样就不行要用rpartition
print(file_name.rpartition('.'))
print(file_name.rpartition('.')[0])



P69
#切换大小写
#capitalize 让第一个单词的首字母大写
print('hello'.capitalize())
# upper 全大写
print('world'.upper())
# lower 全小写
print('World'.lower())
# title 每个单词的首字母大写
print('zss wkif'.title())
# while True:
	# content = input('请输入:')
	# if content.lower() == 'exit':
		# break



# ljust(width,fillchar) 让字符串以指定长度显示 如果长度不够 默认右边空格补齐
# rjust(width,fillchar) 左边补齐
# center(width,fillchar) 居中 两边补齐
# width 长度 fillchar 填充字符 默认空格
print('zsss'.ljust(10,'+'))
print('zsss'.rjust(10,'-'))
print('apple'.center(20,'-'))
# lstrip 去除左边的空格 默认空格 也可以是指定的
# rstrip 去除右边的空格
# strip  去除左右两边的空格
print('+++++++zss      1'.lstrip('+'))
print('1    zss      '.rstrip())
print('     zss      '.strip())
x = 'zss,asd,sf,sadf,we,gh,ig'



#split 方法 可以将一个字符串切割成一个列表
x.split('-')
print(x.split(',')) #切割之后的结果就是一个列表
#将列表转换成字符串
names=['zss', 'asd', 'sf', 'sadf', 'we', 'gh', 'ig']
print(','.join(names))
print('*'.join('hello'))



#字符串运算符
#字符串和字符串之间可以用加法 是2个字符串拼接为一个字符串
#乘法运算 将指定字符串重复多次
#比较运算符进行运算 会获取字符对应编码 然后比较
#其余不支持
P70
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值