文章目录
- 一、几个基本概念
- 二、标识符
- 1、关键字
- 2、标识符概念
- 3. 基本数据类型
- 3.1整数和小数
- 3.2 布尔
- 3.3 变量
- 3.4 字符串
一、几个基本概念
1、表达式
- 表达式 :就是类似数学公式的东西,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
- 表达式特点
- 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
1+2
print("Hello world!")
2*9
- 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
2、语句
- 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
- 语句的执的一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
- 在程序中一般用语句来完成某种功能,print(“hello world!”) for i in range(10): print (i)
- 代码块 :在同一代码块中的语句,要么执行都执行,要么不执行都不执行
- pass语句:空语句,为保持程序完整性,不做任何事情只占位
3、程序
- 程序就是由一 条一条的语句和一条一条的表达式构成的。
- 表达式和语句是构成程序的最小基本单位
- 编写程序就是编写一条条语句和一条条表达式
4、函数
- 函数就是一种语句,函数专门用来完成特定的功能
- 函数的调用形式:函数名(参数列表)
- 函数的分类:
- 内置函数(内建函数):就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不用单独书写代码实现它,只需要调用既可。
- 自定义函数 : 由程序员自主的创建的函数,当我们需要完成某个功能时,就可以去调用 内置函数,或者自定义函数
- python内置函数: https://docs.python.org/3/library/functions.html
- 函数的2个要素
- 参数 :可以有一个也可以有多,多个参数要用“ , ”隔开,也可以不要参数,分实参和形参
- 返回值:并不是所有函数都有返回值
二、标识符
python语句的组成: 关键字、标识符、注释、变量和数值、运算符、语句、函数、序列
1、关键字
- python中一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,所以不允许开发者自已定义和关键字相同的名字的标识符
2、标识符概念
-
开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名、函数名等
-
组成:由26个英文字母大小写,数字 0-9 符号 _$
-
标识符的规则:
- 1.标识符中可以包含字母、数字、_,但是不能使用数字开头,例如:
wxm wxm_1 _wxm1 1wxm(不行) - 2.Python中不能使用关键字和保留字来作为标识符
- 1.标识符中可以包含字母、数字、_,但是不能使用数字开头,例如:
-
命名方式:
-
驼峰命名法
- 小驼峰式命名法: 第一个单词以小写字母开始;第二 个单词的首字母大写,例如:myName、aDog
- 大驼峰式命名法: 每一个单词的首字母都采用大写字母,例如:FirstName、LastName
- 下划线命名法
- 不过在程序员中还有一种命名法比较流行,就是以下划线“_”来连接所有的单词,比如 get_url buffer_size
3. 基本数据类型
- 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
3.1整数和小数
- 整数:所有整数,int类型,有无穷多,注意计算机有最大值,一般不用考虑
- 小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float类型表示,
- 0.1 0.000110011001100…
- 所以float型运算时,会出现近似结果的值,如 :0.01+0.09=0.999999…,有些也是正常的,0.1+0.9=1.0
3.2 布尔
- 布尔: 只有2个值一个是True,一个是False,注意大小写
- 布尔值常量是做逻辑判断
- 布尔值也属于特殊的整型,True 相当于1,False 相当于0
- 1+ True 等 于 2 2+ False 等于 2
- while 1: pass 没毛病
- None常量:只有一个数值就是None 也就是空值
3.3 变量
3.3.1变量的概念
- 变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字。
- 对数据进行操作时,需要将这个值放到内存中某个区域时,需要定义变量或常量
- 变量命名规则
- 变量名由字⺟、数字、下划线组成要符合标识符的命名规范
- 数字不能开头
- 不能使用关键字
- 注意 : 是两个对象相等和两个对象是同一个对象是两个概念(特殊的是字典)
- 通过id来区分对象
s1 = {'老萝卜':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'老萝卜': 'Python'}
print(id(s1),id(s2))
print(s1==s2)
3.3.2 变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型
3.4 字符串
3.4.1. 什么是字符串
- 字符串是由数字、字母、下划线组成的一串字符,通常以串的整体做为操作对象
- 注意
- 单引号和双引号不能混合使用
- Python中用一对双引号或者一对单引号包裹的内容就是字符串
3.4.2 转义字符
- 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 总结
- \t 表示制表符
- \n 表示换行符
- \ 表示反斜杠
- ’ 表示 ’
- \ ‘’ 表示 ‘’
- r +str 表示是一个原始字符串(单双引号注意),正则表述式除外
3.4.3 长字符串
- 长字符串:又叫做文档字符串,我们使用三重引号来表示一个长字符串’’’ ‘’’
- 三重引号可以换行,并且会保留字符串中的格式
3.4.5 格式化字符串
- 第-种格式化字符串:拼串
- 第二种格式化字符串:参数传递
- 第三种格式化字符串:占位符
- %s 字符串占位
- %f 浮点数占位
- %d 整数占位
- 第四种格式化字符串: f’{变量}’ / str.format
# 第一种:字符串拼接,如拼接url url= "http://" + "www.baidu.com"
s = "hello"
print(s)
print("s = " + s)
# 第二种:参数传递
print("abc", 123)
print("s = ", s)
# 第三种:占位符
# %s 字符串占位 # %f 浮点数占位 # %d 整数占位
print("s = %s" % "hello")
print("s = %s" % s)
print("s = %s,s2 = %s" % (s, "world"))
print("Pi = %f" % 3.1415926)
print("R = %d" % 2)
print("%s S=Pi * R^2=%f * %d^2= %f" % ("圆的面积", 3.14, 2, 3.14 * 2 * 2))
# 第四种:格式化字符串 f+str({变量1},{变量2}......) 与 r+string 差不多
s1 = "光头强"
s2 = "熊大"
s3 = f"hello {s1},{s2}"
print("s3 = ", s3)
s4 = "hello {},{}".format(s1, s2)
s5 = "hello {1},{0}"
s6 = s4.format(s1,s2)
print("s4 = ", s4,"s6 = ",s6)
- 总结:
- 在项目开发中,根据实际情况,
- 如果替换的字符串是变量,就用“f+str”
- 如果替换的字符串不是变量,就用替换符 或 format
- 哪一种符合要求就用哪一种
- 以上仅是建议,满足要求即可
3.4.6 字符串的其它操作
len() 字符串的长度
print(len("I love you,中国")) # 13
print(len("中国")) # 2
max() 最大值
min() 最小值
s = "abcdexyzABCDEXYZ"
print(max(s),min(s)) # z A
split() : 分割字符串,分割之后会把结果返回到一个列表里面
"I love china".split(" ") # ['I', 'love', 'china']
s = "www.baidu.com"
print(s.split(".")) # ['www', 'baidu', 'com']
print(s.split("bai")) # ['www.', 'du.com']
print("I..love....you".split(".")) # ['I', '', 'love', '', '', '', 'you']
print("I..love....you".split(".o")) # ['I..love....you']
join() :拼接字符串,格式:str.join(seq)
+ str --->拼接的方式
+ seq --->序列的内容,必须是字符串
list1 = ["1","","2","三"]
print(".".join(list1)) # "1..2.三"
str1= "123"
print(" - ".join(str1)) # "1 - 2 - 3"
去空格
s.strip() :左右两边都去空格
s.lstrip() :去左边空格
s.rstrip() :去右边空格
print(" python ".strip()) #python
print("_"+" python 1235 ".strip() + "_") # _python 1235_
print("_"+" python 1235 ".lstrip() + "_") # _python 1235 _
print("_"+" python 1235 ".rstrip() + "_") # _ python 1235_
n
字符串大小写
s.upper() :全部大写
s.lower() :全部小写
s.isupper() :判断是不是大写 (全部大写,才是真)
s.islower() :判断是不是小写(全部小写,才是真)
a = "I LOVE china"
print(a.upper()) # I LOVE CHINA
print(a.lower()) # i love China
b= "I LOVE CHINA"
c= "i love china"
print("I LOVE china".isupper()) # False
print("I LOVE CHINA".isupper()) # True
print("i love china".isupper()) # False
print("I LOVE china".islower()) # False
print("I LOVE CHINA".islower()) # False
print("i love china".islower()) # True
in : 判断一个字符串是否在别一个字符串中,如果在,返回 True,否则返回 False
print("abc" in "aabcddeeadbdac") # True
print("abc" in "aabbccddeeadbdac") # False
ord(字符) : 返回字符的ASCII值 ,有些特殊情况注意:ord(r"")和ord("")报错,只能用ord("\")
print(ord("y"),ord(" "),ord("\n"),ord("\t"),ord("/"),ord("\\")) # 121 32 10 9 47 92
数字字母判断
isalnum() :检测字符串中是否由“字母和数字”组成
- python (3.6.4):如果字符串中的所有字符是字母数字返回True,否则返回False
print("abc123".isalnum()) # True
print("abc".isalnum()) # True
print("123".isalnum()) # True
print("-123".isalnum()) # False
print("+123".isalnum()) # False
print("".isalnum()) # False
isalpha():检测字符串中是否由“字母”组成
如果字符串中的所有字符都是字母并且至少包含一个字符,则返回true,否则返回false。
print("abc".isalpha()) # True
print("ABC".isalpha()) # True
print("abc123".isalpha()) # False
print("abc!".isalpha()) # False
print("abc_".isalpha()) # False
print("".isalpha()) # False
isdecimal():检测字符串中是否由“数字”组成
如果字符串中的所有字符均为十进制字符且至少包含一个字符,则返回true,否则返回false。
print("abc".isalpha()) # True
print("ABC".isalpha()) # True
print("abc123".isalpha()) # False
print("abc!".isalpha()) # False
print("abc_".isalpha()) # False
print("".isalpha()) # False
isnumeric():检测字符串中是否由“数字”组成
如果字符串中的所有字符均为数字字符,并且至少包含一个字符,则返回true,否则返回false
print("123".isnumeric()) # True
print("-123".isnumeric()) # False
print("+123".isnumeric()) # False
print("123abc".isnumeric()) # False
print("".isnumeric()) # False