一、变量(Python变量申请容器和使用标签指向容器位置)
变量定义规则:
-
变量名只能是字母、数字、下划线的任意组合
-
变量名第一个字符不能是数字
-
变量名不能是关键字:
[‘and’, ‘as’, ‘assert’, ‘break’,‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’,‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]注意:变量名尽量使用英文单词+下划线组合。
二、基本数据类型
1.整型数 int(interger)
整型(正负2的32次方)、长整型(大于2的32次方)
注意:Python 3已经不区分整型和长整型,统称为整型。
2.布尔类型
只有两种状态真(true) 、假 ( false)
布尔类型与其他数据类型的转换
-
整型数与布尔类型的转换
任何非零的数对应的布尔值为True,当整型数为0时对应的布尔值为False。
num=-1 if num: print('is true') else: print('is false') Result:is true
-
字符串与布尔类型转换
任何非空字符串对应的布尔值为True,当字符串为空字符串时对应的布尔值为False
str='' if str: print("is true") else: print("is false") Result:is is false
-
对象与布尔值转换
任何非空的对象对应的布尔值为True,当对象为null时对应的布尔值为False。
3.字符串
可以使用单引号(str=‘this is a message’) 、双引号(str=“this is a message”)
字符串常用操作:
注:字符串所有的操作是在一个新的字符串上操作的。
-
索引
str="abcdefg" print(str[0])# a 下标从0开始 print(str[-1])# g 倒回来最后一个是-1
-
切片
''' 切片:str[首:尾:步长] 特点:顾首不顾尾 首:默认为0,可省略 尾:默认为-1,可省略,省略包括最后的字符,不省略则不包括最后的字符 步长:默认步长为1,也可以是负数,正数表示从左到右开始取,负数表从右边开始取. ''' str="abcdefg" print(str[0:2])#ab 不包括尾 print(str[0:-1])#abcdef 不包括尾 print(str[:])#abcdefg 省略包括全部 print(str[::2])#aceg 步长为2 print(str[::-1]) #gfedcba 默认首为0,尾为-1,步长为-1从右边每隔一个开始取。 #不确定的内容 print(str[-1::-1])#gfedcba str[-1:]的结果为g,但str[-1::-1]结果为gfedcba # str[-1:]的结果为g,从-1开始以默认步长1来取字符直到右边边界,但str[2:0]以默认步长1来取字符但右边边界却在左边,所以结果为空。 # str[-1::-1]结果为gfedcba 从-1开始以-1步长来取字符,直到左边的边界
-
首字母大写
str="wu jing" print(str.capitalize())#Wu jing 首字母大写
-
全部大小写
str="wu jing" print(str.upper())#WU JING 全大写 print(str.lower())#wu jing 全小写 #全大小写,在网址验证码时可以将生产的验证码和用户输入的验证码全部进行大小写进行比对 ver_code="25Fd" input_code=input("please input verify code:") if input_code.lower()==ver_code.lower(): print("wellcome to my site!") else: print("please check verify code!")
-
大小写反转
str="xIAO jING" print(str.swapcase())#Xiao Jing
-
将特殊字符或数字分割开的单词首字母变成大写(标题功能)
str="i love you" print(str.title())#I Love You str1="i*love/you" print(str.title())#I Love You
-
统计子字符串出现的次数,可以切片查找
str = "xiao jing xiao" print(str.count("xiao"))#2
-
计算字符串长度
str="i love you" length=len(str) print(length)
-
判断以什么开头和以什么结尾
str="i love you" print(str.startswith("i"))#True print(str.endswith("you"))#True print(str.endswith("you",3,-1))#False 切片不包括尾 # 前端返回的字符串判断开头或结尾的字符串进行相应的操作。 sql="write to database!" if sql.startswith("write"): print("进行写操作") elif sql.startswith("update"): print("进行更新操作") else: print("忽略")
-
通过元素找索引
str="wellcome to m1y site!" index1=str.find("my") print("index1:",index1) #index1: -1 index2=str.index("my") print("index2:",index2) #报错 #所以查找索引时一定要使用find而不用index,避免因为找不到字符串而导致整个程序停止。
-
去掉前后指定的字符
# 默认str.strp()去掉前后的空格,可以同时将多个要去掉的字符放在一起一同去掉 str=" `wellcome to my blog! ***" print(str.strip("` *"))#wellcome to my blog! #可以用来将用户输入的用户名前后多输入的空格去掉 name=input("please input you user name:") if name.strip()=="xiaojing": print("wellcome xiaojing!") else: print("user name error")
-
切割字符串结果为列表
#将存有用户信息的字符串转换列表处理时比较有效 str="xiaojing;box;23;1509818841" msg=str.split(";") print(msg)#['xiaojing', 'box', '23', '1509818841']
-
字符串格式化输出
#按照位置来填 msg='我叫{},今年{},爱好{}'.format("xiaojing",23,"妹子") print(msg)#我叫xiaojing,今年23,爱好妹子 #按照索引来填 msg='我叫{0},今年{1},爱好{2},再说一次我叫{0}'.format("xiaojing",23,"妹子") print(msg)#我叫xiaojing,今年23,爱好妹子,再说一次我叫xiaojing #按照变量来写 msg='我叫{name},今年{age},爱好{hobby},再说一次我叫{name}'.format(name="xiaojing",age=23,hobby="妹子") print(msg)#我叫xiaojing,今年23,爱好妹子,再说一次我叫xiaojing
注:三逗号包括的字符串可以保留原来的格式
-
字符串替换
#repalce( old_str,new_str,替换次数) 替换次数可以省略,默认是全部替换 str="街坊到来看望小静" print(str.replace("街坊","老王",1))#老王到来看望小静