一, 认识一下Python
-
写一个Python程序
print() 打印:打印到屏幕
-
变量 运算过程中产生的中间值,存储起来便于下一步运算使用
- a = 1
- 起了一个变量名 a
- 有个值 1
- 将值赋给变量名 =
- 命名规范
- 只能包含字母、数字、下划线
- 不能以数字开头,更不能是纯数字
- 不能使用Python中的关键字
- 不能使用中文和拼音
- 区分大小写
- 变量名要具有意义,易分辨
- 推荐写法
- 驼峰体:首字母大写
- 下划线(官方推荐):alex_age = 98
- a = 1
-
常量
Python中没有真正的常量,约定变量名全部是大写的变量叫常量。
二, 注释
给一些不太能够理解的内容写一个描述 -- 增加程序的可读性
- 单行注释 : # 注释内容,只能注释一行,不能换行
- 多行注释 :"""注释内容'""' '''注释内容'''
- 注释后的代码是不执行的
三, 基础数据类型初始
-
字符串str
-
整型int
-
布尔值bool True(真) => 1,False(假) => 0
-
浮点数float
-
列表list
-
元组
-
字典
-
集合
四, 用户输入input
temp = input(提示语句) 显示提示语句(可以是数字)并要求用户输入一个值
- python3版本中input获取到的全部都是字符串
- 拓展:import getpass 密码输入不可见
psd = getpass.getpass("请输入密码:")
五, 格式化输出
-
%s 字符串占位
name = input("Name:") age = input("Age:") job = input("Job:") hobby = input("Hobbie:") info = ''' ------------ info of %s ----------- #这⾥的每个%s就是⼀个占位符,本⾏的代表 后⾯拓号⾥的 name Name : %s #代表 name Age : %s #代表 age job : %s #代表 job Hobbie: %s #代表 hobbie ------------- end ----------------- ''' % (name,name,age,job,hobbie) # 这⾏的 % 号就是 把前⾯的字符串 与拓号 后⾯的 变量 关联起来 print(info)
- 字符串格式化的时候,占的数量和填充的数量要一致
- %% -- 转义,把占位转换成普通的%,当字符串中存在%占位时,必须用%%对%进行转义,才能得到普通的%
-
%d / %i 整型占位
占整型的位置,对应的填充必须是整型
-
f-strings格式化输出
-
python3.6后加入标准库的格式化输出新的写法
-
不区分大小写,f,F都可以
-
可以加入表达式
s1 = 'haha' s = f'python{s1.upper()}' l1 = ['小明', 18, 175] s2 = f'我的名字{l1[0]},我的年龄{l1[1]},我的身高{l1[2]}'
-
可以结合函数
def func(a,b): return a + b s1 = f'最终的结果{func(1,3)}'
-
不能放一些特殊的字符: :冒号 ;分号 !感叹号 ,逗号 等
-
-
format
name = "alex{}wusir{}" print(name.format("结婚了","要结婚了")) # 按照位置顺序填充 name = "alex{1}wusir{0}" # 按照索引位置填充 print(name.format("结婚了","要结婚了")) name = "alex{a}wusir{b}" print(name.format(a="结婚了",b="要结婚了")) # 指名道姓填充
六, 基础运算符
-
赋值运算符
a = 1 a += 1 # a = a + 1 a -= 1 # a = a - 1 a *= 1 # a = a * 1 a /= 1 # a = a / 1 a //= 1 # a = a// 1 a **= 1 # a = a ** 1 a %= 1 # a = a % 1
-
算术运算符
- 加 +
- 减 -
- 乘 *
- 除 /
- 整除(地板除) //
- 幂运算 **
- 取余 %
-
逻辑运算符
-
not 非,非真即假,非假即真
-
and 与,并且,两边都为真的时候才是真
print(1 and 9) # and 两边都是真的时候取and后面的内容 print(False and 0) # 两边都是假的时候取and前面的内容
-
or 或,或者,有一边为真就是真
print(1 or 2) # or 两边都为真的时候取or前面的内容 print(1>2 or 2) # 有一边为真的时候返回真的内容 print(0 or 2>3) # 两边都为假的时候取or后面的内容
-
运算顺序
() > not > and > or
-
-
比较运算符
== != > >= < <=
-
成员运算符
-
in 可以判断xxx字符串是否出现在xxxxx字符串中
-
not in
a = "abc" print("a" in a) # True print("A" in a) # False print("a" not in a) # False
-
-
身份运算符
-
is 判断是不是同一个值,指向同一个虚拟内存
-
is not
-
七, 编码
-
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字⺟的⼀套电脑编码系统,主要⽤于显示现代英语和其他⻄欧语⾔,其最多只能⽤ 8 位bit来表示(⼀个字节Byte),即:2**8=256,所以,ASCII码最多只能表示 256 个符号。
-
GBK, 国标码占⽤2个字节. 对应ASCII码GBK直接兼容. 因为计算机底层是⽤英⽂写的. 你不⽀持英⽂肯定不⾏. ⽽英⽂已经使⽤了ASCII码. 所以GBK要兼容ASCII.
-
Unicode,万国码,英文占2个字节,中文占4个字节
-
UTF-8: 每个字符最少占8位. 每个字符占⽤的字节数不定.根据⽂字内容进⾏具体编码. 是⽬前使⽤频率最⾼的⼀种编码。英文占1个字节,欧洲文字占2个字节,亚洲文字占3个字节。
-
单位转换
8bit = 1Byte
1024Byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB -
编码进阶
-
python3内存使用的是unicode
-
python2内存使用的是ascii*
-
用什么编码就用什么解码
-
encode():编码
-
decode():解码