Python

python的基本知识

# 第一个注释
print("Hello,python!")
if False:
    print("Answer")
    print("True")
else:
    print("Answer")
    print("False")
word = '字符串';
print(word)
str = 'Runoob';
print(str)  # 输出字符串
print(str[0:-1])  #
print(str[0])  # 输出第一个字符
print(str[2:5])  # 第三个到第五个字符
print(str[2:])  # noob即第三个字符开始后的所有字符
print(str[1:5:2])  # 从第二个到第五个且每隔两个的字符
print(str * 2)  # 输出字符串两次
print(str + "你好")  # +连接字符串
print('-------------')
print('hello\nrunoob')  # \n换行
print(r'hello\nrunoob')  # 在字符串前加个r不会有任何变化,表示原始字符串
print('\n')
print(r'\n')
# 空行
# 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始
# input("\n\n按下enter键后退出")
# 同一行显示多条语句
print(1 + 2j);
# input("按下enter后退出")     # 不用\n也可以
import sys;

x = 'runoob';
sys.stdout.write(x + '\n')
import sys;

x = 'runoob';
sys.stdout.write(x + '\n')
pi = 3.141592653
print('%10.3f' % pi)
x = "a"
y = "b"
print(x)
print(y)
print(x, y)
print("---------")
print(x, end=" ")
print(y, end=" ")
import sys

print('-------Python import mode--------')
print('命令行参数为:')
for i in sys.argv:
    print(i)
    print('\n python 路径为', sys.path)
from sys import argv, path

print('------Python from ')
if True:
    print("Answer")
    print("True")
else:
    print("Answer")
    print("False")
