1.基础数据类型
1.1 数字 int :主要用于计算
1.2 布尔值 bool :布尔值就两种(True 真 1 ,False 假 0 )就是判断反应条件的正确与否。
1.3 字符串 str :通俗的话来说就是引号引起来的就是内容:a = '内容'
2. 格式化输出
现在有一需求,问用户的姓名、年龄、工作、爱好,然后打印成以下格式
------------ info of Alex Li ----------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end -----------------
有两种方法:
第一种采用占位符 %占位符【%s:字符串形式】【%d:数字形式】
你只需要把需要打印的格式先准备好,由于里面的信息是需要用户输入的,所以你没办法预知,因此可以先放个位置占位符,再把字符串里的占位符与外部变量做个映射关系就好了
mingpian = ''' ------------ info of %s ----------- Name : %s Age : %d job : %s Hobbie: %s ------------- end ----------------- '''%( '张帅','张帅',56,'农民工','钱') #在里面添加你需要的信息 ***有几个未知数就填几个信息 print(mingpian)
或
name = input('姓名') age = int(input('年龄')) job = input('工作') Hobbie = input('爱好') info = ''' ------------ info of %s ----------- Name : %s Age : %s job : %s Hobbie: %s ------------- end ----------------- ''' %(name , name , age , job , Hobbie) #这行的%就是把前面的字符串与括号后面的变量关联起来 # 第一行的%s就是一个占位符,它代表的是 name #三个引号引起来的功能很强大,它可以表示注释,如果前面有类似“info”的就代表文本,且是换行的文本@@@@ 在这样的文本中不能在注释了@@@@ print(info)
###除了%s代表字符串占位符,还有%d,他是数字占位符,如果把上面age后面的换成%d,就代表只能输入数字了
### input 接收的所有输入都默认为字符串格式想要转换成数字 可以 age = int(input(‘年龄’))
msg = "我是%s,年龄%d,目前学习进度为80%" print(msg) %('金鑫',18)
###注意80%中的% 不是占位符,那该怎样向python解释器解释这是一个单纯的% 而不是占位符呢
答:在80%后面再加一个% 即: 80%%
第二种方法:采用字典(dic)
dic(字典) = { 'name':'老男孩', 'age':56, 'job':'老板','hobbie':'钱'} mingpian = ''' ------------ info of %(name)s ----------- Name : %(name)s Age : %(age)d job : %(job)s Hobbie: %(hobbie)s ------------- end ----------------- '''%dic print(mingpian) 得到的结果是 ------------ info of 老男孩 ----------- Name : 老男孩 Age : 56 job : 老板 Hobbie: 钱 ------------- end -----------------
3.基本运算符
3.1 算术运算
设 : a = 10 ,b = 20
3.2比较运算
设: a = 10 ,b = 20
一个等号“=”是赋值;两个等号“==”是比较【比较是否相等】
3.3逻辑运算
3.3.1 逻辑运算符
1)第一种情况:逻辑运算符前后都是比较运算。
#优先级概念:()> not > and > or ,同一优先级从左向右依次计算。
2)第二种情况 逻辑运算符前后都是数字
#【or】:X or Y 若X为真,则输出X。 若X为假,则输出Y 【and】相反 或1得1,与0得0
#数字与bool之间的转换
int---> bool 为零为True ,else为False。
bool---> int True为1
【思考题】:
print(2>1 and 4 or 5) 为多少
计算
3.3.2
在python中输入 : bool(除0以外的任意数字) 都会得 True 真
bool(0) 会得 False 假
so:
并得出总结:或1得1,与0得0 (这里的“1”与“0”是真假的意思)
3.3.3 数字与bool值的转化
数字 转 bool 非零的即为真
bool 转 数字 真为1 True 假为0 False
4.ascii unicode gbk
每个计算机都有一个密码本 【密码本:二进制与字符的对照表】
在计算机诞生之初 就有 ascii (初级密码本) 包含内容 :特殊字符,数字,字母。
0000 0001 8位 == 1 字节 1 字节表示一个字符。
【8位中的第一位是预留位,都是0】
字符:组成内容的最小单元。
例如:asd :“a”“b”“c”就是组成“abc”的最小单元
中国:“中”或“国”字就是组成“中国”的最小单元
万国码:unicode
创建初期 16 位 即 两个字节表示一个字符
a : 0000 0000 0000 0001
中 :0110 1000 0010 0000
升级: 32 位 即四个字节表示一个字符
a : 0000 0000 0000 0000 0000 0000 0000 0001
中:1010 1000 1010 1010 1111 0000 0000 1001
这样会造成资源的浪费
对unicode升级 : utf-8。
utf-8:最少用8位数表示一个字符
a:0000 0001 (字母用1个字节表示)
欧洲文字: 0000 0000 0000 0001 (用两个字符表示)
亚洲文字(中):0000 0000 0000 0000 0000 0001 (用三个字符表示)
中国针对unicode进行改良 : gbk(国家标准)与utf-8 完全没有关系
a :0000 0001 (字母用一个字节表示)
中:0000 0000 0000 0001 (用两个字符表示)
8 位 (bit) = 1 字节 (byte)
1024 byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1TB