python编码与类型转换 | 基础一

· Special

1. 编码

二进制储存

同一个字符,每一种编码都生成单独的 二进制数据(10001001 )

1.2

读取也需要同一种编码去读取,否则乱码

gbk数据被gbk读取,utf-8数据被utf-8读取

python默认以utf-8打开文件

#更改默认编码
# -*- coding:gbk -*- 

全部以 utf-8编码和储存

1.3 输出

print('看着风景美如画',end=',')
print('本想吟诗增添下',end='.')

1.4 数据类型

数字 文本 真假

1.4.1 整形(int)

整数 ,整形支持加减乘除

10%3 1 余数

格式化代码,将代码书写格式优化

code-reformat code

1.4.2 字符串(str)

#文本  
print(‘我是alex’)

#如果由多重引号,需要单双引号混合 
print('我是"alex"')
print("""我是alex
123
123
""")

#如果内容种有三引号
print('''我是alex
的
"""二大爷"""
adada
adada
''')
print('alex'+'是金角大王')
print(3*"我想吃饺子")

1.4.3 布尔类型

True False

#正确比较
print(1==1)
print(1>2)

print(1='alex')

#错误比较
1>'alex'

2.4.4 类型转换

#字符串转整形
int('666')
#bool转整形
int(True) # 1
int(False) # 0

##整形转字符串
str(666)
##bool转字符串
str(True)

 
#整形转bool
bool(1) #True
bool(2) #True
bool(0) #False
#字符串转bool
bool('abc') #
bool('')
bool(' ')

2.5.1 变量

age=18
name='alex'

flag=1>2
number = 1==2

address='北京昌平'+'沙河'+name

1.5.2 内存变量指向

#两个变量指向同一个值
name='alex'
name2=name
#name2='alex'

#两个变量指向同一个值,前者更改,后者不跟随
name='alex'
name2=name
name=1
#name2='alex'

#格式化值 会指向新的内存位置
a=18
b=str(a)

2.6.1 注释

单行注释(‘ ’), 多行注释 (“”“ ”“”,类似字符串的多行)

快捷键 command+? control+?

2.7.1输入

2.8.1 条件语句

#多条件判断是否成立

name='alex'
password='123456'

if name=='alex' and password == '123456':
    print('登录成功')
else:
        print('登录失败')
        
        

if name=='alex' or user == 'wupeiqi':
    print('vip登录成功')
else:
        print('普通用户登录')
#数字中0为false 其他数字为true
data = 19%2 == 1

if data :
        print('19 是奇数')
else:
        print('19 不是奇数')
        

2.8.2 多条件判断

score=int(input("Enter your score: ").strip())

if score > 90:
    print("Your score is high")
elif score >= 80:
    print("Your score is middle-high")
elif score >= 70:
    print("Your score is middle-low")
elif score >= 60:
    print("Your score is low")
elif score >= 50:
    print("Your score is lower")

2.8.3 条件嵌套

import random

score_list=[]

i=0
while i<128:
    score=random.randint(1,100)

    if score>90:
        #print('A')
        score_list.append('A')
    elif score>80:
        #print('B')
        score_list.append('B')
    elif score>70:
        #print('C')
        score_list.append('C')
    elif score>60:
        #print('D')
        score_list.append('D')
    else:
        #print('F')
        score_list.append('F')
    i+=1

#print(score_list)
print('A',score_list.count('A'))
print('B',score_list.count('B'))
print('C',score_list.count('C'))
print('D',score_list.count('D'))
print('F',score_list.count('F'))

2.9.1练习题

print(
'''
文能提笔安天下,
武能上马定乾坤,
心存谋略何人胜,
古今英雄唯是君。
'''

python


评论