标签:字符串 lex teacher 分享 集合 技术 输入 replace python
一、注释
注释的作用:
增加程序的可读性
作为调试用
提高团队的合作效率
注释的分类
1、单行注释
以井号(#)开头,右边的所有内容当做说明
2、多行注释
以三对单引号(’’’注释内容’’’)将注释包含起来
其他语法
Python的语法比较简单,采用缩进的方式。
# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
上面代码中,以‘# ’是注释的标识符,可以记录当前代码所代表的意义,解释器会自动忽略这部分内容。
当语句以‘:’结尾时,缩进语句视为代码块。
在Python中,通常我们以4个空格的缩进来进行区分。可以在每句结束之后加一个‘;’号。通常在Python中,默认以换行为新的一行,若想在一行输入多句语句,一定要加‘;’,否则报错。
注意: 由于Python采用缩进的语法,在你复制,粘贴语句时,一定要注意,重新检查当前代码的缩进格式。 在Python中,对大小写十分敏感,如果大小写错误,会报错。
二、变量
标识符
什么是标识符
标识符是自己定义的,如变量名 、函数名等
标识符命名规则
1、只能包含字母、数字和下划线。变量名可以以字母或者下划线开头。但是不能以数字开头。
2、不能包含空格,但可以使用下划线来分隔其中的单词。
3、不能使用Python中的关键字作为变量名
4、建议使用驼峰命名法,驼峰式命名分为大驼峰(UserName)。和小驼峰(userName)。
常用关键字
系统有一些常用关键字不可以用来当做标识符。
and |
lambda |
except |
while |
del |
return |
import |
or |
class |
try |
if |
assert |
yield |
as |
in |
def |
finally |
else |
True |
continue |
from |
is |
global |
raise |
elif |
False |
pass |
|
not |
nonlocal |
with |
for |
None |
break |
在Python中查看
import keyword print(keyword.kwlist)
[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
三、数据类型
Number
int:
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。
float:
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。
complex:
一个实数和一个虚数的组合构成一个复数。
bool:
bool值是特殊的整型,取值范围只有两个值,也就是True和False。
字符串
字符串就是一系列任意文本。Python中的字符串用单引号或者双引号括起来,同时可以使用反斜杠(\)转义特殊字符。
单引号(’’)和双引号("”)本身只是一种表示方式,不是字符串的一部分,因此,字符串’hello’只有h,e,l,l,o这五个字符。如果’本身也是字符的话,那么就可以用””括起来,比如”I’m OK” 当中包含了一个 ’ 。如果字符串内部包含 ’ 或者 ” ,但是又想当成普通字符串处理怎么办?这个时候就要用转义字符(\)来标识。
操作字符串
截取字符串语法:变量[开始下标:结束下标]
加号(+)是字符串的连接符
星号(*)表示复制当前字符串
格式化Input输入
通过它能够完成从键盘获取数据,然后保存到指定的变量中 input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存
格式化输出
常用的格式符号:%[(name)][flags][width].[precision]typecode
字符串下标与切片
所谓”下标”就是编号,字符串实际是字符的组合。
声明一个字符串str1值为:abcd
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长]
字符串常用函数
练习:
# -*- coding:utf-8 -*-
‘‘‘
格式化输出
‘‘‘
# name = ‘joe‘
# age = 18
# address = ‘上海‘
# print(‘大家好我叫%s,我今年%d岁,我来自%s‘%(name,age,address))
# print(‘大家好我叫%s‘%name)
‘‘‘
字符串常用函数
‘‘‘
#find
# str = ‘I love python‘
# print(str.find(‘o‘))#返回的是该字符的位置
# print(str.find(‘w‘)) #没有的化返回-1
#index
# str = ‘I love python‘
# print(str.index‘o‘))#返回的是该字符的位置
# print(str.index(‘o‘)) #没有的化返回报错信息
#count
# str = ‘I love python‘
# print(str.count(‘o‘))#返回的是该字符出现的次数
# print(str.index(‘o‘,2,6)) #在指定位置查找出现的次数
#replace
# str = ‘I love python‘
# print(str.replace(‘p‘,‘P‘))#替换并输出 I love Python
#split
# str = ‘I love python o‘
# print(str.split(‘ ‘))#指定字符切分 [‘I‘, ‘love‘, ‘python‘, ‘o‘]
#capitalize
# str = ‘i love python o‘
# print(str.capitalize()) #将字符串的首字母大写I love python o
#capitalize
# str = ‘i love python o‘
# print(str.title()) #将字符串中每个单词的的首字母大写I Love Python O
#startswith
# str = ‘i love python o‘
# print(str.startswith(‘i‘)) #检测字符串是否以指定的字符开头 是则返回True 否则False
#swith
# str = ‘i love python o‘
# print(str.endswith(‘p‘)) #检测字符串是否以指定的字符结尾 是则返回True 否则False
#upper
# str = ‘i love python o‘
# print(str.upper()) #所有字母转化为大写
#lower
# str = ‘I LOVE PYTHON O‘
# print(str.lower()) #字符串转化为小写
#ljust
# str = ‘hello‘
# print(str.ljust(10)) #返回一个原字符串左对齐,并使用空格填充至长度width的新字符串hello
#rjust
# str = ‘hello‘
# print(str.rjust(10)) #返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 hello
#center
# str = ‘hello‘
# print(str.center(10)) #返回一个原字符串居中,并使用空格填充至长度width的新字符串 hello
#lstrip
# str = ‘ hello‘
# print(str.lstrip()) #除去字符串左边的空白字符hello
#rstrip
# str = ‘hello ‘
# print(str.rstrip()) #除去字符串右边的空白字符hello
#partition
# str = ‘hello world hello china‘
# print(str.partition(‘world‘)) #可以将字符串以str进行分割成三部分 str前,str,str后(‘hello ‘, ‘world‘, ‘ hello china‘)
#join
# str = ‘hello world hello china‘
# str1 = ‘-‘
# print(str1.join(str)) #str中每个字符后面插入str1,构造出新的字符串h-e-l-l-o- -w-o-r-l-d- -h-e-l-l-o- -c-h-i-n-a
#isspace
# str = ‘hello world hello china‘
# print(str.isspace()) #如果str中只包含空格,则返回true 否则返回false
#isalnum
# str = ‘hello‘
# print(str.isalnum()) #如果str中所有字符都是字母或者数字,则返回true 否则返回false
#isdigit
# str = ‘8765‘
# print(str.isdigit()) #如果str中只包含数字,则返回true 否则返回false
#isalpha
str = ‘hello china‘
print(str.isalpha()) #如果str中所有字符都是字母,则返回true 否则返回false
列表
列表写在[ ]内,元素之间用逗号隔开:
注意:
List写在方括号之间,元素用逗号隔开
和字符串一样,List可以被索引和切片
List可以使用加号(+)操作进行拼接
List中的元素是可以被改变的
列表的访问:
列表是由一系列按特定顺序排列的元素组成,列表能存储多种类型的数据,其中的元素之间可以没有任何关系
列表索引
列表的操作:
修改列表元素
修改列表元素的语法和访问列表元素的语法类似,指定列表名和要修改元素的索引,再指定新值
以下列表名为:students,需要将jack修改为tom
添加列表元素-1
在列表末尾追加元素:使用append()方法将元素追加到列表的末尾。也可以用append()方法来动态创建列表
以下列表名为:students,需要将‘篮球添加到列表的末尾’,使用append()方法
添加列表元素-2
在列表中插入元素:通过指定新元素的索引和值,使用insert()方法可以在列表的任何位置添加新元素
以下列表名为:students,需要将‘音乐插入到男的后面,使用insert()方法
删除列表元素
使用pop()方法删除元素:pop方法用于移出列表中的一个元素(默认是最后一个元素),可以指定元素索引,并且返回该元素的值。
使用del语句删除元素:如果知道要删除的元素在列表中的位置,可使用del语句删除元素,元素一旦被删除之后就再无法访问
使用remove()方法删除元素:当不知道元素索引,只知道元素值的时候,使用remove()方法删除元素
查找列表元素
所谓的查找,就是看看指定的元素是否存在
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
Python列表函数
练习:
# -*- coding:utf-8 -*-
#列表:是由一系列特定顺序排列的元素组成
# 列表可以存储多种类型的数据,
# 元素之间没有任何关系
‘‘‘
访问列表
‘‘‘
# list01 = [‘jack‘,‘jane‘,‘joe‘,‘black‘,‘‘]
# print(list01[2]) #通过下标访问
#二维列表
# list02 = [‘jack‘,‘jane‘,[‘leonado‘,‘joe‘],‘black‘,‘‘]
# print(list02[2])
# print(list02[2][0]) #获取leonado
# list02 = [‘jack‘,‘jane‘,[‘leonado‘,‘joe‘],‘black‘,‘‘]
# list02[0] = ‘lili‘ #通过下标获取到元素,并且给其赋新的值
# list02[2][0] = ‘susan‘
# print(list02)
#列表是一个可变的类型数据,允许我们对其里面的数据进行修改
‘‘‘
列表的操作-追加
append列表末尾追加
insert指定位置插入
‘‘‘
#append
# list02 = [‘jack‘,‘jane‘,‘joe‘]
# list02.append(‘susam‘)
# print(list02)
#insert
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# print(‘插入之前‘)
# print(list02)
# print(‘_‘*20)
# #指定位置插入
# list02.insert(1,‘susan‘)
# print(list02)
‘‘‘
删除元素
pop默认从最后删除,还可以通过指定索引删除
del通过指定位置删除
remove通过值删除
# ‘‘‘
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# print(‘删除之前‘)
# print(list02)
# print(‘_‘*20)
# print(list02.pop()) #执行删除操作 并且返回删除的元素
# print(list02)
# print(‘继续删除‘)
# print(‘_‘*20)
# print(list02.pop(1)) #执行删除操作 并且返回删除的元素
# print(list02)
#del
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# print(‘删除之前‘)
# print(list02)
# print(‘_‘*20)
# del list02[1] #指定索引删除 彻底删除
# del list02 #默认将整个列表 从内存中彻底删除,
# print(list02)
#remove 在不知道下标,但是知道具体值的时候通过值来删除
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# print(‘删除之前‘)
# print(list02)
# print(‘_‘*20)
# list02.remove(‘jane‘) #通过元素的值进行删除
# print(list02)
‘‘‘
查找元素是否存在
in
not in
‘‘‘
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# name = ‘jack‘
# name2 = ‘lee‘
# print(name in list02)
# print(name2 in list02)
# list02 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# name = ‘jack‘
# name2 = ‘lee‘
# print(name not in list02)
# print(name2 not in list02)
# -*- coding:utf-8 -*-
‘‘‘
列表函数
‘‘‘
# list05 = [‘jack‘,‘jane‘,‘joe‘,‘black‘,‘12‘]
# #查看列表长度 返回列表元素个数
# print(len(list05)) #类似于一个方法,将参数传入
# list05 = [‘jack‘,‘jane‘,‘joe‘,‘black‘] #如果是字符类型,取字母靠后的
# list05 = [1,52,23,58,100] #默认数值输出结果,取最大值。
# print(max(list05)) #类似于一个方法,将参数传入
# list05 = [‘jack‘,‘jane‘,‘joe‘,‘black‘] #如果是字符类型,取字母靠迁的
# list05 = [1,52,23,58,100] #默认数值输出结果,取最小值。
# print(min(list05)) #类似于一个方法,将参数传入
# list05 = [‘jack‘,‘jane‘,‘joe‘,‘black‘,‘joe‘,‘jane‘]
# print(list05.count(‘joe‘)) #统计元素出现的次数
# list05 = [‘jack‘,‘jane‘,‘joe‘,‘black‘]
# list06 = [‘aaa‘,‘bc‘]
# list05.extend(list06) #扩展列表 在一个列表末尾一次性追加一个新列表 传入参数为一个列表 类似于单个元素使用append追加
# print(list05.extend(list06)) #必须先追加再输出
# print(list05)
# list05 = [‘jack‘, ‘jane‘, ‘joe‘, ‘black‘,‘joe‘]
# print(list05.index(‘joe‘)) #从一个列表中找出某一个值第一次出现的位置的索引
# list05 = [‘jack‘, ‘jane‘, ‘joe‘, ‘black‘,‘joe‘]
# list05.reverse() #对列表中的元素做反向旋转
# print(list05)
# print(list05.reverse()) #不可以在输出里面做旋转,必须先反向旋转再单独输出 和追加extend一样
# list06 = [2,3,5,9,6,12,40]
# list06.sort() #对列表进行排序
# ‘print(list06.sort()) #先做排序 在输出
# print(list06)
# list05 = [‘jack‘, ‘jane‘, ‘joe‘, ‘black‘,‘joe‘]
# list05.clear() #用于清空列表
# print(list05)
# list05 = [‘jack‘, ‘jane‘, ‘joe‘, ‘black‘,‘joe‘]
# list07 = list05.copy() #复制列表
# print(list07)
#
# list = [‘lee‘,‘jone‘,‘jack‘]
# list.insert(0,‘teacher‘)
# list.insert(list.__len__(),‘bzr‘)
# print(list)
# # print(list.__len__())
# print(list[1][3])
元组
元祖写在小括号内,元素之间用逗号隔开
注意:
tuple的元素不可改变,但是可以包含可变的对象,比如list
构造包含0个或者1个元素的元祖有特殊语法规则:
tuple1=() #空元祖
tuple2=(1,) #一个元素,需要在元素后添加逗号
练习:
# -*- coding:utf-8 -*-
‘‘‘
Python 里面的元祖和列表类似,不同之处在于元祖中的元素不能被修改,而列表中的元素可以被修改
也可以进行分片和连接。元祖使用小括号,列表使用方括号。
‘‘‘
‘‘‘
元祖 不可修改 提供了删除del 彻底删除(没法通过下标删除)
元祖中的元素虽然不能被改变,但是元祖也是一个序列,也可以通过索引去访问和截取元祖指定位置的元素
多维元祖:元祖中的元祖
‘‘‘
# tup01 = (1,2,3,4,5)
# print(tup01[3])
‘‘‘
元祖函数:
‘‘‘
# tup01 = (1,2,3,4,5)
# print(len(tup01)) #计算元祖中元素的个数
# tup01 = (1,2,3,4,5)
# print(max(tup01)) #计算元祖中最大的元素
# tup01 = (1,2,3,4,5)
# print(min(tup01)) #计算元祖中最小的元素
# list = [‘jack‘,‘joe‘,‘black‘]
# print(type(list))
# print(tuple(list)) #将列表转化为元祖
# print(type(tuple(list)))
# tup01 = (1,2,3,4,5)
# print(list(tup01)) #将元祖转为列表 可以实现对元祖的修改
字典
字典是一种映射类型,使用{ }表示,他是一个无序的键(key)值(value)对集合
注意:
字典是一种映射类型,它的元素是键值对
键(key)必须使用不可变类型(字符串、数值、元组),在同一个字典中,键必须是唯一的。
创建空字典使用{ }
练习:
# -*- coding:utf-8 -*-
‘‘‘
字典是用户自己创建索引 通过前面的下标操作
‘‘‘
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# print(dict)
#访问
# print(dict[‘name‘])
#修改
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# dict[‘name‘] = ‘jack‘
# print(dict)
#添加元素
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# dict[‘hobby‘] = ‘足球‘
# print(dict)#多次运行发现输出的顺序不一样,不一定在最后
#删除
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# del dict[‘address‘] #删除某一个
# del dict #整个字典彻底从内存删除 表名都不存在了
# print(dict)
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# dict.clear()
# print(dict) #{} 清空所有元素
‘‘‘
字典函数
‘‘‘
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# print(len(dict)) #计算字典中元素的个数
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# print((str(dict)) #输出字典,以可打印的字符串表示。转为str类型
# print(type(str(dict)))
#dict.fromkeys(seq[,]value)
#创建一个新的字典,以seq中的元素作为字典的前半部分的key值,value为字典所有键对应的默认初始化的值
# seq = (‘name‘,‘age‘,‘sex‘)
# dict01 = dict.fromkeys(seq)
# print(‘新字典为:‘,dict01)
# dict02 = dict.fromkeys(seq,‘jack‘) #对vlue赋值
# print(‘新字典为:‘,dict02)
#dict.get(key,default=None)
#返回指定键的值 如果不在字典里面返回default值
# dict = {‘name‘:‘job‘,‘age‘:18,‘address‘:‘上海‘}
# print(‘age键的值为:‘,dict.get(‘age‘))
# print(‘sex键的值为:‘,dict.get(‘sex‘)) #没有返回默认none
# print(‘sex键的值为:‘,dict.get(‘sex‘,‘男‘)) #字典里面没有可以手动指定
# print(‘ddress键的值为:‘,dict.get(‘ddress‘,‘北京‘))#如果建值字典里面有,但是自己手动指定则已手动指定的输出
#key in dict
#如果键在字典dict里面返回true,否则返回false
# dict = {‘name‘:[‘job‘,‘tom‘],‘age‘:18,‘address‘:‘上海‘}
# if ‘age‘ in dict:
# print(‘键age在字典里面存在‘)
# else:
# print(‘键age不在字典里面存在‘)
# dict.keys()
# 以列表形式返回字典里面所有的键 值
# dict = {‘name‘:[‘job‘,‘tom‘],‘age‘:18,‘address‘:‘上海‘}
# print(dict.keys()) #dict_keys([‘age‘, ‘address‘, ‘name‘])
# print(dict.values()) #dict_values([18, [‘job‘, ‘tom‘], ‘上海‘])
# dict = {‘name‘:[‘job‘,‘tom‘],‘age‘:18,‘address‘:‘上海‘}
#以键值对形式保存在列表中
# print(dict.items()) #dict_items([(‘address‘, ‘上海‘), (‘age‘, 18), (‘name‘, [‘job‘, ‘tom‘])])
四、运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
算术运算符
以下假设变量a=10,变量b=20
赋值运算符
比较运算符
以下假设变量a=10,变量b=20
逻辑运算符
位运算符
a = 60 b = 13
练习:
# -*- coding:utf-8 -*-
‘‘‘
int
‘‘‘
# a = 1
# print(type(a)) #type是python里面用来查看数据类型的函数
‘‘‘
boolean
True 不为零 False 为零
‘‘‘
# a = True
# print(type(a))
‘‘‘
字符串 string
一般使用单引号 或者双引号
‘‘‘
# a = ‘刘德华‘
# name= "黎明"
# num = ‘1‘
# num2 = ‘True‘ #带上引号的都是字符串
# print(type(a))
# print(type(name))
# print(type(num))
# str1 = ‘"ni hao"‘ #双引号成了字符串本身
# print(str1)
# str2 = "‘你 好‘" #单引号成了字符串本身
# print(str2)
# str3 = ‘aaa\‘bbb‘ #最外面的单引号是一对 里面的单引号通过\转义
# print(str3)
#字符串截取
# str = ‘abcdefg‘
# print(str)
# print(str[1:5]) #含头不含尾
# print(str[-1]) #输出g 从最后开始输出
# print(str[2:]) #默认输出到最后
# print(str[:2])
# print(str[1:5:2]) #截取1到5 2是步长 隔一个拿取第二个
# print(str[1:5:1]) #等价于print(str[1:5]) 一个一个拿取
# print(str[::-1]) #反向输出
# print(str[5:2:-1])
#运算符
#+
# num1 = 10
# num2 = 3
# print(num1 + num2)
# print(num1 - num2)
# print(num1 * num2)
# print(num1 / num2)
# print(num1 % num2)
# print(num1 // num2) #返回商的整数部分,
# print(num1 ** num2) #幂 num1的num2次幂
‘‘‘
赋值运算
‘‘‘
# str = ‘a‘
# num = 1
# num += 1 #num = num + 1 先加
# print(num)
# num = 10
# num -= 1 #num = num - 1 先减
# num *= 2 #num = num * 2
# num /= 2 #num = num / 2
# num %= 2 #num = num % 2
# num **= 2 #num = num ** 2
# num //= 2 #num = num // 2
# print(num)
‘‘‘
比较运算
‘‘‘
# a = 10
# b = 5
# print(a == b)
# print(a != b)
# print(a > b)
# print(a < b)
# print(a >= b)
# print(a <= b)
‘‘‘
逻辑运算
‘‘‘
#and
# a = 10
# b = 5
# print(a > b and a < b) #两个条件为真,则为真,否则为假
# print(a > b or a < b) #两个条件有一个为真,则为真
# print(not a > b) #非
# str = ‘‘ #空的字符串返回 bool False
# str = [] #空的列表返回 bool False
# str = () #空的元组返回 bool False
# str = {} #空的字典返回 bool False
# str = 0 #0 返回 bool False
# print(bool(str))
‘‘‘
位运算
‘‘‘
a = 4
b = 2
‘‘‘
十进制:1,2,3,4,5,6,7,8,9,10,11
二进制:0000,0001,0010,0011,0100
0000 0100 表示4
0000 0010 2
$ 0000 0000 0 #对应位同时为1则为1 否则为0
| 0000 0110 6
‘‘‘
#按位与运算符 &
#参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
# print(a & b ) #0
#按位或运算符 |
#参与运算的两个值,只要对应的两个二进制有一个为1,则该位的结果为1
# print(a | b) #6
#按位异或运算符 ~
#参与运算的两个值,当对应的两个二进制相异时,则该位的结果为1
# print(a ^ b)
#按位取反运算符~
#对数据的每个二进制取反,即把1变为0,把0变为1
# print( ~ a ) # -4-1 -5 (取负数 再减1)
#左移运算符 <<
#运算数的各二进位全部左移若干位,由"<<"右边的数字决定移动的位数
#高位丢弃,低位补0
#右移运算符 >>
#把“ >>”左边的运算数的各二进位全部右移若干位,由">>"右边的数字决定移动的位数
标签:字符串 lex teacher 分享 集合 技术 输入 replace python
原文地址:https://www.cnblogs.com/lyywj170403/p/10301343.html