Python基础语法一

  所有内容都在代码上,有相关代码注释

# #代表注释
# 区分大小写、以回车换行结束
# 多行编写可以使用反斜杠 \
# 缩进代表一个代码块

#数值
#int类型可以使用下划线分割
c=123_456_789
print(c)  #输出内容:123456789
#二进制以0b开头
b=0b1001
print(b)  #输出内容:9(控制台输出都为十进制)
#16进制以0x开头
a=0x1a1
print(a)  #输出内容:417

#字符串
#可以是单引号、可以是双引号
d='测试'
print(d)    #输出内容:测试
d="测试2"
print(d)    #输出内容:测试2
#银行嵌套
d="小明说:‘测试2’"
print(d)     #输出内容:小明说:‘测试2’
#多行字符串,不保留格式,由于引号不能跨行使用,如果使用,需要使用反斜杠
d='小明\
小白'
print(d)  #输出内容:小明小白
#多行字符串,保留格式(使用三引号)
d='''小明
小白'''
print(d)  #输出内容小明:小白,其中小明小白中间换行
#转义字符
# \'   表示 '
# \"   表示 "
# \t   表示 制表符(等同于Tab键)
# \n   表示换行
# \\   表示 \
d="小明说:\'测试\'第三次\n可以\t结束\\"
print(d)  #输出内容:分为两行,第一行(小明说:'测试'第三次),第二行(可以    结束\)

#字符串拼接(四种方式:拼串方式、传参方式、占位符方式、格式化字符串方式)
#1、拼串方式
print("hello"+"word")     #输出内容:helloword
#python中字符串不能与非字符串拼接,例如:print("hello"+100) 会报错
#2、使用多传参方式
print("d",100)    #输出内容:d 100
#3、使用占位符%s
#占位符:%s(字符串占位符) %f(浮点数占位符) %d(整数占位符)
#    %s(字符串占位符,%s要写在原字符串内部)
print("d%s"%200)    #输出内容:d200
#多个占位符(多个值需要用括号)
print("d%s%s"%(200,'测试'))    #输出内容:d200测试
#指定字符串长度(s前的数字为几,即拼接多少字符串,如果不够,前面用空格补充,如果超出,正常输出)
print("d%5s"%200)    #输出内容:d  200
print("d%3s"%1234)    #输出内容:d1234
#强制控制长度(s前的数字为小数,即最小几位最大几位,如果不够,前面用空格补充,如果超出,将从前截取最大位数输出)
print("d%3.5s"%12)    #输出内容:d 12
print("d%3.5s"%123456)    #输出内容:d12345
#    %f(浮点数占位符) 如果不够,后面补0,不过超出,四舍五入取指定位数
print("%.2f"%123.4)   #输出内容:123.40
print("%.2f"%123.456)    #输出内容:123.46
#    %d(整数占位符) 直接输出整数位(向下取整)
print("%.2d"%123.4)   #输出内容:123
#4、格式化字符串
    #字符串添加f(大小写都可以)创建格式化字符串
a = 'hello'
b = 'word'
c = f'c:测试:{a}-{b}'
print(c)    #输出内容:     c:测试:hello-word

#字符串复制(使用*)
a="abc"
b=5
print(a*b)    #输出内容:     abcabcabcabcabc

#布尔值(首字母大写)
a = True
b = False
print(a,b)    #输出内容:     True False

# None(首字母大写)
a = None
print(a)    #输出内容:     None

#类型校验:type函数
print(type(10))        #输出内容:     <class 'int'>
print(type(1.01))    #输出内容:     <class 'float'>
print(type("a"))    #输出内容:     <class 'str'>
print(type(True))    #输出内容:     <class 'bool'>
print(type(None))    #输出内容:     <class 'NoneType'>

#类型转换 int() float() str() bool()
a = True;
print(int(a))    #输出内容:    1
a = 11.11
print(int(a))    #输出内容:    11

