一、变量和简单数据类型
1、变量
命名规则:
变量名组成——字母、下划线、数字(不可做首字符);
用下划线分隔单词,不可包含空格;
关键字和函数名不可做变量名;
小写字母做变量名,不建议使用大小写的字母 l 和字母 o;
2、字符串:一系列字符,用引号 (单引号/双引号)括起来的都是字符串。
使用方法修改字符串的大小写方法:Python可对数据执行的操作,每个方法后面都有一对括号(方法通常要额外的信息来完成其工作,信息即在括号内提供);
函数:
title() 首字母大写;
upper() 字符全部大写;
lower() 字符全部小写;
以上函数返回值为字符串,若是在函数前加 is ,则返回值为布尔类型,如 istitle(), isupper(),islower();
使用之处:无法依靠用户提供正确的大小写,需要统一输入检查的时候;等
3.用法:
1 #input('str') 用于获取输入,str用作提示信息
2 name=input('请输入你的姓名:')3 print(name.title())4 print(name.upper())5 peint(name.lower())
2、合并(拼接)字符串:使用‘+’合并字符串
1. 情形:将姓和名存在不同的变量中,显示时合为一体;
2. 用法:
1 #这里可以了解下格式化输出的方式
2 first_name='John'
3 last_name='Wilson'
4 full_name=first_name+' '+last_name5 message="Hello,"+full_name.title()+'!'
6 print(message)
3、使用制表符或字符串来添加空白
1. 空白:泛指任何非打印字符,加空格 ‘ ’,制表符‘\t’ 和换行符 '\n',可用空白组织输出,易读;
2. 用法:
#这是个不实用的写法
c_word='人是一个初生的孩子,他的力量,就是成长的力量'e_word='man is a born child,his power is the power of growth.'first_name='rabindranath'last_name='Tagore'
print(c_word+'\n'+e_word.title()+'\n\t\t\t————'
+first_name.title()+' '+last_name.title()+'罗宾德拉纳特·泰戈尔')
4、删除空白
1. 情形:用户登录网站时检查其用户名或密码;
2. 函数:
strip() 去除字符串两端的空格;
rstrip() 去除字符串右端的空格;
lstrip() 去除字符换左端的空格;
这种删除只是暂时的,若要永久删除该字符串的空白,需要将删除操作结果存在一个变量中;
name='John William'dname=name.strip()
rname=name.rstrip()
lname=name.lstrip()#这里用了一种新的格式化输出方式,相对于使用‘+’连接符的好处就是可以忽略字符串类型的不同,但是也有一些限制
print('去掉两端空格是:{},\n去掉右侧空格是:{},\n去掉左侧空格是:{}。'.format(dname,rname,lname))
5、使用字符串时,避免语法错误
1 #练习:将用户姓名存在一个变量中,并向用户显示一条消息:“Hello,Eric.would you like to learn some Python today?”,再以小写,大写,首字母大写显示。
2 name='Eric'
3 print('Hello,',name,'would you like to learn some Python today?')4 name1=name.lower()5 name2=name.upper()6 name3=name.title()7 print('小写:',name1,'\n大写:',name2,'\n首字母大写:',name3)
3、数字
1. 整数:可对其进行加、减、乘、除、乘方运算;
2. 浮点数:带小数点的数字,涉及其包含的小数位数需要考虑;
3. 使用函数 str() 避免类型错误:
str() —— 将字符串值表示为字符串
1 #练习:编写5或6个表达式,分别用加、减、乘、除、乘方运算,结果都为8,将其放在一句话中打印出来。
2 num1=4+4
3 num2=10-2
4 num3=2*4
5 num4=16/2
6 num5=17//2
7 num6=2**3
8 print('加法结果:'+str(num1)9 +', 减法结果:'+str(num2)10 +', 乘法结果:'+str(num3)+', 除法结果(没有余数):'
11 +str(num4)+', 取整除法结果:'+str(num5)12 +', 乘方结果:'+str(num6))
4、注释:
单行注释—— # ;
多行注释—— 三个引号(单/双都可)将需要注释的内容括起;
5、字符串相乘(只能和数字):表示重复多少次的字符串
Tips: 字符串常见方法总结
s = 'python's.count('t') #返回字符串s在t中出现的次数,带可选参数
s.startswith('p') #若字符串s以p开头,返回True,否则False
s.endswith(‘n’) #若字符串s以n结尾,返回True,否则False
s.find('a') #如果找到a首次出现返回对应索引值,没有找到返回-1(为啥不是0,1,是因为考虑到索引值存在0和1)
s.index(obj) #从字符串中找某个值第一个匹配项的索引位置,index找不到则会抛出ValuError异常
'python'.strip() #去除字符串两侧的空格
s.isalpha() #判断是否纯字母
s.isdigit() #判断全是数字
s.upper() #转化成大写
s.lower() #转化成小写
s.islower () #测试是否全是小写
s.isupper () #测试是否全是大写
s.replace(old,new,[count]) #替换,数字代表次数
#------------------------
s.split()#拆分字符串,通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list),默认以空格分割,-1表示全切;
s.split(str,num) #str,num为可选参数,str是分隔符,默认为空格' ',若字符串s中不存在指定的分隔符,则把整个字符串作为列表的元素,但是不能为空'',num是分割次数,如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量,默认是-1
s = 'haha lala's.split()>>>['haha','lala'] #默认为空格' '
s.split(' ') >>>['haha','lala'] #等同默认
s.split('') >>> ValueError: empty separator #但是不能为空''
s.split('p') >>>['haha lala'] #若字符串s中不存在指定的分隔符,则把整个字符串作为列表的元素
s.split('a') >>>['h', 'h', 'l', 'l', ''] #默认全切
s.split('a',-1) >>>['h', 'h', 'l', 'l', ''] #等同默认
s.split('a',2) >>>['h', 'h', 'lala'] #切割2次
------
#注意如果以首尾相切空的问题:
s1 = 'aaabbbccc's1.split('b') => ['aaa', '', '', 'ccc'] #相当于每切一次以分隔符为中心将字符串切成两边,将左边的丢到列表作为一个元素,然后按照切割次数依次往右边切,第一次切分成'aaa'&'bbccc',第二次切从右边'bbccc'切,分成''&'bccc',类似第三次则切'bccc',分成''&'ccc',然后将前面切的左边和最后一个作为列表元素返回。
s1.split('b',2) => ['aaa', '', 'bccc'] #第一切'aaa'&'bbccc',第二次''&'bccc'
s1.split('a') => ['', '', '', 'bbbccc'] #第一切''&'aabbbccc',然后''&'abbbccc',再''&'bbbccc'
s1.split('a',1) => ['', 'aabbbccc']
s1.split('b',3) => ['aaa', '', '', 'ccc']
s1.split('c') => ['aaabbb', '', '', ''] #'aaabbb'&'cc',''&'c',''&''
s1.split('c',2) => ['aaabbb', '', 'c']#------------------------
s1.join(seq)#将序列seq(列表,字符串,元组都可)中的元素(要全部为字符串对象)以指定的字符s1连接生成一个新的字符串。#split与join的相爱相杀,相煎何太急
ipStr = '192.168.10.11'ipList= ipStr.split('.') >>> ['192', '168', '10', '11'] #将字符串分割成列表
'.'.join(ipList) >>> '192.168.10.11' #将列表拼接成字符串