python基本知识点
1.基本数据类型
1.1int
字符串转换为数字,比如
a = “123”
print(type(a) , a)
b = int(a)
print(type(b),b)
num = “b”
v = int(num, base=16) #16进制
print(v)
age = 3
r=age.bit_length() #求二进制位数
print(r)
results:<class(str),123>, <class(int),123>, 11, 2
1.2.str,字符串转换
#1 首字母大写
test = "aLex"
v=test.capitalize() #将首字母转换成大写,其余小写
print(v) #result:Alex
test = "aLEX"
#2 所有变成小写
v1 = test.casefold() #result:alex 所有字母转换为小写(包括特殊字符)
v2 = test.lower() #result:alex 只能转换字母大小写(区别于casefold())
#3 设置宽度,并将内容居中
v3 = test.center(20,"*") #设置参数,并将内容居中,20代指总长度,“*”代指空白处用*填充
v3 = test.ljust(20,"*") #result:alex****************
v3 = test.rjust(20,"*") #result:***************alex
v3 = test.zfill(20) #result:0000000000000000alex
#4 去字符串中寻找,寻找子序列的出现
test = "aLexalexr"
v4 = test.count('e', 5) #result:1, 表示从字符串中寻找,字符在子序列中出现的次数,5表示从第5+1个字符开始,注意python首字符位置是0
#5 检测字符以什么为结尾,以什么为开始
v5 = test.endswith('ex') #result:False 表示检验字符串以什么字符结尾,匹配输出True,否则输出False
v5 = test.startswith('ex') #result:False 表示检验字符串以什么字符开始,匹配输出True,否则输出False
#6 expandtabs, 断句20空
图1 expandtabs代码实现
# 7 从开始往后找,找到第一个之后,获取其未知
v6 = test.find('ex') #result:2 从开始位置0,寻找到第一个同样字符后,输出位置
test1 = 'i am {name}, age {a}'
print(test1)
v7 = test1.format(name='alex', a=19)
print(v7) #result:i am {name}, age{a} i am alex, age 19 格式化,将大括号中的值替代
v8 = test.format_map({"name":'alex',"a":19}) #以字典方式寻找原字符串中name和a,并将其替换成alex和19,传入的值形式{“name”:'alex', 'a':19}
index 寻找功能与find(找不到显示-1)类似,但找不到报错
v9 = test.isalnum() #判断字符串中是否 只包含字母或数字
2.将字符串转化为数字
inp = "10"
new_inp = int(inp)
3.编码字节数
类型 字节数
unicode 2字节
utf-8 3字节
gbk 2字节
4.条件语句
基本if,else...
嵌套if,elif,elif,else...
5.while循环
5.1while条件:
...
print('...')
5.2while else 当不满足while条件时,执行else内部代码
5.3continue break
continue:终止当前循环,开始下一次循环
break:终止所有循环,调出该循环
例:用户登录(三次机会重试)
count = 0
while count < 3:
user = input(">>>")
pwd = input(">>>")
if user == 'alex' and pwd == '123'
print('欢迎登录')
break
else:
print(‘用户名或密码错误’)
count = count + 1
6.运算符
6.1结果是值
算数运算 a = 10 * 10
赋值运算 a = a + 1
6.2结果是布尔值
比较运算 a = 1>5 False
逻辑运算 a = 1>6 or 1 == 1 True
成员运算 a ="蚊" in "郑建文"
7.运算python的两种途径:
7.1.python编译器
7.2.cmd命令行 如:F:\python\python.exe(7.2.1.py(文件名))
8.python常用字符串
8.1粗分类
# join # '_'.join("asdfasdf")
# split
# find
# strip
# upper
# lower
8.2细分类
8.2.1将指定字符串替换为指定字符串
v = test.replace("ex",'bbb',2) #2表示替换2个位置
test = "alexalexalex" v = test.replace("ex",'bbb') print(v) v = test.replace("ex",'bbb',2) print(v)result:albbbalbbbalbbbalbbbalbbbalex
8.2.2字母,数字,下划线 : 标识符
# a = "def" # v = a.isidentifier() # print(v)result:True
8.2.3大小写转换
test = "Alex" v = test.swapcase() print(v)result:aLEX
8.2.4以xxx开头,以xx结尾
# test = "backend 1.1.1.1" # v = test.startswith('a') # print(v) # s = test.endswith('a) 5 # print(s)result:False False
8.2.5分割,只能根据,true,false:是否保留换行
# test = "asdfadfasdf\nasdfasdf\nadfasdf" # v = test.splitlines(False) #True保留换行,见结果2 # print(v)result:['asdfadfasdf', 'asdfasdf', 'adfasdf'] ['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf']
8.2.6分割为三部分
test = 'asdfasfdfs'1 # v = test.split('s',2) # print(v) # test.rsplit()result:['a', 'dfa', 'fdfs']
8.2.7对应关系替换
# test = "aeiou" # test1 = "12345" # v = "asidufkasd;fiuadkf;adfkjalsdjf" # m = str.maketrans("aeiou", "12345") # new_v = v.translate(m) # print(new_v)result:1s3d5fk1sd;f351dkf;1dfkj1lsdjf
8.2.8移除字符串
# 移除指定字符串 # 有限最多匹配 # test = "xa" # # v = test.lstrip('xa') # v = test.rstrip('9lexxexa') # # v = test.strip('xa') # print(v) # test.lstrip() # test.rstrip() # test.strip() # 去除左右空白 # v = test.lstrip() # v = test.rstrip() # v = test.strip() # print(v) # print(test)
8.2.9判断和转换大小写
# test = "Alex" # v1 = test.islower() # v2 = test.lower() # print(v1, v2) # v1 = test.isupper() # v2 = test.upper() # print(v1,v2)
8.2.10将字符串中的每一个元素按照指定分隔符进行拼接(join命令)
# test = "你是风儿我是沙" # print(test) # v = "_".join(test) # print(v)
8.2.11判断是否是标题(每个单词首字母大写)
# test = "Return True if all cased characters in S are uppercase and there is" # v1 = test.istitle() # print(v1) # v2 = test.title() # print(v2) # v3 = v2.istitle() # print(v3)
8.2.12判断是否全部是空格
v = test.isspace()
8.2.13是否存在不可显示的字符
# \t 制表符 # \n 换行 # test = "oiuas\tdfkj" # v = test.isprintable() # print(v)
8.2.14当前输入是否是数字(3法)
test = "二" # 1,② v1 = test.isdecimal() #十进制 v2 = test.isdigit() #数字即可 v3 = test.isnumeric() #有数字即可,范围最广,包括1,②等
print(v1,v2,v3)
8.2.15是否是字母,汉字
# v = test.isalpha()
8.2.16字符串中是否只包含 字母和数字
# v = test.isalnum()
8.2.17格式化,传入的值 {"name": 'alex', "a": 19}
test = 'i am {name}, age {a}' v1 = test.format(name='df',a=10) v2 = test.format_map({"name": 'alex', "a": 19}) test = 'i am {name}, age {a}' v1 = test.format(name='yuyukun',a=25) v2 = test.format_map({"name":'yuyukun',"a":25}) print(v1,'\n',v2)
8.2.18格式化,将一个字符串中的占位符替换为指定的值
# test = 'i am {name}, age {a}' # print(test) # v = test.format(name='alex',a=19) # print(v) # test = 'i am {0}, age {1}' # print(test) # v = test.format('alex',19) # print(v)
8.2.19index找不到,报错
# test = "alexalex" # v = test.index('8') # print(v)
8.2.20v.find()
test = "alexalex" v = test.find('lex') print(v)resutl:2
8.2.21expandtabs,断句20(制作表格)
# test = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123" # v = test.expandtabs(20) # print(v)
8.2.22字符串以XXX结尾/开始
# v = test.endswith('ex') # v = test.startswith('ex')
8.2.23去字符串中寻找,寻找子序列的出现次数
# test = "aLexalexr" # v = test.count('ex') # print(v) # test = "aLexalexr" # v = test.count('ex',5,6) # print(v)result:2 0
8.2.24设置宽度,并将内容居中
# 20 代指总长度 # 空白未知填充,一个字符,可有可无 # v = test.center(20,"中") # print(v) # test = "alex" # v = test.ljust(20,"*") # print(v) # test = "alex" # v = test.rjust(20,"*") # print(v) # test = "alex" # v = test.zfill(20) # print(v)
8.2.25所有变小写,首字母大写
v = test.capitalize() v1 = test.casefold() v2 = test.lower()
9.常用输出工具
# len("asdf")
# for循环
# 索引
# 切片
10.字符串特性
字符串一旦创建不可修改, 一旦修改或者拼接,都会造成重新生成字符串
如:# name = "zhengjianwen"
# age = "18"
# info = name + age
# print(info)
原理如下:创建字符串等于开辟一块地址,修改字符串等于重新开辟一块新地址
图2 字符串补课修改原理
11.python基础练习(一)
11.1制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
test = '敬爱可亲的{name},最喜欢在{place}{doing_something}' print(test) v = test.format(name='yuyukun',place='法国',doing_something='游览') print(v)
11.2制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息; 否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
def check_code(): import random checkcode = '' for i in range(4): current = random.randrange(0,4) if current != i: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp) return checkcode code = check_code() print(code) i = 0 v = input("请输入验证码:") test = v.upper() while i < len(code): if test[i] == code[i]: i = i + 1 else: i = 0 print("验证码错误") v = input("请再次输入验证码:") test = v.upper() continue
11.3 开发敏感词语过滤程序, 提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
uncivilized_vocabulary = input("please input some words:") u_v = uncivilized_vocabulary if u_v == "东京热" or u_v == "苍老师": u_v1 = u_v.replace('东京热','***') else: u_v1 = u_v print(u_v1)
11.4 制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效) 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式显示
s = '' while 1: t = input("go on(g) or quit(q)\n") if t != 'q': name = input('') pwd = input('') email = input('') if len(name) > 20: name = name[0:20] if len(pwd) > 20: pwd = pwd[0:20] if len(email) > 20: email = email[0:20] if t == 'q': print(s.expandtabs(20), end='') break temp = "{0}\t{1}\t{2}\n" v = temp.format(name,pwd,email) s = s + v print(s.expandtabs(20),end='')
python基本知识点的更多相关文章
- python 类知识点总结
python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...
- python Django知识点总结
python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...
- python爬虫知识点详解
python爬虫知识点总结(一)库的安装 python爬虫知识点总结(二)爬虫的基本原理 python爬虫知识点总结(三)urllib库详解 python爬虫知识点总结(四)Requests库的基本使 ...
- [转载] Python数据类型知识点全解
[转载] Python数据类型知识点全解 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 Derek print(name.c ...
- 最全Python基础知识点梳理
本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾.python的详细语法介绍可以查看官方编程手册,也有一些在线网站可以学习 python语言 ...
- 小白到大神,Python 密集知识点汇总
Python 基础 1. 变量 你可以把变量想象成一个用来存储值的单词.我们看个例子. Python 中定义一个变量并为它赋值是很容易的.假如你想存储数字 1 到变量 "one" ...
- Python基础知识点
自学记录: 1.字符串 python中单引号和双引号使用完全相同. 使用三引号('''或""")可以指定一个多行字符串. 转义符 '\' 反斜杠可以用来转义,使用r可以让 ...
- python 作用域知识点整理
1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? 1 2 3 4 5 6 7 8 9 10 11 12 #块级作用域 if 1 == 1: name = "lzl ...
- python基本知识点if、while、等等
给予Python的相关知识点: 主要是对于基本语句的相关使用if else while for等先关的应用,以及步骤如下: 尝试编程如下:还有就是对于 import math import rando ...
- Python基础知识点整理(详细)
Python知识点整理(详细) 输出函数 print()可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容 输入函数 input([prompt])[prompt] 为输入的提示字符.该函数返 ...
随机推荐
- Tail Recusive
1.尾递归 double f(double guess){ if (isGoodEnough(guess)) return guess; else return f(improve(guess)); ...
- JavaScript Dom基础-9-Dom查找方法; 设置DOM元素的样式; innerHTML属性的应用; className属性的应用; DOM元素上添加删除获取属性;
JavaScript Dom基础 学习目标 1.掌握基本的Dom查找方法 domcument.getElementById() Domcument.getElementBy TagName() 2.掌 ...
- http协议与websocket协议(转)
一.WebSocket是HTML5中的协议,支持持久连接:而Http协议不支持持久连接. 首先HTMl5指的是一系列新的API,或者说新规范,新技术.WebSocket是HTML5中新协议.新API. ...
- JAXB性能优化
前言: 之前在查阅jaxb相关资料的同时, 也看到了一些关于性能优化的点. 主要集中于对象和xml互转的过程中, 确实有些实实在在需要注意的点. 这边浅谈jaxb性能优化的一个思路. 案列: 先来构造 ...
- ORB(oriented FAST and rotated BRIEF)特征提取与检测
ORB采取FAST算法检测特征点,采取BRIEF算法计算特征点描述子. 1.检测特征点 检测候选特征点周围一圈的像素值,若有足够多的像素值与候选特征点的差异都较大,则认为该候选特征点是特征点. 对于上 ...
- SQLI DUMB SERIES-3
less3 输入?id=1' 说明输入的id旁边加了单引号和括号('id'),直接在1后面加入“ ') ”,闭合前面的单引号和括号. 方法同less1相同. 例如:查询PHP版本和数据库名字 ?id= ...
- vue elementui 写的一个后台管理页面模板
https://github.com/PanJiaChen/vue-element-admin
- 软工实践第二次作业—Wordcount
Git仓库地址:https://github.com/cwabc/PersonProject-C 一.问题描述 输入一个txt文件名,以命令行参数传入,程序能够统计txt文件中的以下几个指标: 统计文 ...
- java-冒泡排序、选择排序、二分查找
1.冒泡排序 public void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { //外循环只需要比较a ...
- 一道dp[不太好写]
http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2281 Description An arithmetic progression ...