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':'',
'gen':'man'
}
print(dict1,type(dict1)) #输出内容:{'name': 'lcl', 'age': '18', 'gen': 'man'} <class 'dict'>
print(dict1['name']) #输出内容:lcl
#创建字典方式2 属性值不能加引号,否则报错
dict2 = dict(name='lcl2',age='')
print(dict2['name']) #输出内容:lcl2
#创建字典方式3
dict3 = dict([('name','lcl3'),('age',''),('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='')
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',''),('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',''),('gen','man')])
dict3.clear()
print(len(dict3)) #输出内容:0
#copy
dict3 = dict([('name','lcl3'),('age',''),('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',''),('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
#同样,也有反向校验 >=和>
Python基础语法一的更多相关文章
- 从零开始学 Web 之 ES6(三)ES6基础语法一
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Razor基础语法一
目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...
- PHP入门笔记--基础语法一
一.基本语法 php标记 <?php ?> php代码结束标记 三种注释 // /**/ # 二.类型 四种标量类型:boolean, integer, float, string 三种复 ...
- python 基础部分重点复习整理--从意识那天开始进阶--已结
pythonic 风格编码 入门python好博客 进阶大纲 有趣的灵魂 老齐的教程 老齐还整理了很多精华 听说 fluent python + pro python 这两本书还不错! 元组三种遍历, ...
- python 列表推导式 - python基础入门(16)
截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...
- Python基础之基础知识
目录 Python基础知识 Python 变量 Python 字符编码 Python 二进制 Python 十六进制 Python bytes Python 注释 Python 用户输入 Python ...
- python接口测试自动化之python基础语法
一.pycharm的使用和python基本语法 (一).pycharm的使用和python环境 1.python以及pycharm的安装 python 的版本选择:3.x 版本,不要安装2.x 版本, ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识理解
一.概述 看了一天的python基础语法,基本对python语法有了一个大概的了解(其实之前断断续续也看过python),学习网址:Python 基础教程.因为之前我学过C++,因此在学习python ...
随机推荐
- Beta冲刺 —— 5.29
这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展示了每个人当天的成果. ...
- 批量执行app自动化测试思路设计图
- 数据的存储结构浅析LSM-Tree和B-tree
目录 顺序存储与哈希索引 SSTable和LSM tree B-Tree 存储结构的比对 小结 本篇主要讨论的是不同存储结构(主要是LSM-tree和B-tree),它们应对的不同场景,所采用的底层存 ...
- 遇到Error:Execution failed for task ':app:transformClassesWithDexForDebug'的解决方案
原因:项目中包含了所有的google play service 解决:只需要使用必要的服务即可 将compile 'com.google.android.gms:play-services:8.1.0 ...
- 制作sentinel docker镜像
在sentinel官方下载jar包即可运行,但是在部署的时候一个一个的启动jar包很不方便,制作成镜像方便部署和管理. 1)直接运行 # 修改端口号,默认是8080 java -jar sentine ...
- mysql导入超大sql文件
mysql导入超大sql文件 在网上找了个2017年行政区划的sql文件,需要导入到本地mysql库中,同事使用navicat导入的时候直接卡死了,该SQL文件差不多112MB大小.通过百度.goog ...
- MYSQL 实现ROWNO功能
select tt.rowno from( select (@rownum:=@rownum+1) as rowno, t.id from news t ,(select (@rownum : ...
- Centos 各个版本的下载源
China Alibaba Cloud Computing http://mirrors.aliyun.com/centos/ China Beijing Institute of Technolog ...
- 50道Java集合经典面试题(收藏版)
前言 来了来了,50道Java集合面试题也来啦~ 已经上传github: https://github.com/whx123/JavaHome 1. Arraylist与LinkedList区别 可以 ...
- 解决:gradle 前言中不允许有内容
将Android Studio 升级到4.0然后创建一个新项目,编译出现“ gradle 前言中不允许有内容” 的错误,在网上找了很多资料,众说纷纭,但都没有解决我的问题,最后反复摸索把问题解决了. ...