x = "a"
y = "b"
print(x)
print(y)
print(x, y)
# 字符串
str = 'Hello word!'
print(str)
print(str[0:4])  #
print(str[2:5])  # 从第(n,m)即对应原式为(n+1,m+1)个中间的元素包含第n+1的元素不包含m+1的元素
# 列表
#           0       1    2      3       4
list1 = ['runoob', 786, 2.23, 'john', 870.2]
# 注意python虽然很简单单格式要求很重要,中间一定要有空格
tinylist = [123, 'jonh']
print(list1)
print(tinylist)
print(list1[0])  # list中的第一个元素。但下标是0————print(list[0])  # list中的第一个元素。但下标是0————
print(list1[1:3])  # 输出 [786, 2.23]即表示list中第二个元素到第四个元素但不包含第四个元素
# [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
print(list1[2: 3])  # 就是第三个元素到第三个元素——[2.23]
print(list1[1:])  # 表示第二个元素后到达末尾的所有元素  输出结果为[786, 2.23, 'john', 870.2]
print(list1 + tinylist)  # "+"表示连接符号————['runoob', 786, 2.23, 'john', 870.2, 123, 'jonh']
# 元组
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple)
print(tinytuple)
print(tuple[0])
print(tuple[1:3])
print(tuple[2:])
print(tuple * 2)
print(tuple + tinytuple)
# 元组和列表的区别,元组不能二次赋值相当于只读列表,内部元素用逗号隔开用()标识
tuple = ('runoob', 786, 2.23, 'john', 70.2)
list1 = ['runoob', 786, 2.23, 'john', 70.2]
# tuple[2]=1000  # 元组中是非法应用
list1[2] = 1000  # 列表中是合法应用 list[2]重新赋值['runoob', 786, 1000, 'john', 70.2]
print(list1)
del list1[2]  # del表示删除,删除list[2]即删除list中的第三个元素['runoob', 786, 'john', 70.2]
print(list1)
# 字典
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'}
print(dict)
print(dict['one'])
print(dict[2])
print(tinydict)
print(tinydict.values())  # value对应的值即是:后面的值   姓名:往往  那姓名就是keys,往往就是values
print(tinydict.keys())  # key 索引
dict1 = {}
dict1['one'] = "this is two"
print(dict1)
# 字典引例子
scores = {'语文': 89}
# 通过key访问value
print(scores["语文"])
# 2.为不存在的key赋值,增加key-values
scores['数学'] = 93
scores['生物'] = 5.7
scores.update({'化学': 16, '生物': 26})
print(scores)
# 删除字典中的key-values使用del语句
del scores['语文']
del scores['生物']
print(scores)
# 对存在key-values赋值
cars = {'BMW': 8.5, 'BEANS': 8.3, 'AUDI': 7.9}
print(cars)
cars['BEANS'] = 4.3
cars['AUDI'] = 3.8
print(cars)
# 判断是否含有指定的key可以是使用in或not in运算符,需要指出的是对于dict而言,in或not in都是基于key来判断的
print('AUDI' in cars)  # AUDI是cars里面的
print('BEANS' not in cars)  # BEANS 不是cars里面的
# clear()方法 ,对一个字典使用clear()方法改字典就会变成一个空字典
cars.clear()
print(cars)  # 输出结果为{}
# get()方法,就是根据key来获取value,与直接cars['']不同的是cars.get('')若果没有输出的是None 而cars['']不存在keys,则会报错
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print(cars.values())
print(cars.get('BMW'))  # 输出8.5
print(cars.get('PPP'))  # 输出None,因为不存在PPP这个key
# print(cars['PPP'])  # 输出结果为KeyError: 'PPP'
# update()方法更新原有数据,如果存在keys则进行重新赋值,如果不存在则加入新的keys并且进行赋值
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
cars.update({'BMW': 4.5, 'PPP': 9.3})
print(cars)  # 输出结果为{'BMW': 4.5, 'BENS': 8.3, 'AUDI': 7.9, 'PPP': 9.3}
# items()方法用于获取所有的key-values之后返回dict_items
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
ims = cars.items()
print(type(ims))  # 输出结果为<class 'dict_items'>
# keys()方法获取所有的key并返回dict_keys
kys = cars.keys();
print(type(kys))  # 输出结果为<class 'dict_keys'>
# value()方法
val = cars.values()
print(type(val))  # 输出结果为<class 'dict_values'>
# 转化成列表
print(list(val))  # 注意此时的list是一个函数名。不能个变量list重名否则会输出'list' object is not callable
# 返回第一个值
print(list(val)[0])
# pop()方法获取对应的值,并删除这个key-value对
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print(cars.pop('BMW'))  # 输出结果为7.9
print(cars)  # 输出结果为{'BMW': 8.5, 'BENS': 8.3}
# popitem()方法随机弹出一个字典中的key-value对,说是随即弹出一个key-value对,但是实际上字典中的popitem()方法总是弹出底层储存的最后一个key-value对
cars = {'AUDI': 7.9, 'BENS': 8.3, 'BMW': 8.5}
print(cars.popitem())  # ('BMW', 8.5)
k, v = cars.popitem()
print(k, v)  # 通过序列解包的方式用两个变量分别接受key,value的输出结果为 BENS 8.3
# setdefault()方法,当key-values对不存在时,会为不存在的key设置一个value,并且返回key-value
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print(cars.setdefault('PPP', 9.2))
print(cars)
print(cars.setdefault('BMW', 5.5))  # # 设置默认值,该key在dict中存在,不会修改dict内容,输出结果仍然为8.5
# fromkeys()方法,给定多个key创建子字典,key的默认值为None,当然也可以传入一个参数值作为默认的value
a_dict = dict.fromkeys(['a', 'b'])
print(a_dict)  # 输出结果为{'a': None, 'b': None}
b_dict = dict.fromkeys((13, 17))
print(b_dict)  # {13: None, 17: None}
c_dict = dict.fromkeys((13, 17), 'good')
print(c_dict)  # {13: 'good', 17: 'good'}
# 字符串模板中使用key
temp = '教程是: %(name)s, 价格是:%(price)s, 出版社是:%(publish)s'
book = {'name': 'Python基础教程', 'price': '159', 'publish': 'C语言中文网'}
print(temp % book)
# 当要修改book中的内容时,可直接重新赋值
book = {'name': 'C语言基础教程', 'price': '159', 'publish': 'C语言中文网'}
print(temp % book)
# python int()函数
# class int(x, base=10 )  这是int()方法的语法,x字符串或者数字,base表示进制数,默认十进制
# 若x为纯数字,则不能有base参数,否则报错,如果x是小数,则进行取整
# 若x为str,则base可省略
print(int())  # 不输入参数得到结果为0
print(int(3))  # 输出结果为3
print(int(3.5))  # 3
# print(int(3.4, base=16)) 报错  TypeError: int() can't convert non-string with explicit base
# print(int("9", 2))报错,2进制没有9,
print(int("9"))  # 9 默认十进制
print(int("1", 2))
# print(int("3.14", 8))  print(int("1.2"))都会报错因为str必须是整数
print(int('1001', 2))  # 1001才是2进制个格式并转化为十进制数字9
print(int("0xa", 16))  # >=16才允许入参为a,b,c……
print(int('12', base=16))  # 如果是带参数base的话,12要以字符串形式进行输入,12为16进制
print(int('0xa', base=16))  # 10
print("123", 8)  # 83,将123视为八进制数字,对应的十进制为83
# float()方法
# class float([x])  x为整数或字符串
print(float(12))  # 输出结果为12.0  x为整数类
print(float("123"))  # 输出结果为123.0,此时的x为字符串类型
# complex()方法
# class complex(real[,image]) real为int.(long),float或字符串类型,image为int,long,float
print(complex(1, 2))  # 输出结果为1+2j
print(complex(1))  # 输出结果为 1+0j
print(complex("1"))  # 当作字符串处理 ,输出结果为1+0j
print(complex("1+2j")) # 1+2j
# str()方法将对象 x 转换为字符串
s = 'RUn'
# print(str(s))  # 输出结果为RUn与print()相似,输出答案只针对单个字符串
dict = {'runnoob': 'runoob.cmo', 'geegole': 'geegole.com'}
# print(str(dict))  # 输出结果为"{'geegole', 'geegole.com', 'runnoob', 'runoob.cmo'}"
x = 7
print(eval('3*x'))
print(eval('pow(2,3)'))
# frozenset()方法  class frozenset([iterable])  iterable可迭代的对象,字典,元组,列表等等
a = frozenset(range(10))  # 返回一个冻结函数,冻结集合后不能在添加或删除任何元素
print(a)  # frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
b = frozenset('run')
print(b)
b = frozenset('runob')
print(b)  # frozenset()创建的不可变集合是随机创建的不是说固定这个
# 输出结果可以为frozenset({'o', 'r', 'b', 'u', 'n'})
# 或者frozenset({'o', 'b', 'n', 'u', 'r'})或frozenset({'n', 'b', 'o', 'r', 'u'})




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值