#算数运算
print(10/3)    #输出内容:    3.3333333333333335
print(10//3)    # //  整除 输出内容:    3
print(10**5)    # **  次方 输出内容:    100000
print(10000**0.5)    # **  平方根 输出内容:    100

#判断  判断后面跟冒号
a = 10
if a>5 and a<20:
    print('aaa')
elif a>=20:
    print('bbb')
else:
    print('ccc')

#while break continue
a=1
while a<=100:
    a=a+1
    if a<50:
        continue;
    print(a)
    if a == 70:
        break
    

#input函数
  #如果是第一次使用sublime,则会出现按回车后没有执行的问题,需要安装SublimeREPL
  #可按照https://blog.csdn.net/Koevas/article/details/86098849进行设置安装即可
  #测试时可放开,为了运行流畅,暂时注释掉
#a = input("请输入:")
#print("您输入的是%s"%a)
#print("d%s"%200)    #输出内容:d200
#print('123')

#列表
list1 = ["a","b","c","d","e","f"]
print(type(list1))
print(list1)
#列表索引
print(list1[2])
#负数意思为倒叙取数
print(list1[-1])
#索引范围 左包右不包(左边包括索引位置值,右边不包括索引位置值)
print(list1[2:5])   #输出内容:['c', 'd', 'e']
#步长取数 最后一个参数为步长
print(list1[0:7:2])   #输出内容:['a', 'c', 'e']
#in / not in
print("a" in list1)      #输出内容:True
print("k" in list1)      #输出内容:False
#len()、min()、max()
list1 = [1,2,3,4,7,8,9,3,0,8,9,3,6]
print(min(list1))      #输出内容:0
print(max(list1))      #输出内容:9
print(len(list1))      #输出内容:13
#获取索引位置 第一个参数为元素,第二个参数为起始位置
print(list1.index(3))      #输出内容:2
print(list1.index(3,4))      #输出内容:7
#count() 统计指定元素出现次数
print(list1.count(8))      #输出内容:2
#列表替换值
list1 = ["a","b","c","d"]
list1[0] = "b"
print(list1)      #输出内容:['b', 'b', 'c', 'd']
#区间替换  区间替换最好保持N对N,即区间有几个就赋值几个
    #如果赋值多于区间数,替换后剩余的会拼接在替换的字符串后
    #如果赋值小于区间去,则会按顺序替换,多余的待替换数据将被删除
list1 = ["a","b","c","d"]
list1[0:2] = ["aaa","bbb","ccc"]
print(list1)      #输出内容:['aaa', 'bbb', 'ccc', 'c', 'd']
list1 = ["a","b","c","d"]
list1[0:2] = ["aaa"]
print(list1)      #输出内容:['aaa', 'c', 'd']
#删除元素del
list1 = ["a","b","c","d"]
del list1[3]
print(list1)      #输出内容:['b', 'b', 'c']
#区间删除
list1 = ["a","b","c","d"]
del list1[0:2]
print(list1)      #输出内容:['c', 'd']
#步频删除
list1 = ["a","b","c","d","e","f","g","h"]
del list1[::2]
print(list1)      #输出内容:['b', 'd', 'f', 'h']
#添加append()函数   
list1 = ['a','b']
list1.append("c")
print(list1)      #输出内容:['a', 'b', 'c']
#insert()函数   指定位置插入元素,其余元素后移
list1.insert(2,"e")
print(list1)      #输出内容:['a', 'b', 'e', 'c']
#extend()函数  将集合添加到原有集合后面
list1.extend(["f","g"])
print(list1)      #输出内容:['a', 'b', 'e', 'c', 'f', 'g']
#clear()函数 清空集合
list1.clear()
print(list1)      #输出内容:[]
#pop()函数   根据索引删除,返回内容为被删除的元素
list1 = ["a","b","c","d","e","f","g","h"]
print(list1.pop(3))      #输出内容:d
#remove()函数  根据元素内容删除,如果有多个,删除第一个
list1 = ['a','a','b','b','c']
list1.remove('b')
print(list1)      #输出内容:['a', 'a', 'b', 'c']
#reverse()
list1.reverse()
print(list1)      #输出内容:['c', 'b', 'a', 'a']
#sort()排序函数
list1 = list('kashf')
list1.sort()
print(list1)      #输出内容:['a', 'f', 'h', 'k', 's']
#降序排列
list1.sort(reverse=True)
print(list1)      #输出内容:['s', 'k', 'h', 'f', 'a']
#遍历
list1 = list('kashf')
for s in list1:
    print(s)


#range()函数  三个参数分别为:起始位置,结束为止,步频;如果只有一个参数,默认为结束位置
r = range(5)
print(list(r))      #输出内容:[0, 1, 2, 3, 4]
r = range(0,10,2)
print(list(r))      #输出内容:[0, 2, 4, 6, 8]
r = range(10,0,-3)
print(list(r))      #输出内容:[10, 7, 4, 1]

#元组
my_tuple = 10,20,30,40
print(my_tuple , type(my_tuple))
#元组解包,一对一解包,也可以在变量前加*做解包,一次解包只能使用一个*
a,b,c,d = my_tuple
print("a=",a)
print("b=",b)
print("c=",c)
print("d=",d)
a,*b,c = my_tuple      #输出内容:b= [20, 30]
print("a=",a)
print("b=",b)
print("c=",c)

#对比  ==对比的是值 is对比的是物理地址
a = [1,2,3]
b = [1,2,3]      
print(a==b)      #输出内容:True
print(a is b)      #输出内容:False
b = a
print(a==b)      #输出内容:True
print(a is b)      #输出内容:True

#字典 类似于java中的map
#创建字典方式1
dict1 = {
    'name':'lcl',
    'age':'18',
    'gen':'man'
}
print(dict1,type(dict1))      #输出内容:{'name': 'lcl', 'age': '18', 'gen': 'man'} <class 'dict'>
print(dict1['name'])      #输出内容:lcl
#创建字典方式2  属性值不能加引号,否则报错
dict2 = dict(name='lcl2',age='18')
print(dict2['name'])      #输出内容:lcl2
#创建字典方式3
dict3 = dict([('name','lcl3'),('age','19'),('gen','man')])
print(dict3['name'])      #输出内容:lcl3
#获取键值对个数len()
print(len(dict3))      #输出内容:3
#判断字典中是否存在某个键 in / not in
print('name' in dict3)      #输出内容:True
print('name' not in dict3)      #输出内容:False
print('kk' in dict3)      #输出内容:False
print('kk' not in dict3)      #输出内容:True
#如果不存在key,增加默认值返回
print(dict3.get('name', '不存在'))      #输出内容:lcl3
print(dict3.get('kk', '不存在'))      #输出内容:不存在
#替换
dict3['name'] = 'lclNew'
print(dict3.get('name', '不存在'))      #输出内容:lclNew
#setdefault 新增键值对
    #如果原key不存在,则新增成功,返回新增的value;
    #如果原key存在,新增失败,返回原有的value
print(dict3.setdefault('name','lcl'))
print(dict3.setdefault('add','beijing'))
print(len(dict3))      #输出内容:4
#update 两个字典拼接
dirc1 = dict(name='lcl1',age='18')
dirc2 = dict([('gen','man'),('add','beijing')])
dirc1.update(dirc2)
print(len(dirc1))      #输出内容:4
print(len(dirc2))      #输出内容:2
print(dirc1['add'])      #输出内容:beijing
#删除键值对 del
del dirc1['name']
print(len(dirc1))      #输出内容:3
print(dirc1.get('name','已删除'))      #输出内容:已删除
#popitem  随机删除一个键值对(一般是最后一个),返回值为删除的键值对
dict3 = dict([('name','lcl3'),('age','19'),('gen','man')])
print(dict3.popitem())      #输出内容:('gen', 'man')
print(len(dict3))      #输出内容:2
print(dict3.get('gen','已被随机删除'))      #输出内容:已被随机删除
#pop 根据key删除键值对,返回value
print(dict3.pop('name'))      #输出内容:lcl3
print(dict3.get('name','已被使用pop删除'))      #输出内容:已被使用pop删除
#清空字典
dict3 = dict([('name','lcl3'),('age','19'),('gen','man')])
dict3.clear()
print(len(dict3))      #输出内容:0
#copy
dict3 = dict([('name','lcl3'),('age','19'),('gen','man')])
dict4 = dict3.copy()
print(dict4['name'])      #输出内容:lcl3
print(dict3 == dict4)      #输出内容:True
print(dict3 is dict4)      #输出内容:False
#字典遍历
#方式一
for key in dict3:
    print(key,"=",dict3[key])
#方式二
for key in dict3.keys():
    print(key,"=",dict3[key])
#方式三
for key,value in dict3.items():
    print(key,"=",value)

#set集合
set1 = {1,2,3,4,5}
print(set1)      #输出内容:{1, 2, 3, 4, 5}
set1 = set([1,2,4,6,8])
print(set1)      #输出内容:{1, 2, 4, 6, 8}
set1 = set('hello')
print(set1)      #输出内容:{'h', 'o', 'l', 'e'}
#如果将字典转为set集合,则只转key
dict3 = dict([('name','lcl3'),('age','19'),('gen','man')])
set1 = set(dict3)
print(set1)      #输出内容:{'age', 'gen', 'name'}
#添加元素使用add()、两个set集合拼接使用update()、删除指定元素使用remove()
#浅复制使用copy()、清空集合使用clear()
#集合运算
set1 = {1,2,3,4}
set2 = {3,4,5,6}
#交集 &
print(set1 & set2)      #输出内容:{3, 4}
#并集 |
print(set1 | set2)      #输出内容:{1, 2, 3, 4, 5, 6}
#异或集 ^  (只在一个集合中出现,交集的反向集合)
print(set1 ^ set2)      #输出内容:{1, 2, 5, 6}
# <=  校验是否为子集
print({1,2,3} <= {1,2,3,4})      #输出内容:True
print({1,2,3} <= {1,2,4})      #输出内容:False
# < 校验是否为真子集
print({1,2,3} < {1,2,3,4})      #输出内容:True
print({1,2,3} < {1,2,3})      #输出内容:False
#同样,也有反向校验  >=和>

 

posted @ 2019-11-12 18:14  李聪龙  阅读(292)  评论(0编辑  收藏  举报