Python 基础语法
1.几个概念
表达式:表达式就是一个类似于数学公式的东西
表达式不会对我们的程序造成实质性的影响,仅仅是用来计算一些结果
Pycharm 中打开交互模式
点击下图标记 Python Console (Python 控制台即Python交互模式;Terminal叫做终端,即命令行模式)
语句: 在程序中一般用语句完成某种功能
print() input():接受来自外界的输入
代码块:执行的话,都会执行,不执行的话,一个也不会执行
程序:由一条一条的语句和一条一条的表达式构成的
通俗讲生活中找相关部分走程序办理事情,按代码语句规则一步一步执行的组成就是一个程序。
函数: 函数就是一个语句,函数是为了完成特定的功能
2.标识符
python语言的组成
关键字、标识符、注释、变量和数值、运算符、语句、函数、序列、类
关键字:具有一些特殊功能的标识符(我们自己不能使用)
import keyword
import keyword
#获取系统环境中的内置关键字
print(keyword.kwlist)
显示如下:
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’,‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’,‘is’,‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
标识符:开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
命名方法:
驼峰命名法:小驼峰myClass 大驼峰:MyClass
下划线命名法: get_url
3.基本数据类型
整数(int): 1-100 超过最大值:出现内存溢出的现象
小数(float)(浮点型):1.2
布尔值和空值
布尔值只有两个值:True,False 逻辑判断
True 其实也相当于一个整形 1
False相当于0
None 就是空值,表示不存在
None 和 Null 的区别
区别一:None 和 Null 是不同的数据类型
print(type(None)) None值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。可以将None赋值给任何变量,也可以给None值变量赋值
print(type(’ ')) Null是字符串类型
相同点:判断的时候均是False
区别二:None 和 Null 的属性不同
4.变量
就是计算机内存中的一块区域,变量给数据起了个名字
内存 (id 地址 、 type 类型 、value 值)
a= 5 b = 5
id(a) 输出 8791494285088
id(b) 输出 8791494285088
如果这时候b的变量等于a或者 b = 5 同时指向同一个 id 地址id一样,在交互环境中分配内存空间中数字过大了id地址可能需要重新分配 借用外面的内存
aa = 100000 bb = 100000
id (aa) 输出 52420784
id (bb) 输出 52423760
在Pycharm 编译环境中内存空间足够大的时候 输出 id 值结果回一模一样
a = 1232321321321321312312312342211999999
b = 1232321321321321312312312342211999999
print (id(a), id(b)) 输出: 36420992 36420992
内存中 列表的时候 id 地址就不一样了
ass = [1,2,3,4,5]
bss = [1,2,3,4,5]
print (id(ass),id(bss)) 输出:34531968 34560960
# 连个对象ass is bss 等于 True 时候比较是id地址
两个对象 a == b 等于 True 比较的是Value值
除法运算中,不管是否涉及到浮点型,那么结果都是浮点型
5.字符串
字符串是由数字、字母、下划线组成的一串字符
用一对单引号或者一对双引号包裹的内容就是字符串(str) 单引号或者双引号不能同时混合使用
\表示后面紧跟着的这个字符就是本身字符的意思,不做其他使用
\t 表示四个空格的位置,一个tab的位置 称呼他为制表符
\n表示换行符
\\表示\后面的反斜杠就是本身字符的意思
r’'表示是原始字符串,表示引号中的内容没有其他意思,就是字符本身
6.字符串(长字符串)
长字符串 叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
三重引号可以换行,并且会保留字符串中的格式
“”" “”" 也可以拿来做注释用 ###
7.格式化字符串
第一种格式化字符串 拼串
第二种格式化字符串 参数传递
第三种格式化字符串 占位符:%s 字符串占位 可以多个参数传递, 用到n个占位符就得传递n个参数
%f 浮点数占位 %d 整数占位
第四种格式化字符串 f’{变量}’/ str.format
8.字符串的其他操作(常用的函数方法)
len() 字符串的长度
max() 最大值
min() 最小值
split()分割字符串 按指定字符分割之后返回一个列表partition() 也是一个分割字符串 分割出来的是一个元组
join()拼接字符串
s.strip() 左右两边去空格 s.lstrip() 去左边空格 s.rstrip() 去右边空格
s.upper() 全部大写 s.isupper() 判断是不是大写
s.lower() 全部小写 s.islower() 判断是不是小写
replace()替换字符串
find() 字符串中查找指定字符在字符串出现的第一次位置,返回的是在字符串中的索引值从0开始
假如使用 find() 查找不到时候返回 -1
假如使用index () 查找找不到会报错 substring not found
9.扩展字符串切片
切片 取头不取尾 左闭右开区间取值 例如取下面的值
9.练习
第一题 a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
第二题 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入 打印出字符串长度 使用切片逆序打印出字符串
第三题要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
用户名长度6-20,用户名必须以字母开头
密码长度至少6位,不能为纯数字,不能有空格
str.isnumeric(): True if 只包含数字;otherwise False 注意:此函数只能用于unicode string
#str.isdigit(): True if 只包含数字;otherwise False。
#str.isalpha():True if 只包含字母;otherwise False。
str.isalnum():True if 只包含字母或者数字;otherwise False。