Python基础(二)

一、格式化输出

------------ info of 张三 -----------
Name : 张三
Age : 22
job : IT
------------- end -----------------

1、第一种写法

name = input("Name:")
age = input("Age:")
job = input("Job:")

msg = '''
------------ info of %s --------------- # %s代表一个占位符
Name : %s    #代表name
Age :  %s    #代表age
Job :  %s    #代表job
------------- end -----------------
''' % (name,name,age,job) # % 号把前面的字符串与后面变量关联起来
print(msg)

注:%s字符串的占位      %d 数字的占位     %f 浮点数        字符串 %(数据)

2、第二种写法

name = input("Name:")
age = input("Age:")
job = input("Job:")

msg = '''
------------ msg of %s  -----------
Name : {name}
Age :  {age}
Job :  {job}
------------- end -----------------
'''
print(msg)

注:必须是python3.5以上版本才可以使用

int(str)  #字符串转换成int                    str(int)  #int转换成字符串

二、基本运算符

1、算数运算

2、比较运算

3、逻辑运算

and    并且, 左右两端同时为真, 结果才能是真.
or 或者, 左右两端有一个是真, 结果就是真
not 非, 非真即假, 非假即真

优先级:      () > not > and > or

4、赋值运算

a=10,b=20

5、成员运算

in     是否在xxx里面
content = input("请输入你的评论")
if "张三" in content or '李四' in content:
print('你输入的内容不合法')
else:
print("评论成功")
not in  是否不在xxx里面

 三、基本数据类型

1、int ==> 整数

        在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型,在python3中不存在long类型

2、str ==> 字符串

        字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的

在python中,凡是用引号引起来的数据都是字符串
单引号,双引号,三引号引起来没有任何区别
name = '张三'
name = "张三"
name = '''张三'''

①切片、索引

索引:索引就是下标,下标从0开始

s = "hello"

# 从索引0开始取完字符串中每一个字符
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])

切片:

字符串[start:end] 从start到end拿到数据 ,end取不到
字符串[start:end:step] 从start到end拿数据,每step个拿出来一个

step:   + 左到右     - 右到左

s = "Java,Python,Php,C++"
print(s[2:11:2])  #从第二个开始取,取到11,每两个取一个
print(s[:4])       # Java  从开始切
print(s[4:])       #  从4切到结束
print(s[:])        # 从头切到尾

②字符串的操作

upper()      转化成大写. 在忽略大小写的时候
###用户名密码登录应用场景###
verify_code = "Axbn" 
uv_code = input(f"请输入验证码{verify_code}:")
if verify_code.upper() == uv_code.upper():  # 忽略大小写
     print("验证码正确")
else:
     print("验证码错误")
strip()      默认去掉左右两端的空白
###用户输入密码应用场景###
uname = input("请输入用户名:").strip() # 用户输入的内容一定要过滤掉左右两边的空白
upwd = input("请输入密码:").strip()
if uname == "alex" and upwd == "123":
    print("登录成功")
else:
    print("登录失败")
replace()    字符串的替换
msg = input("请输入你的信息:")
if "黄赌毒" in msg:
    msg = msg.replace("黄赌毒", "***")
print(msg)
split()      字符串切割, 结果是列表
s = "Hello Word Im superman"
res = s.split() # 默认用空白切割
print(res) 
startswith() 判断是否以xxx开头
s = "alex 特别喜欢他的特斯拉"
print(s.startswith("alex")) # 判断是否以alex开头
print(s.endswith("特斯拉")) # 判断是否以特斯拉结尾
find()       查找字符串中xxx字符的位置. 如果找不到返回-1
s = "Hello Word"
print(s.find("z")) # 返回索引, 如果没有, 返回-1
len()        内置函数,字符串长度
s = "Hello Word"
print(len(s)) # len叫内置函数.和print一样

3、bool==>判断真假: True, False

bool=>int       int(bool) True是1, False是0
str => bool     bool(str) 空字符串串是False, 不空是True
bool => str     str(bool) 把bool值转换成相应的""

4、list==> 存储大量数据:用[ ]表示

和字符串差不多. 也具有索引和切片

①增

append()        追加,添加在列表的末尾

l = ["张三", "李四"] 
l.append("刘能")
print(l)  #列表是可以发生改变的

insert()          插入,在xxxx位置插入一个元素

l = ["张三", "李四"]
l.insert(1, "王五") #在索引1前面,也就是李四前面插入"王五"
print(l)

extend()       迭代新增,合并列表

l = ["张三", "李四"]
s1 = ["王五","赵六"]
l.extend(s1)
print(l)

②删

pop()             删除,指定索引删除,默认删除最后一个

l = ["张三", "李四","王五","赵六"]
l.pop()
print(l)

remove()       删除某个指定元素
del list[3]
clear()            清空列表

count()          计数

③改:使用索引去修改

l = ["abc", "李四","王五","赵六"]   #把ABC变大写
l[0] = l[0].upper()
print(l)

④查:直接用索引查找,使用for循环可以遍历列表

lst = ["abc", "李四","王五","赵六"]
for n in lst:
    print(n)

例题:让用户输入一个加法运算: 3+8+4+6+9 想办法完成数学运算

s = input("请输入一个加法运算:")
lst = s.split("+")
print(lst)

sum = 0
# 开始循环
for item in lst:
    sum += int(item)
print(sum)

5、tuple=> 元组:不可变列表,只读

适用场景:放一些不进行修改的数据,元组用()表示,空元组必须用tuple()来创建

注: 如果元组只有一个元素. 必须在末尾添加一个逗号

6、dict==> 字典:在存储数据的时候必须使用key:value的形式进行存储

注:key不可以重复,value没有要求,并且要求key必须可哈希-> 不可变(int, str, tuple, bool, float)

①增

直接用新key添加

dic = {}           # 空字典 dict()
dic["1"] = "张三"
dic["2"] = "李四"
dic["1"] = "王五"   # key 不可以重复. 会把数据覆盖掉

setdefault(key, value) 如果key存在, 不新增. 不存在, 新增. 最后都查询

dic = {} # 空字典 dict()

dic["1"] = "张三"
dic["2"] = "李四"
dic.setdefault("1","赵六")
dic.setdefault("3","赵六")
print(dic)

②删

1. pop(key)       #指定key删除
2. popitem()     #删除最后一个.
3. del dic[key]  #指定key删除
4. clear()           #清空字典

③改

dic[老key] = 新value

④查

get(key)      #使用key获取value
dic[key]      #查询, 如果key不存在. 会报错

循环:
for k in dic:
k
dic[k]

for k, v in dic.items():
print(k)
print(v)

7、set==> 集合:保存大量数据. 不可以重复. 其实就是不保存value的dict

类似dict存储,只放key,可哈希,不可变,不重复,无序 {}可以表示set集合
set() 创建空集合,帮助我们去除重复

①添加:add()

s = set()
s.add("张三")

②删除:remove()

s = set()
s.add("张三")
s.add("李四")
s.remove("张三")

③列表去重

lst = ["张三", "李四", "张三", "李四", '王五']
s = list(set(lst))
print(s)

④for循环

lst = ["张三", "李四", "张三", "李四", '王五']

new_lst = []
for item in lst:
  if item not in new_lst:
         new_lst.append(item)
print(new_lst)

 

posted @ 2019-03-31 22:44  闫新江  阅读(405)  评论(0编辑  收藏  举报