python缩进
python没有所谓的大括号来分段,相同的缩进就是同一级的.
注释
-
机器不去解释注释的内容
-
注释一般用自然语言书写
-
注释的写法:
行注释:以#开头可以单独一行,也可以在某行代码后面书写
块注释:好几行的代码,用三个连续的但应好或者双引号开始和结束,中间任何内容机器都会忽略 -
注释原则:
恰当 不是越多越好 复杂算法 不容易看懂的代码
变量
- 变量就是一个可以重复使用的量,或者一个代号
- 变量的命名规则:
- 变量名可以包含数字,大小写字母,下划线或者更多,但是不推荐使用除了前三种之外的符号
- 数字不可以开头
- 4man, 5for 是不可以的
- man3,for5是可以的
- 一般在python中,以下划线开头的变量由特殊含义,不建议使用
- 大小写不一样,不是同一个变量,大小写敏感
- Forman和forman是两个不同的变量
- 推荐
- 使用具有固定含义的英文单词或者缩写,srv=server、skt=scoket,一般以posix命名规则为主,坚决不能使用汉语拼音来命名
- 驼峰命名法
- 大驼峰:名称以单词自动连接,每一个单词第一字母均大写
- InsertById、MyFirstLove
- 小驼峰:名称一单词自动链接,第一个单词小写,其他单词各死一个字母大写
- insertById、myFirstLove
- posix写法:多个单词以下划线连接,单词全部小写
- insert_by_id、first_var
- 大驼峰:名称以单词自动连接,每一个单词第一字母均大写
- 保留字和关键字
- 变量名必须避开,不能跟关键字和保留字重复
- 系统打印关键字方法
声明变量
- python声明变量不需要提前声明变量的类型,象
int age;这是Java中声明变量,python中直接使用
name = "奥特曼"
var1 = var2 = var3 = var4 = 5
var1,var2,var3 = 1,2,3
变量类型
- 严格意义上讲,python只有一种类型
- 标准数据类型有六种
- 数字Number
- 字符串string
- 列表list
- 元组tuple
- 字典dict
- 集合set
数字Number
- python中数字没有大小限制
常见数字分类
- 整数
- 没有小数部分,包含正数,负数,0
- 二进制
-
只有0和1
-
以0b开头的01字符串
-
例如:
- 0b110
- 0b11110
-
- 八进制
- 以0o开头的0-7之间的数字组成
- 例如:
- 0o71
- 0o71
- 十六进制
- 以0x开头,0-9、a-f组成的串
- 例如:
- 0xffff
- 0x53f2
- 浮点数
- 就是小数
- 常见格式
- 3.14159
- 3.
- 0.4
- .4
- 科学计数法
- 定义和数学上一样
- 写法就是e后面跟整数用来表示10的几次方
- 复数complex
- 与数学定义一样
- 附属的虚部用j/J表示
- 例如:
- 5+4j
- 4j
- 布尔值
- 就是用来表示真假的值
- 只有两个值:True/False
- 在python中布尔值可以用来当数字使用
- 布尔值当数字:True=1,False=0
- 数字当布尔值:0=False,其余的数当作True
字符串
- 表达文字信息的内容,比如“我是爱新觉罗”
- 形式上一般是引号引起来的一段内容
- 引号包括:
- 单引号
- 双引号
- 三引号,可以用来表示多行信息
- 单双引号含义一致
转义字符
- 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
字符串格式化
- 在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
>>>
我叫 小明 今年 10 岁!
字符 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
format格式化
- 使用format函数对字符串进行格式化
s = "{} {}"
print(s.format("hello","world"))
ss = "{} {}".format("hello", "world")
print(ss)
sss = "{1} {0}".format("hello", "world")
print(sss)
>>>
hello world
hello world
world hello
# 使用命名参数
s = "我是{name},今年{age}岁."
s = s.format(name="叶晨",age="18")
print(s)
>>>
我是叶晨,今年18岁。
# 通过字典设置参数,需要解包
s = "我是{name},今年{age}岁."
s_dict = {"name":"叶晨", "age":"19"}
s = s.format(**s_dict)# ** 这是解包操作
print(s)
>>>
我是叶晨,今年19岁。
str内建函数
capitalize() | 将字符串的第一个字符转换为大写 |
---|---|
bytes.decode(encoding=“utf-8”, errors=“strict”) | Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 |
encode(encoding=‘UTF-8’,errors=‘strict’) | 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’ |
endswith(suffix, beg=0, end=len(string)) | 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
find(str, beg=0, end=len(string)) | 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False |
isdigit() | 如果字符串只包含数字则返回 True 否则返回 False… |
islower() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
isnumeric() | 如果字符串中只包含数字字符,则返回 True,否则返回 False |
isspace() | 如果字符串中只包含空白,则返回 True,否则返回 False. |
isupper() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
join(seq) | 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
len(string) | 返回字符串长度 |
lower() | 转换字符串中所有大写字符为小写. |
replace(old, new [, max]) | 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。 |
upper() | 转换字符串中的小写字母为大写 |
isdecimal() | 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 |
None类型
- 表示没有,通常用来占位
- 比如返回,用来表示返回一个空