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基本知识点的更多相关文章

  1. python 类知识点总结

    python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...

  2. python Django知识点总结

    python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...

  3. python爬虫知识点详解

    python爬虫知识点总结(一)库的安装 python爬虫知识点总结(二)爬虫的基本原理 python爬虫知识点总结(三)urllib库详解 python爬虫知识点总结(四)Requests库的基本使 ...

  4. [转载] Python数据类型知识点全解

    [转载] Python数据类型知识点全解 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 Derek print(name.c ...

  5. 最全Python基础知识点梳理

    本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾.python的详细语法介绍可以查看官方编程手册,也有一些在线网站可以学习 python语言 ...

  6. 小白到大神,Python 密集知识点汇总

    Python 基础 1. 变量 你可以把变量想象成一个用来存储值的单词.我们看个例子. Python 中定义一个变量并为它赋值是很容易的.假如你想存储数字 1 到变量 "one" ...

  7. Python基础知识点

    自学记录: 1.字符串 python中单引号和双引号使用完全相同. 使用三引号('''或""")可以指定一个多行字符串. 转义符 '\' 反斜杠可以用来转义,使用r可以让 ...

  8. python 作用域知识点整理

    1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? 1 2 3 4 5 6 7 8 9 10 11 12 #块级作用域   if 1 == 1:     name = "lzl ...

  9. python基本知识点if、while、等等

    给予Python的相关知识点: 主要是对于基本语句的相关使用if else while for等先关的应用,以及步骤如下: 尝试编程如下:还有就是对于 import math import rando ...

  10. Python基础知识点整理(详细)

    Python知识点整理(详细) 输出函数 print()可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容 输入函数 input([prompt])[prompt] 为输入的提示字符.该函数返 ...

随机推荐

  1. c++ 类图

    https://baijiahao.baidu.com/s?id=1609647985519542865&wfr=spider&for=pc

  2. HDU - 5157 :Harry and magic string (回文树,求多少对不相交的回文串)

    Sample Input aca aaaa Sample Output 3 15 题意: 多组输入,每次给定字符串S(|S|<1e5),求多少对不相交的回文串. 思路:可以用回文树求出以每个位置 ...

  3. 2017.4.5 OpenStack简介

    OpenStack 管理的资源不是单机的而是一个分布的系统,把分布的计算.存储.网络.设备.资源组织起来,形成一个完整的云计算系统:OpenStack 也提供一个 UI,这里包括一个图形化的 UI:H ...

  4. hdu2389 Rain on your Parade 二分图匹配--HK算法

    You’re giving a party in the garden of your villa by the sea. The party is a huge success, and every ...

  5. python------模块定义、导入、优化 ------->random模块

    2.random模块 #随机浮点数 random.random()   #生成0到1之间的随机浮点数,不能自己指定 random.uniform(1,10)   #可以指定 #随机整数 random. ...

  6. Linux 命令的20个实用范例,入门必看!

    Tips: 达内Linux云计算免费课程火热抢报中,点击文末“阅读原文”快速抢! Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知 ...

  7. buckaroo 试用

    我系统是mac 所以选择的是mac 的版本,官方是支持跨平台的. 安装 mac 版本安装 wget https://github.com/LoopPerfect/buckaroo/releases/d ...

  8. Gravitational Teleport docker-compose组件独立部署运行

    Gravitational Teleport 可以作为堡垒机进行使用,上次写过一个all in one 的,这次参考官方 的配置运行一个proxy node auth 分离的应用 备注: 基于dock ...

  9. 使用uflare/smtp2http 将smtp 转转化为http 请求

    uflare/smtp2http 是一个很不错的工具,我们使用这个工具,可以快速的将smtp 服务转换为http 服务 用途实际上挺多的 devops 系统 需要使用smtp的系统(测试) 基于smt ...

  10. C# 自动升级

    自动更新的软件的目的在于让客户不在为了寻找最新软件花费时间.也不用去到开发商的网站上查找.客户端的软件自动会在程序启动前查找服务器上最新的版本.和自己当前软件的版本比较,如果服务器的是最新版本.客户端 ...