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] 为输入的提示字符.该函数返 ...
随机推荐
- phpstorm使用zen coding 快速编辑补全html/css代码
百科定义: 使用仿CSS选择器的语法来快速开发HTML和CSS ——由Sergey Chikuyonok开发. Zen Coding由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上 ...
- hint不当索引,影响多表连接方式,最终导致SQL执行缓慢
需求:一个SQL执行特别慢,无法返回结果,需要进行优化,最终返回结果即可. 一.SQL分析 二.尝试执行,观测执行计划 三.修改SQL 四.问题总结 一.SQL分析 )SQL文本,执行时间,执行用户 ...
- tflearn weights获取与存储
参考: http://tflearn.org/examples/
- pandas-cheat-sheet
- 【算法】QuickSort
快速排序,时间复杂度O(N*logN),要能熟练掌握! 以下主要参考http://blog.csdn.net/morewindows/article/details/6684558, 感谢原博主! 该 ...
- HBase使用压缩存储(snappy)
在将mysql数据导入到hbase数据的过程中,发现hbase的数据容量增加很快, 原本在mysql存储30G容量的数据导入到hbase一直增加到快150G(还未完全导入,手动结束), 而采用默认3个 ...
- ps使用图层合并切图
1.新建图层 2.合并要切的图的图层和新建的空白图层 3用正方形工具圈出来要切得图 4.ctrl+c复制,ctrl+n新建,ctrl+v复制过去 5,切图
- 陕西师范第七届K题----动态规划
ps: 自己的方法绝对是弱爆了 肯定存在更优的方法 O(n^3)复杂度 暴力求解的.. 链接:https://www.nowcoder.com/acm/contest/121/K来源:牛客网 柯怡最近 ...
- mybatis下的分页,支持所有的数据库
大家都知道,mybatis的自带分页方法只是逻辑分 页,如果数据量很大,内存一定会溢出,不知道为什么开源组织不在里面集成hibernate的物理分页处理方法!在不修改mybatis源代码的情况下, 应 ...
- HTTP/2及HTTP/3特性
HTTP/2及HTTP/3特性 摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性 ...