写一个Python程序
print() 打印:打印到屏幕
变量 运算过程中产生的中间值,存储起来便于下一步运算使用
a = 1
起了一个变量名 a
有个值 1
将值赋给变量名 =
命名规范
只能包含字母、数字、下划线
不能以数字开头,更不能是纯数字
不能使用Python中的关键字
不能使用中文和拼音
区分大小写
变量名要具有意义,易分辨
推荐写法
驼峰体:首字母大写
下划线(官方推荐):alex_age = 98
常量
Python中没有真正的常量,约定变量名全部是大写的变量叫常量。
Top~~
二, 注释
给一些不太能够理解的内容写一个描述 -- 增加程序的可读性
单行注释 : # 注释内容,只能注释一行,不能换行
多行注释 :"""注释内容'""' '''注释内容'''
注释后的代码是不执行的
Top~~
三, 基础数据类型初始
字符串str
整型int
布尔值bool True(真) => 1,False(假) => 0
浮点数float
列表list
元组
字典
集合
Top~~
四, 用户输入input
temp = input(提示语句) 显示提示语句(可以是数字)并要求用户输入一个值
python3版本中input获取到的全部都是字符串
拓展:import getpass 密码输入不可见
psd = getpass.getpass("请输入密码:")
Top~~
五, 格式化输出
%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="要结婚了")) # 指名道姓填充
Top~~
六, 基础运算符
赋值运算符
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
Top~~
七, 编码
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():解码