Python变量之白首如新,倾盖如故
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 = '123' print(buf.isdecimal()) print(temp.isdecimal()) # 打印内容如下 False True
isdigit():如果字符串是由数字组成返回True,否则返回Flase。
buf = 'abc123' temp = '123' 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 = '123' 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','123')) print(buf.replace('aa','123',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