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