python中的变量
变量:将运算的中间结果暂存到内存中,方便后续程序调用。
变量的命名规则:
1、变量名由字母、数字、下划线组成。
2、变量名可以用字母、下划线开头,但是不能以数字开头。
3、变量名是区分大小写的。
4、变量名不能使用关键字。
5、变量名最好不要用中文或者拼音。
6、变量名最好起的要有意义,具有描述性。
7、变量名最好不要太长。
8、变量名最好使用驼峰命名法或者下划线命名法。
常量:所谓常量就是不可修改的变量。
在python中不存在绝对的常量,约定俗成的是常量名全部大写。
python中的注释:
单行注释:#是单行注释
多行注释:三个单引号''' '''或者三个双引号""" """。
python基本数据类型:
1、数字类型-int、float、long、complex
2、字符串类型str
3、bool类型
4、列表类型-list
5、元组类型-tuple
6、字典类型-dict
7、集合类型-set
字符串的格式化输出
1、单引号的方式
buf = 'Hello World'
2、双引号的方式
buf = "Hello World"
3、三个单引号(''' ''')(""" """),最主要的是可以换行.
buf = """
窗前明月光,
疑似地上霜.
举头望明月,
低头思故乡.
"""
4、字符串可以执行拼接或者乘法的操作,如下:
4.1 字符串拼接操作:
buf = "abc"
buf_1 = "def"
buf_2 = buf + buf_1 + "ghk"
注意:字符串的拼接只能是同类型
4.2 字符串乘法操作:
name = "小明"
buf = name * 10 # 相当于复制10次变量name
字符串格式化输出
格式化输出常用参数:
%s:非常强大,可以接收任意类型的数据并转化成str类型输出。
%c:整数:将数字转换成其ASCII/unicode对应的值,(py27则只支持0-255)。
%o:将整数转换成八进制表示。
%x:将整数转换成十六进制表示。
%d:将整数、浮点数转换成 十 进制表示。
%e:将整数、浮点数转换成科学计数法(小写e)。
%E:将整数、浮点数转换成科学计数法(大写E)。
%f: 将整数、浮点数转换成浮点数表示(默认保留小数点后6位)。
%g:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是e;)。
%G:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是E;)。
%:当字符串中存在格式化标志时,需要用 %%表示一个百分号 注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式。
格式化输出 1
name = "小明"
age = 18
buf = "你好%s,你今年是%d了吗" % (name,age)
print(buf)
# 打印内容如下
你好小明,你今年是18了吗
格式化输出 2
name = "小明"
age = 18
buf = "你好%(name)s,你今年是%(age)d了吗" % {"name":name,"age":age}
print(buf)
# 打印内容如下
你好小明,你今年是18了吗
格式化输出 3
name = "小明"
age = 18
buf = f"你好{name},你今年是{age}了吗"
print(buf)
# 打印内容如下
你好小明,你今年是18了吗
格式化输出 4
name = "小明"
age = 18
print("你好{},你今年是{}了吗" .format(name,age))
# 打印内容如下
你好小明,你今年是18了吗
格式化输出 5
name = "小明"
age = 18
print("你好{1},你今年是{0}了吗?".format(age,name))
# 打印内容如下
你好小明,你今年是18了吗?
格式化输出 6
name = "小明"
age = 18
print("你好{name},你今年是{age}了吗?".format(name=name,age=age))
# 打印内容如下
你好小明,你今年是18了吗?
获取用户输入input():
使用input('提示信息')函数获取用户输入。
变量 = input('提示信息') #会将用户输入的信息以str的形式保存到变量中。
buf = input('>>>请输入内容:')
print(f'用户输入的内容是:{buf},变量的数据类型是:{type(buf)}')
# 打印内容如下
>>>请输入内容:123
用户输入的内容是:123,变量的数据类型是:<class 'str'>
字符串str常用方法
capitalize():首字母大写,并且将其它字符全部转换成小写。
buf = 'abc_123'
temp = 'abC_123!@#'
print(buf.capitalize())
print(temp.capitalize())
# 打印内容如下
Abc_123
Abc_123!@#
casefold():该方法是Python3.3版本之后引入的,其作用和 lower() 方法相似,可以将字符串中的大写转换为小写。 两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语,如德语,法语等)中把大写转换为小写的情况只能用 casefold() 方法。相比于lower(),casefold()的功能更加强大。
buf = 'ABc_123'
temp = 'abC_123!@#'
print(buf.casefold())
print(temp.casefold())
# 打印内容如下
abc_123
abc_123!@#
islower():如果字符串中的字符全是小写返回True,否则返回Flase。
buf = 'abc_123'
temp = 'abC_123!@#'
print(buf.islower())
print(temp.islower())
# 打印内容如下
True
False
ljust((width[, fillchar]):指定字符串的宽度,将字符串显示在左侧,如果字符串的长度不够使用指定的字符进行填充。
rjust((width[, fillchar]):指定字符串的宽度,将字符串显示在右侧,如果字符串的长度不够使用指定的字符进行填充。
center(width[, fillchar]):指定字符串的宽度,将字符串显示在中间的位置,如果字符串的长度不够使用指定的字符进行填充。
参数:
width:设置字符串的宽度。
fillchar:如果字符串的长度不够,设置填充的字符。
示例:
buf = 'abc'
print(buf.ljust(20,'#')) # 设置字符串的跨度为20,如果字符串的长度不够用#填充
print(buf.center(20,'#'))
print(buf.rjust(20,'#'))
# 打印内如如下
abc#################
########abc#########
#################abc
count(substring, start, end):统计字符串中substring的数量。
参数:
substring:需要统计的字符串。
start:从起始位置开始统计。
end:到end位置接收。
示例:
buf = 'abacddaaa'
print(f'统计所有字符a的个数:{buf.count("a")}')
print(f'统计字符串前五个字符中a的个数:{buf.count("a",0,5)}')
# 打印内容如下
统计所有字符a的个数:5
统计字符串前五个字符中a的个数:2
encode(encoding='utf-8', errors='strict'):字符串的编码方式,返回字节。
buf = 'abc'
print(buf.encode(encoding='utf-8'))
# 打印内容如下
b'abc'
endswith(suffix[, start[, end]]):判断是不是以suffix结尾,如果是返回True,否则返回False。
参数:
suffix:结尾字符串。
start:从start处开始
end:到end结束
示例:
buf = 'abcdef'
print(buf.endswith('def'))
print(buf.endswith('def',4,5))
print(buf.endswith('abc'))
# 打印内容如下
True
False
False
find(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到返回-1。
参数:
sub:需要查找的元素。
start:从start处开始
end:到end结束
示例:
buf = 'abcdef'
print(f'元素d的下标是:{buf.find("d")}')
print(f'元素z的下标是:{buf.find("z")}')
# 打印内容如下
元素d的下标是:3
元素z的下标是:-1
index(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到会报错。
find(sub[, start[, end]]):查找元素下标,如果找到返回元素下标,如果找不到返回-1。
参数:
sub:需要查找的元素。
start:从start处开始。
end:到end结束。
示例:
buf = 'abcddef'
print(f'元素d的下标是:{buf.index("d")}')
print(f'元素z的下标是:{buf.index("z")}')
# 打印内容如下
元素d的下标是:3
Traceback (most recent call last):
File "C:\Users\id_iot\Desktop\1.py", line 3, in <module>
print(f'元素z的下标是:{buf.index("z")}')
ValueError: substring not found
isalnum():如果字符串是由字符或者数字返回True,否则返回Flase。
buf = 'abcddef123'
temp = 'abc_123+='
print(buf.isalnum())
print(temp.isalnum())
# 打印内容如下
True
False
isalpha():如果字符串是由字母或者汉字返回True,否则返回Flase。
buf = 'abcddef你好asdf'
temp = 'abc123'
print(buf.isalpha())
print(temp.isalpha())
# 打印内容如下
True
False
isdecimal():如果字符串是由十进制数字组成返回True,否则返回Flase。
buf = 'abc123'
temp = ''
print(buf.isdecimal())
print(temp.isdecimal())
# 打印内容如下
False
True
isdigit():如果字符串是由数字组成返回True,否则返回Flase。
buf = 'abc123'
temp = ''
print(buf.isdigit())
print(temp.isdigit())
# 打印内容如下
False
True
isidentifier():如果字符串是由字母数字或者下划线组成返回True,否则返回Flase。
buf = 'abc_123'
temp = 'abc_123!@#'
print(buf.isidentifier())
print(temp.isidentifier())
# 打印内如如下
True
False
isnumeric():如果字符串是由数字组成返回True,否则返回Flase。
buf = 'abc12'
temp = ''
print(buf.isnumeric())
print(temp.isnumeric())
# 打印内容如下
False
True
isprintable():如果字符串中没有换行,制表符等返回True,否则返回Flase。
buf = 'abc_123!@#$%你好'
temp = 'abc_123!@#$%你好\n'
print(buf.isprintable())
print(temp.isprintable())
# 打印内容如下
True
False
isspace():如果字符串是空格(注意:''不是空格)则返回True,否则返回Flase。
buf = 'abc 123'
temp = ' '
print(buf.isspace())
print(temp.isspace())
# 打印内容如下
False
True
istitle():如果字符串是以大写开头返回True,否则返回Flase。
buf = 'aBc123'
temp = 'Abc123'
print(buf.istitle())
print(temp.istitle())
# 打印内容如下
False
True
isupper():如果字符串中的字符全是大写返回True,否则返回Flase。
buf = 'aBc123'
temp = 'ABC123'
print(buf.isupper())
print(temp.isupper())
# 打印内如如下
False
True
join(iterable):将可迭代对象转换成字符串,iterable是可迭代对象,注意:iterable的元素必须是字符串否则会报错。
buf = ['a','b','c']
temp = [1,2,3]
print('_'.join(buf)) # 转换字符串以"_"进行分隔
print('|'.join(temp))# 转换字符串以"|"进行分隔
# 打印内如如下
a_b_c
Traceback (most recent call last):
File "C:\Users\id_iot\Desktop\1.py", line 4, in <module>
print('|'.join(temp))
TypeError: sequence item 0: expected str instance, int found
lower():将字符串全部转换成小写。
upper():将字符串全部转换成大写。
buf = 'aBc'
print(buf.lower())
print(buf.upper())
# 打印内容如下
abc
ABC
lstrip([chars]):去掉字符串左侧的chars。
strip([chars]):去掉字符串两侧的chars。
rstrip([chars]):去掉字符串右侧的chars。
buf = 'aabbccaa'
print(buf.lstrip('aa'))
print(buf.strip('aa'))
print(buf.rstrip('aa'))
# 打印内如如下
bbccaa
bbcc
aabbcc
partition(sep):在字符串中搜索分隔符sep,以元组的形式返回结果、如果找不到分隔符,则返回S和两个空字符串。
buf = 'aabbccaa'
print(buf.partition('bb'))
print(buf.partition('_'))
# 打印内如如下
('aa', 'bb', 'ccaa')
('aabbccaa', '', '')
replace(old, new[, count]):替换字符串中的元素。
参数:
old:需要被替换的字符。
new:替换后的字符。
count:替换的次数。
示例:
buf = 'aabbccaa'
print(buf.replace('aa',''))
print(buf.replace('aa','',1)) # 替换1次
# 打印内如如下
123bbcc123
123bbccaa
split(sep=None, maxsplit=-1):将字符串以sep的方式进行分隔,返回分隔后的列表。
参数:
sep:分隔符。
maxsplit:分隔的次数。
示例:
buf = 'aabbccaa'
print(buf.split('b'))
print(buf.split('b',1)) # 只分隔一次
# 打印内如如下
['aa', '', 'ccaa']
['aa', 'bccaa']
startswith(prefix[, start[, end]]):如果字符串以prefix开头返回True,否则返回Flase。
参数:
prefix:开头字符。
start:从start处开始
end:到end结束
示例:
buf = 'aabbccaa'
print(buf.startswith('aabb'))
print(buf.startswith('aabb',0,2))
# 打印内如如下
True
False
swapcase():将字符串中的大写字母转换成小写,将字符串中的小写字母转换成大写。
buf = 'aaBBccDD'
print(buf.swapcase())
# 打印内容如下
AAbbCCdd
title():将字符串首字母大写,其它字符小写。
buf = 'aaBBccDD'
print(buf.title())
# 打印内如如下
Aabbccdd
zfill(width):指定字符串的宽度,如果宽度大于字符串长度,在左侧用0填充。
参数:
width:指定字符串的宽度。
示例:
buf = 'aaBBccDD'
print(buf.zfill(20))
# 打印内如如下
000000000000aaBBccDD
下一篇:python运算符:https://www.cnblogs.com/caesar-id/p/10205186.html