一、变量和简单数据类型
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_name 5 message="Hello,"+full_name.title()+'!' 6 print(message)
3、使用制表符或字符串来添加空白
1. 空白:泛指任何非打印字符,加空格 ‘ ’,制表符‘ ’ 和换行符 ' ',可用空白组织输出,易读;
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+' '+e_word.title()+' ————' +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('去掉两端空格是:{}, 去掉右侧空格是:{}, 去掉左侧空格是:{}。'.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,' 大写:',name2,' 首字母大写:',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' #将列表拼接成字符串