Python的集成开发环境(IDE):pycharm
数据类型
数字
整数int(integer)
浮点数float
布尔型,只有两个值
真:True
假:False
字符串
列表
元组
字典
一、字符串
1.字符串的输出
(1)单引号、双引号、三引号
它们的作用主要是为了区分。
msg1 = "let's go" #双引号包含单引号
msg2 = 'it is a "dog"' #单引号包含双引号
msg3 = '''it's a "dog"''' #三引号包含单引号和双引号
print(msg1)
print(msg2)
print(msg3)
(2)利用三引号进行多行字符串的输出:
msg = '''hello1
hello2
hello3'''
print(msg)
输出结果:
hello1
hello2
hello3
(3)字符串的格式化输出 %s
按照下面的格式输出信息
格式:
1 ---------------info of yangxl-------------
name:yangxl
age:26
job:IT
salary:500
--------------------end-------------------- 实现:
name = input('请输入您的名字:')
age = int(input('请输入您的年龄:'))
job = input('请输入您的工作:')
salary = float(input('请输入您的收入:'))
msg = '''
---------------info of %s-------------
name:%s
age:%s
job:%s
salary:%s
--------------------end--------------------
''' %(name,name,age,job,salary)
print(msg) 执行:
请输入您的名字:羊小羚
请输入您的年龄:26
请输入您的工作:IT
请输入您的收入:500.50 输出:
---------------info of 羊小羚-------------
name:羊小羚
age:26
job:IT
salary:500.5
--------------------end--------------------
另外还有%d,digit的格式化输出,
%f,float的格式化输出。
(4)字符串操作
字符串的重复输出:*号
str = 'hello world!\n'
print(str*5)
通过索引和切片对字符串进行操作
str = 'hello world'
print(str[5])
print(str[3:])
成员函数in,判断指定字符是否在字符串中
str = 'helloworld'
print('low' in str)
print('c' in str)
字符串拼接:join,不要用“+”
a = '河北'
b ='邢台'
c = a + b #用加号做字符串拼接,效率比较低,每一次拼接都会在内存中开辟一块空间。
d = ' '.join([a,b]) #join中可以使用任何字符当做分隔符。
e = ' '.join([a,b])
print(c,d,e)
字符串的操作方法A-Z:
str = 'hello world'
print(str.count('l')) #统计字符串中指定字符串出现的次数
print(str.capitalize()) #字符串的首字母大写
print(str.center(30,'*')) #接收两个参数,使用给定字符(强调:只能是一个字符,一个)填充到给定个数并居中
print(str.ljust(30,'*')) #左侧
print(str.rjust(30,'*')) #右侧
print(str.endswith('ld')) #判断字符串是否以指定字符串结尾,True or False
print(str.endswith('orl',3,-1)) #endswith中也可以给定被判断字符串的开头和结束位置 str2 = 'hell\to wo\trld'
print(str2.expandtabs(tabsize=10)) #设置字符串中的一个制表位\t扩展为多少个空格 print(str.find('l')) #返回给定字符串在整个字符串中第一次出现的位置
print(str.find('de')) #如果给定字符串不存在则返回-1
print(str.index('or')) #返回给定字符的索引
print(str.index('oro')) #如果给定字符不存在,就会报错,这是index(error)和find(-1)方法的区别 #这三个不常用
str2 = '0.35'
print(str2.isalnum()) #字母、整数、汉字都为True,有特殊字符为False
str2 = 'sdlhfg天啊'
print(str2.isalpha()) #字母、汉字都为True,整数、特殊字符为False
str2 = ''
print(str2.isdecimal()) #只有十进制整数时为Ture
#这个常用
str2 = ''
print(str2.isdigit()) #是否是数值(整数) str2 = '_-df34'
print(str2.isidentifier()) #判断是否是标识符,字母、数字、下划线而且不以数字开头,不含空格等特殊字符,不含中文 str2 = 'sf-j_l$爱s23'
print(str2.islower()) #下划线、特殊字符、汉字都可以,就是不能有大写字符
str2 = 'R搬e $#砖'
print(str2.isupper()) #只有不是小写字母就为Ture
str2 = 'YANG XIAOLING'
print(str2.istitle()) #只有首字母大写才为True isprintable和isspace相反
str2 = '#sf-j \t_l$爱s23#'
print(str2.isprintable()) #是否可打印的,只要不含有空格,\n \t这样看不到的格式
str2 = '\t \t backspace'
print(str2.isspace()) #是否是空,空格,\n \t都为True str2 = ' \t s dsf '
print(str2.strip()) #去掉两边空格和制表位
print(str2.lstrip()) #左边
print(str2.rstrip()) #右边 print(str.replace('l','lm',2)) #替换原有字符串
print(str.replace('le','lm')) #没有的话就打印原字符串 print(str.rfind('l')) #从右边开始计数(前一个,前两个...),但索引仍是从左边开始算起
print(str.rindex('l')) #不多说了 str2 = 'the title high light'
print(str.rsplit('l')) #从右边开始切片为***列表***,count;相应地列表合并为字符串要用join
print(str2.split('i',2)) #默认是空格,count表示分几次
print(str2.splitlines()) print(str.swapcase()) #大小写变换
print(str.zfill(40)) #向左填充指定位
二、列表
1.通过列表和索引操作列表(略)
2.列表操作:A-Z
list = [1,2,3,5,7,6,9,4,3] list.append(4) #附加元素
print(list) print(list.count(3)) list.clear() #清空,输出一个空列表
print(list) li = list.copy()
print(li,list)
print(id(li),id(list)) #和直接赋值的区别在于开辟一块内存再储存一份,因此它们的内存地址不同 list2 = ['yangxl','xiaoming','dingcq']
list.extend(list2)
print(list,list2) #被扩展的list改变,用以扩展的list2不变 print(list.index(3)) #元素首次出现的索引 list.insert(3,'python') #在指定位置插入元素
print(list) list.pop(3) #如果不指定索引,默认删除最后一个元素
print(list) list.remove(3) #删除第一个值为3的元素,而不是索引为3的元素
print(list) list.reverse()
print(list) list.sort(reverse=True) #貌似好像只能是数值型才能排序,顺序/逆序
print(list)
三、元组
元组是不可变类型,只能进行查操作,不能进行增删改。
tu = (12,34,'羊小羚','rmb','%&','hello world')
tu.count()
tu.index()
四、字典
1.字典是Python中唯一的映射类型,采用键值对(key-value)的形式存储。Python对key进行哈希运算,根据运算结果决定value的存储地址,所以字典是无序存储的,而且key必须可哈希。可哈希表示key必须是不可变类型,比如,数字、字符串、元组。字典的两大特点:无序,键唯一。
2.创建字典的方法:
dict1 = {'name':'羊小羚','age':18,'sex':'male'} #这是最常用的方法
print(dict1)
3.当字典中存在相同key时,前面的将会被后面的覆盖
dict3 = {'name':'alex','age':36,'age':'liu','sex':'male'}
print(dict3['age'])
print(dict3) #字典没有顺序
4.字典操作方法:A-Z
dict1 = {'name':'yangxl','sex':'male','age':36} dict1['age'] = 18
dict2 = dict1.copy() #1.和直接赋值的区别在于开辟一块内存再储存一份,因此它们的内存不同
print(dict1,dict2)
print(id(dict1),id(dict2)) dict1.clear() #2.清空,变成一个空字典
print(dict1) dict2 = dict.fromkeys(['mon','tus','wen','thi','fri','sat'],'sun') #3.映射,多对一创建;字典特有的方法。
print(dict2) dict2 = dict1.get('sex') #4.查询key对应的value,或者是否存在这个key-value;字典特有的方法。
print(dict2) print(dict1.items()) #5.dict_items([('sex', 'male'), ('name', 'alex')])
print(type(dict1.items())) #<class 'dict_items'>
print(dict1.keys()) #6.打印出字典的关键字
print(type(dict1.keys())) #<class 'dict_keys'>
print(dict1.values()) #7.dict_values(['male', 27, 'alex'])
print(type(dict1.values())) #<class 'dict_values'> print(dict1.popitem()) #8.删除键值对并返回剩余内容 print(dict1.pop('sex')) #9.删除键并返回值 dict1.setdefault('age',28) #10.如果age存在就保留默认值,否则添加一个键值对
print(dict1) print(dict1)
dict2 = {'hobby':'ead'}
dict1.update(dict2) #11.更新dict1,dict2不受影响
print(dict1,dict2)